UA124408C2 - DECODER AND ENCODER, METHOD OF DECODING AND CODING OF VIDEO DATA, READABLE DATA MEDIA FOR PERFORMING DECODING AND CODING, AS WELL AS WELL - Google Patents

DECODER AND ENCODER, METHOD OF DECODING AND CODING OF VIDEO DATA, READABLE DATA MEDIA FOR PERFORMING DECODING AND CODING, AS WELL AS WELL Download PDF

Info

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
Application number
UAA201703792A
Other languages
Ukrainian (uk)
Inventor
Валері Георге
Бенджамін Бросс
Хайнер Кірххоффер
Детлеф МАРПЕ
Тунг Нгуєн
Маттіас Прайсс
Міша Зікманн
Ян ШТЕГЕМАНН
Томас Віганд
Original Assignee
ДЖ.І. ВІДІЕУ КЕМПРЕШН, ЛЛСі
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ДЖ.І. ВІДІЕУ КЕМПРЕШН, ЛЛСі filed Critical ДЖ.І. ВІДІЕУ КЕМПРЕШН, ЛЛСі
Publication of UA124408C2 publication Critical patent/UA124408C2/en

Links

Abstract

Описується декодер для декодування відеоданих з потоку даних, у який кодуються горизонтальні і вертикальні компоненти різниць векторів руху, з використанням бінаризацій горизонтальних і вертикальних компонентів, при цьому бінаризації зрівнюють усічений унарний код горизонтальних і вертикальних компонентів, відповідно, в першому інтервалі області горизонтальних і вертикальних компонентів нижче критичної величини, і комбінацію префікса у формі усіченого унарного коду для критичної величини і суфікса у формі експоненціального коду Голомба горизонтальних і вертикальних компонентів, відповідно, в другому інтервалі області горизонтальних і вертикальних компонентів включно і з перевищенням критичної величини, при цьому критична величина дорівнює двійці, а експоненціальний код Голомба має порядок одиниця. Ентропійний декодер сконфігурований для одержання для горизонтальних і вертикальних компонентів різниць векторів руху усіченого унарного коду з потоку даних з використанням адаптивного до контексту бінарного ентропійного декодування з точно одним контекстом на положення інформаційної величини усіченого унарного коду, який є спільним для горизонтальних і вертикальних компонентів різниць векторів руху, і експоненціального коду Голомба з використанням сталого рівноймовірного байпасного режиму для одержання результатів бінаризацій різниць векторів руху. Десимволізатор сконфігурований для дебінаризації результатів бінаризацій синтаксичних елементів різниці векторів руху для одержання цілих величин горизонтальних і вертикальних компонентів різниць векторів руху. Реконструктор сконфігурований для відновлення відеоданих на основі цілих величин горизонтальних і вертикальних компонентів різниць векторів руху.Describes a decoder for decoding video data from a data stream, which encodes horizontal and vertical components of motion vector differences, using binarizations of horizontal and vertical components, while binarizations equalize the truncated unary code of horizontal and vertical components, respectively, in the first interval of the horizontal and vertical components. below the critical value, and a combination of a prefix in the form of a truncated unary code for the critical value and a suffix in the form of an exponential Golomb code of horizontal and vertical components, respectively, in the second range of horizontal and vertical components inclusive and exceeding the critical value. , and the exponential Golomb code has the order of one. The entropy decoder is configured to obtain for horizontal and vertical components the differences of the motion vectors of the truncated unary code from the data stream using context-adaptive binary entropy decoding with exactly one context for the position of the information value of the truncated unary code, which is common for horizontal and vertical components. , and the exponential Golomb code using a constant equally probable bypass mode to obtain the results of binarizations of the differences of the motion vectors. The desymbolizer is configured to debinarize the results of binarizations of syntactic elements of the difference of motion vectors to obtain integer values of the horizontal and vertical components of the differences of the motion vectors. The reconstructor is configured to recover video data based on integer values of the horizontal and vertical components of the motion vector differences.

Description

контекстом на положення інформаційної величини усіченого унарного коду, який є спільним для горизонтальних і вертикальних компонентів різниць векторів руху, і експоненціального кодуthe context for the position of the information value of the truncated unary code, which is common to the horizontal and vertical components of the differences of the motion vectors, and the exponential code

Голомба з використанням сталого рівноймовірного байпасного режиму для одержання результатів бінаризацій різниць векторів руху. Десимволізатор сконфігурований для дебінаризації результатів бінаризацій синтаксичних елементів різниці векторів руху для одержання цілих величин горизонтальних і вертикальних компонентів різниць векторів руху.Golomb using a stable equiprobable bypass mode for obtaining the results of binarizations of the differences of motion vectors. The desymbolizer is configured to debinarize the results of binarizations of the syntactic elements of the motion vector difference to obtain integer values of the horizontal and vertical components of the motion vector differences.

Реконструктор сконфігурований для відновлення відеоданих на основі цілих величин горизонтальних і вертикальних компонентів різниць векторів руху.The reconstructor is configured to restore video data based on the integer values of the horizontal and vertical components of the differences of motion vectors.

Х сиУТаке чем я пейкирих боку, Бикнден нм ТИ я Б ру ст я В вер нка | Тнврягатой Н ЕЙ Мет у кадання тр «луг нт й Ше Коен: ЗИМИ рас еще сей кох пл рен ш- Е ! вотчини, Й ва Ні кн ї я мання Я хмийо па саджних! І ий У ай щ Х Іа ж ин п и ПО ж НН я МВ 0 ддщробенняннннннтнннтннтнотнтнняЯX siUTake chem i peikirih side, Biknden nm TI i Brust i V vernka | Tnvryagatoy N EY Met u kandaniya tr "lug nt y She Cohen: WINTER ras still sei koh pl ren sh- E ! patrimony, Y va Ni kn i i mannya I hmyyo pa sajnyh! I y U ay s Х Ia zh in p i PO zh NN i MV 0 ddshrobenninnnnnnntnnntnnntnotntnnya

Мі ШИ З ря хткЯ туту і Ж НН й вн й КО дкMi SHY Z rya htkYa tutu and Zh NN and vn and KO dk

Я: фі В Роза Й па 2 йI: fi V Roza Y pa 2 y

Я Н Н сипле сідитм! ї | : : ХАЙ вані ї му ї не рт пера првсисавх І і Й : і дня х вним і ПнI'm going to sit down! and | : : HAY vani yi mu yi ne rt pera prvsysawh I and Y : and day x vnim and Pn

Іереванкиці Й : параметр і Б АХ їси пЕОНКИ інший ідвнковаи ік ї підетренимі черах ВицоЕYerevantsitsi Y: the parameter and BAH eats PEONKI different іднковай и петреными черах VytsoE

НОЙ вин уки умі і рік Уіденх т ря Еш й Не частковим пот не щоNOAH vin uki umi and rik Uidenkh trya Ash y Not partial sweat nothing

ТУ ШИ нн а пи В КУ я Б детей, и ве : ОК зх дк ши : : х пи и и ЗЕ ке і рент ох спон ЗО ї ко Ко ЗаTU SHY nn a pi V KU i B detey, y ve : OK zh dk shi : : x pi i i ZE ke i rent oh spon ZO i ko Ko Za

Н Її даесвк і, КОМІ ТЯ х В і ЖК : | МНеТилсю їж ММ не ше : Н КН БІНЯКх і 3. Й й всткнний су бін М ї : : МБЛЖКТОЮ фен у У М КЕ декодно у іодевей 00000 ПИТ Ме ЩN Her daesvk i, WHO IS TY x V i ZK : | MNeTilsyu eat MM ne she : N KN BINYAKh and 3. Y and vstknny sub bin M i : : MBLZHKTOYU fen in U M KE decoden in iodevey 00000 PIT Me Sh

Коля ЕШЛІ ШО ШО 1 Дудкрнаняня я в Шо декана А т хх вчора емо сит пілижцієтKolya ASHLEY SHO SHO 1 Dudkrnanyanya i in Sho dean And t xx yesterday we sat pilizciet

БМ девучани Ок ПОХІДНИХ ще Не фе м нан ИИмиХ налиминBM girls OK DERIVATIVES still Ne fe m nan IImyH nalimyn

Фіг. 8Fig. 8

Представлений винахід стосується концепції ентропійного кодування для кодування відеоданих.The present invention relates to the concept of entropy coding for encoding video data.

В рівні техніки відомо багато відеокодеків. Загалом, ці кодеки зменшують кількість даних, необхідних для представлення відеоконтенту, тобто, вони стискають дані. В контексті кодування відеоданих, відомо, що стискання відеоданих переважно досягається послідовним застосуванням різних технологій кодування: для прогнозування змісту картинки використовується прогнозування з компенсацією руху. Вектори руху, визначені в прогнозуванні з компенсацією руху, а також залишок прогнозування піддаються ентропійному кодуванню без втрат. Для подальшого зменшення кількості даних, самі по собі вектори руху піддаються прогнозуванню так, що просто різниці векторів руху, які представляють їх залишок, повинні ентропійно кодуватися, В стандарті Н.264, наприклад, тільки що описана процедура застосовується для передачі інформації про різниці векторів руху. Зокрема, різниці векторів руху бінаризуються з одержанням рядків інформаційних величин, які відповідають комбінації усіченого унарного коду і, від певної критичної величини, експоненціального коду Голомба. Хоча інформаційні величини експоненціального коду Голомба легко кодуються з використанням рівноймовірного байпасного режиму з фіксованою ймовірністю 0,5, для перших інформаційних величин передбачаються декілька контекстів. Критична величина вибирається рівною дев'яти.Many video codecs are known in the prior art. In general, these codecs reduce the amount of data needed to represent video content, that is, they compress the data. In the context of video data coding, it is known that video data compression is mainly achieved by sequential application of different coding technologies: prediction with motion compensation is used to predict the content of the picture. The motion vectors defined in the motion-compensated prediction as well as the residual prediction are subjected to lossless entropy coding. To further reduce the amount of data, the motion vectors themselves are predictable so that simply the differences of the motion vectors, which represent their remainder, must be entropy coded. In the H.264 standard, for example, the procedure just described is used to transmit information about the differences of the motion vectors . In particular, the differences of motion vectors are binarized to obtain rows of information values that correspond to a combination of a truncated unary code and, from a certain critical value, an exponential Golomb code. Although the information quantities of an exponential Golomb code are easily encoded using an equiprobable bypass mode with a fixed probability of 0.5, several contexts are assumed for the first information quantities. The critical value is chosen equal to nine.

Відповідно, передбачається велика кількість контекстів для кодування різниць векторів руху.Accordingly, a large number of contexts are assumed for encoding the differences of motion vectors.

Однак, передбачення великої кількості контекстів не тільки підвищує складність кодування, але й може також негативно впливати на ефективність кодування: якщо до контексту звертаються занадто рідко, то адаптація ймовірності, тобто адаптація оцінки ймовірності, зв'язаної з відповідним контекстом, під час ентропійного кодування не є ефективною.However, predicting a large number of contexts not only increases the complexity of encoding, but can also negatively affect encoding efficiency: if a context is accessed too rarely, probability adaptation, i.e. adaptation of the probability estimate associated with the relevant context, during entropy encoding is not is effective.

Відповідно, непідходящі застосовувані оцінки ймовірності оцінюють реальну статистику символів. Більше того, якщо для певної інформаційної величини бінаризації передбачається декілька контекстів, то вибір серед них може потребувати перевірки значень сусідніх інформаційних величин/синтаксичних елементів, необхідність в яких може перешкоджати виконанню процесу декодування. З іншого боку, якщо надається занадто мала кількість контекстів, то інформаційні величини з сильно варійованою реальною статистикою символів групуються разом в одному контексті і, відповідно, оцінка ймовірності, зв'язана з такимAccordingly, the inappropriate probability estimates used estimate the true statistics of the characters. Moreover, if several contexts are assumed for a certain information quantity of binarization, then the choice among them may require checking the values of neighboring information quantities/syntactic elements, the necessity of which may prevent the decoding process. On the other hand, if too few contexts are provided, information quantities with highly varied real character statistics are grouped together in one context and, accordingly, the probability estimate associated with such

Зо контекстом, ефективно не кодує зв'язані з нею інформаційні величини. Існує постійна потреба у подальшому підвищенні ефективності ентропійного кодування різниць векторів руху.With the context, it does not effectively encode the information values associated with it. There is a constant need to further improve the efficiency of entropy coding of motion vector differences.

Відповідно, задачею представленого винаходу є надання такої концепції кодування.Accordingly, it is the object of the present invention to provide such a coding concept.

Ця задача вирішується об'єктом доданих незалежних пунктів формули винаходу.This task is solved by the object of the attached independent claims.

Основним відкриттям представленого винаходу є те, що ефективність ентропійного кодування різниць векторів руху може додатково підвищуватися шляхом зменшення критичної величини, до якої використовується усічений унарний код для бінаризації різниць векторів руху, до двох так, що існують просто два положення інформаційної величини усіченого унарного коду і якщо порядок одного використовується для експоненціального коду Голомба для бінаризації різниць векторів руху від критичної величини, і якщо, окрім того, точно один контекст передбачається для двох положень інформаційної величини усіченого унарного коду, відповідно, так, що вибір контексту на основі інформаційних величин або значень синтаксичного елемента сусідніх блоків зображення не потрібен і уникається занадто точна класифікація інформаційних величин у цих положеннях інформаційних величин відповідно до контекстів так, що адаптація ймовірності здійснюється належним чином, і якщо однакові контексти використовуються для горизонтальних і вертикальних компонентів, таким чином додатково послаблюючи негативні впливи занадто дрібного підрозбиття контексту.The main discovery of the presented invention is that the efficiency of the entropy coding of the differences of the motion vectors can be further increased by reducing the critical value to which the truncated unary code is used to binarize the differences of the motion vectors to two so that there are simply two positions of the information value of the truncated unary code and if order of one is used for the exponential Golomb code to binarize the differences of the motion vectors from the critical quantity, and if, in addition, exactly one context is assumed for the two positions of the information quantity of the truncated unary code, respectively, such that the choice of context based on the information quantities or syntactic element values adjacent blocks of the image is not needed and too accurate classification of the information quantities in these information quantity positions according to the contexts is avoided so that the adaptation of the probability is carried out properly and if the same contexts are used for horizontal and vertical components, thereby further mitigating the negative effects of too fine a context subdivision.

Окрім того, було виявлено, що тільки що згадані параметри стосовно ентропійного кодування різниць векторів руху особливо цінні при поєднанні їх з сучасними способами прогнозування векторів руху і зменшення необхідної кількості різниць векторів руху, які передаються. Наприклад, може передбачатися багато предикторів векторів руху для одержання упорядкованого списку предикторів векторів руху і індекс у цьому списку предикторів векторів руху може використовуватися для визначення реального предиктора вектора руху, залишок прогнозування якого представляється розглядуваною різницею векторів руху. Хоча інформація про використовуваний індекс списку повинна одержуватися з потоку даних на декодувальній стороні, загальна якість прогнозування векторів руху підвищується і, відповідно, величина різниць векторів руху додатково зменшується так, що, в цілому, ефективність кодування додатково збільшується і зменшення критичної величини та спільне використання контексту для горизонтальних і вертикальних компонентів різниць векторів руху узгоджуються з таким покращеним прогнозуванням векторів руху. З іншого боку, може застосовуватися злиття для бо зменшення кількості різниць векторів руху, які передаються в потоці даних: для цього,In addition, it was found that the parameters just mentioned regarding entropy coding of motion vector differences are especially valuable when combined with modern methods of motion vector prediction and reducing the required number of motion vector differences that are transmitted. For example, many motion vector predictors may be predicted to obtain an ordered list of motion vector predictors and an index in this list of motion vector predictors may be used to determine the actual motion vector predictor whose prediction residual is represented by the considered motion vector difference. Although the information about the list index used must be obtained from the data stream on the decoding side, the overall quality of the motion vector prediction is improved and, accordingly, the magnitude of the motion vector differences is further reduced so that, overall, the coding efficiency is further increased and the critical value reduction and context sharing are further reduced. for the horizontal and vertical components of the motion vector differences are consistent with such improved motion vector prediction. On the other hand, fusion can be applied to reduce the number of motion vector differences that are transmitted in the data stream: for this,

інформація про злиття може передаватися в потоці даних, який сигналізує декодувальним блокам про підрозбиття блоків, які групуються в групу блоків. Різниці векторів руху можуть потім передаватися в потоці даних в елементах цих об'єднаних груп замість окремих блоків, таким чином зменшуючи кількість різниць векторів руху, які повинні передаватися. Оскільки ця кластеризація блоків послаблює інтеркореляцію між різницями сусідніх векторів руху, то тільки що описана відмова від надання декількох контекстів для одного положення інформаційної величини перешкоджає схемі ентропійного кодування проводити занадто точну класифікацію згідно з контекстами в залежності від різниць сусідніх векторів руху. Скоріше концепція злиття вже використовує інтеркореляцію між різницями векторів руху сусідніх блоків і, відповідно, один контекст для одного положення інформаційної величини: однаковий контекст достатній для горизонтальних і вертикальних компонентів.the merging information may be transmitted in a data stream that signals the decoding units to subdivide blocks that are grouped into a group of blocks. The motion vector differences can then be transmitted in the data stream in elements of these combined groups instead of individual blocks, thus reducing the number of motion vector differences that must be transmitted. Since this clustering of blocks weakens the intercorrelation between the differences of neighboring motion vectors, the just-described refusal to provide multiple contexts for one position of the information value prevents the entropy coding scheme from performing too accurate classification according to contexts depending on the differences of neighboring motion vectors. Rather, the fusion concept already uses the intercorrelation between the differences of the motion vectors of neighboring blocks and, accordingly, one context for one position of the information quantity: the same context is sufficient for the horizontal and vertical components.

Переважні варіанти виконання даного винаходу описуються далі з посиланням на креслення, на якихPreferred embodiments of the present invention are described below with reference to the drawings, in which

Фіг. 1 зображає блок-схему кодера згідно з варіантом виконання;Fig. 1 shows a block diagram of an encoder according to an embodiment;

Фіг. 2а-2с схематично зображають різні підрозбиття масиву зразків, такого як підрозбиття картинки на блоки;Fig. 2a-2c schematically depict various subdivisions of an array of samples, such as subdivision of an image into blocks;

Фіг. З зображає блок-схему декодера згідно з варіантом виконання;Fig. C shows a block diagram of a decoder according to an embodiment;

Фіг. 4 детальніше зображає блок-схему кодера згідно з варіантом виконання;Fig. 4 shows in more detail a block diagram of an encoder according to an embodiment;

Фіг. 5 детальніше зображає блок-схему декодера згідно з варіантом виконання;Fig. 5 shows in more detail a block diagram of a decoder according to an embodiment;

Фіг. б схематично зображає перетворення блока з просторової області в спектральну область, одержуваний блок перетворення і його повторне перетворення;Fig. b schematically depicts the transformation of a block from the spatial domain into the spectral domain, the resulting transformation block and its re-transformation;

Фіг. 7 зображає блок-схему кодера згідно з варіантом виконання;Fig. 7 shows a block diagram of an encoder according to an embodiment;

Фі. 8 зображає блок-схему декодера, придатного для декодування потоку бітів, генерованого кодером з Фіг. 8, згідно з варіантом виконання;Fi. 8 shows a block diagram of a decoder suitable for decoding a bit stream generated by the encoder of FIG. 8, according to the implementation option;

Фіг. 9 зображає схематичну діаграму, яка показує пакет даних з мультиплексованими частковими потоками бітів згідно з варіантом виконання;Fig. 9 is a schematic diagram showing a data packet with multiplexed partial bit streams according to an embodiment;

Фіг. 10 зображає схематичну діаграму, яка показує пакет даних з альтернативною сегментацією, яка використовує сегменти фіксованого розміру, згідно з подальшим варіантом виконання;Fig. 10 is a schematic diagram showing a data packet with alternative segmentation that uses fixed size segments, according to a further embodiment;

Зо Фіг 11 зображає декодер, який використовує режим перемикання, згідно з варіантом виконання;11 shows a decoder using a switching mode, according to an embodiment;

Фіг. 12 зображає декодер, який використовує режим перемикання, згідно з подальшим варіантом виконання;Fig. 12 illustrates a decoder using a switching mode, according to a further embodiment;

Фіг. 13 зображає кодер, який підключається до декодера з Фігури. 11, згідно з варіантом виконання;Fig. 13 shows an encoder that connects to the decoder of FIG. 11, according to the implementation option;

Фіг. 14 зображає кодер, який підключається до декодера з Фіг. 12, згідно з варіантом виконання;Fig. 14 shows an encoder that connects to the decoder of FIG. 12, according to the implementation option;

Фіг. 15 зображає графічну залежність реїаїесіх і гшІСіхегатв/256;Fig. 15 shows the graphical dependence of the values and values of 256;

Фіг. 16 зображає декодер згідно з варіантом виконання представленого винаходу; іFig. 16 shows a decoder according to an embodiment of the present invention; and

Фіг. 17 зображає кодер згідно з варіантом виконання представленого винаходу.Fig. 17 shows an encoder according to an embodiment of the present invention.

Фіг. 18 схематично зображає бінаризацію різниці векторів руху згідно з варіантом виконання представленого винаходу.Fig. 18 schematically depicts the binarization of the difference of motion vectors according to an embodiment of the present invention.

Фіг. 19 схематично зображає концепцію злиття згідно з варіантом виконання; іFig. 19 schematically depicts the fusion concept according to an embodiment; and

Фіг. 20 схематично зображає схему прогнозування векторів руху згідно з варіантом виконання.Fig. 20 schematically depicts a scheme for predicting motion vectors according to an embodiment.

Відзначається, що, під час опису фігур, елементи, які з'являються на декількох з цих фігурах, позначені однаковим позиційним позначенням на кожній з них і повторний опис цих елементів настільки, наскільки це стосується функцій, уникається для уникнення непотрібних повторів. Тим не менше, функції і описи, надані для однієї фігури, повинні також застосовуватися до інших фігур, якщо чітко не вказано протилежне.It is noted that, when describing the figures, elements that appear in more than one of these figures are designated by the same positional designation in each of them and repeated description of these elements as far as functions are concerned is avoided to avoid unnecessary repetition. However, functions and descriptions given for one figure should also apply to other figures, unless clearly stated otherwise.

Далі, по-перше, описуються варіанти виконання загальної концепції кодування відеоданих стосовно Фіг. 1-10. Фіг. 1-6 належать до частини відеокодека, яка працює на синтаксичному рівні. Наступні фігури 8-10 належать до варіантів виконання для частини коду, яка належить до перетворення потоку синтаксичних елементів на потік даних і навпаки. Потім, спеціальні аспекти і варіанти виконання представленого винаходу описуються у формі можливих втілень загальної концепції, описаної щодо Фіг. 1-10.Next, firstly, variants of the implementation of the general concept of coding video data are described in relation to Figs. 1-10. Fig. 1-6 belong to the part of the video codec that works at the syntactic level. The following figures 8-10 belong to the implementation options for the part of the code that relates to the conversion of the flow of syntax elements to the flow of data and vice versa. Then, special aspects and embodiments of the present invention are described in the form of possible embodiments of the general concept described with respect to Figs. 1-10.

Фіг. 1 зображає приклад для кодера 10, у якому можуть втілюватися аспекти представленого винаходу.Fig. 1 depicts an example encoder 10 in which aspects of the present invention may be embodied.

Кодер кодує масив інформаційних зразків 20 з одержанням потоку даних. Масив бо інформаційних зразків може представляти інформаційні зразки, які відповідають, наприклад,The encoder encodes an array of information samples 20 to obtain a data stream. An array of information samples may represent information samples that correspond to, for example,

значенням світлоти, значенням кольору, значенням яскравості, значенням колірності або подібному. Однак, інформаційні зразки можуть також бути значеннями глибини у випадку масиву зразків 20, який є картою глибини, згенерованою, наприклад, часом датчика світла або подібним.brightness value, color value, brightness value, color value or similar. However, the information samples may also be depth values in the case of sample array 20, which is a depth map generated by, for example, light sensor timing or the like.

Кодер 10 є блочним кодером. Тобто, кодер 10 кодує масив зразків 20 з одержанням потоку даних 30 у формі елементів з блоків 40. Кодування в елементах з блоків 40 необов'язково означає, що кодер 10 кодує ці блоки 40 цілюом незалежно один від іншого. Скоріше, кодер 10 може використовувати відновлення попередньо кодованих блоків для екстраполяції або інтрапрогнозування решти блоків і може використовувати гранулярність блоків для визначення параметрів кодування, тобто, для визначення способу кодування кожної ділянки масиву зразків, яка відповідає відповідному блока.Encoder 10 is a block encoder. That is, encoder 10 encodes an array of samples 20 to obtain a data stream 30 in the form of elements from blocks 40. Encoding in elements from blocks 40 does not necessarily mean that encoder 10 encodes these blocks 40 independently of each other. Rather, the encoder 10 may use the recovery of pre-encoded blocks to extrapolate or intrapredict the remaining blocks and may use the granularity of the blocks to determine encoding parameters, ie, to determine how to encode each section of the sample array that corresponds to a corresponding block.

Окрім того, кодер 10 є перетворювальним кодером. Тобто, кодер 10 кодує блоки 40 шляхом використання перетворення для перенесення зразків інформації в кожному блоці 40 з просторової області вна спектральну область. Може використовуватися двовимірне перетворення, таке як ОСТ (дискретне косинусне перетворення) ЕЕТ (швидке перетворенняIn addition, encoder 10 is a transform encoder. That is, the encoder 10 encodes the blocks 40 by using a transformation to transfer samples of information in each block 40 from the spatial domain to the spectral domain. A two-dimensional transform such as OST (discrete cosine transform) EET (fast transform

Фур'є) або подібне. Переважно, блоки 40 мають квадратну форму або прямокутну форму.Fourier) or similar. Preferably, the blocks 40 are square or rectangular in shape.

Підрозбиття масиву зразків 20 на блоки 40, зображене на фіг, 1, просто служить для ілюстраційних цілей. Фіг. 1 зображає масив зразків 20, підрозбитий з одержанням стандартного двовимірного розташування квадратних або прямокутних блоків 40, які примикають один до іншого без налягання. Розмір блоків 40 може попередньо встановлюватися. Тобто, кодер 10 може не переносити інформацію про розмір блоків 40 в потоці даних 30 до декодувальної сторони. Наприклад, декодер може очікувати на наперед встановлений розмір блока.The subdivision of the array of samples 20 into blocks 40 shown in Fig. 1 is merely for illustrative purposes. Fig. 1 shows an array of samples 20 subdivided to produce a standard two-dimensional arrangement of square or rectangular blocks 40 that adjoin each other without overlapping. The size of blocks 40 can be pre-set. That is, the encoder 10 may not transfer information about the size of the blocks 40 in the data stream 30 to the decoding side. For example, the decoder may expect a predetermined block size.

Однак, можливі декілька альтернатив. Наприклад, блоки можуть налягати один на інший.However, several alternatives are possible. For example, blocks can overlap each other.

Налягання може, однак, обмежуватися до такої міри, що кожен блок має частину, на яку не налягає будь-який сусідній блок, або так, що на кожен зразок блоків налягає максимум один блок серед сусідніх блоків, розташованих суміжно з поточним блоком вздовж наперед встановленого напряму. Останнє повинно означати, що ліві і праві сусідні блоки можуть налягати на поточний блок для повного покривання поточного блока, але вони можуть не налягати один на інший і те ж саме застосовується для сусідніх блоків у вертикальному іThe overlap may, however, be limited to the extent that each block has a portion that is not overlapped by any adjacent block, or such that each block pattern is overlapped by at most one block among adjacent blocks adjacent to the current block along a preset directly The latter should mean that the left and right adjacent blocks can overlap the current block to completely cover the current block, but they may not overlap each other and the same applies for adjacent blocks in the vertical and

Зо діагональному напрямі.From the diagonal direction.

Як подальша альтернатива, підрозбиття масиву зразків 20 з одержанням блоків 40 може адаптуватися до контенту масиву зразків 20 кодером 10 за допомогою інформації про використовуване підрозбиття, яка переноситься до декодера потоком бітів 30.As a further alternative, the subdivision of sample array 20 to yield blocks 40 may be adapted to the content of sample array 20 by encoder 10 using information about the subdivision used, which is carried to decoder by bit stream 30 .

Фігури 2а-2с зображають різні приклади для підрозбиття масиву зразків 20 на блоки 40. Фіг. 2а зображає підрозбиття на основі квадрадерева масиву зразків 20 на блоки 40 різних розмірів, при цьому відповідні блоки позначені позиціями 40а, 40Б, 40с і 404 із зростаючим розміром.Figures 2a-2c show various examples for subdividing the array of samples 20 into blocks 40. Fig. 2a shows a quadtree-based subdivision of the array of samples 20 into blocks 40 of different sizes, with the corresponding blocks labeled as positions 40a, 40b, 40c, and 404 of increasing size.

Відповідно до підрозбиття з фіг. 2а масив зразків 20 спершу ділиться на стандартну двовимірну схему деревних блоків 404, які, у свою чергу, мають індивідуальну інформацію про підрозбиття, пов'язану з нею, згідно з якою певний деревний блок 404 може додатково підрозбиватися згідно зі структурою квадрадерева або ні. Деревний блок зліва від блока 404 ілюстративно підрозбитий на менші блоки згідно з структурою квадрадерева. Кодер 10 може виконувати одне двовимірне перетворення для кожного з блоків, зображених суцільною і пунктирною лініями наAccording to the subdivision of fig. 2a, the sample array 20 is first partitioned into a standard two-dimensional tree block pattern 404, which in turn have individual partitioning information associated with it, whereby a particular tree block 404 may or may not be further partitioned according to a quadtree structure. The tree block to the left of block 404 is illustratively subdivided into smaller blocks according to the quad tree structure. Encoder 10 can perform one two-dimensional transformation for each of the blocks depicted by solid and dashed lines on

Фіг. 2а. Іншими словами, кодер 10 може перетворювати масив 20 в елементи підрозбиття блока.Fig. 2a. In other words, encoder 10 can convert array 20 into block subdivision elements.

Замість підрозбиття на основі квадрадерева може використовуватися більш загальне підрозбиття на основі мультидерева і кількість дочірніх вузлів на ієрархічному рівні може відрізнятися в різних ієрархічних рівнях.Instead of quadtree-based partitioning, a more general multitree-based partitioning can be used, and the number of child nodes at a hierarchical level may differ in different hierarchical levels.

Фіг. 265 зображає інший приклад для підрозбиття. Згідно з Фіг. 25 масив зразків 20 спершу ділиться на макроблоки 4006, розташовані згідно з стандартною двовимірною схемою без взаємного налягання з упиранням один в інший, де кожен макроблок 400 зв'язаний з інформацією про підрозбиття, згідно з якою макроблок не підрозбивається або, якщо підрозбивається, то підрозбивається стандартним двовимірним способом на однакові субблоки для досягання різних гранулярностей підрозбиття для різних макроблоків. Результатом є підрозбиття масиву зразків 20 на різного розміру блоки 40 з представниками різних розмірів, які вказані позиціями 40а, 4065 і 40а". Як і на Фіг. 2а кодер 10 виконує двовимірне перетворення на кожному з блоків, зображених на Фіг. 25 суцільними і пунктирними лініями. Фіг. 2с буде обговорюватися пізніше.Fig. 265 depicts another example for subdivision. According to Fig. 25, the sample array 20 is first divided into macroblocks 4006 arranged according to a standard two-dimensional, non-overlapping, one-to-one pattern, where each macroblock 400 is associated with subdivision information such that the macroblock is not subdivided or, if subdivided, is subdivided in a standard two-dimensional way into the same subblocks to achieve different subdivision granularities for different macroblocks. The result is a subdivision of the array of samples 20 into blocks 40 of different sizes with representatives of different sizes, which are indicated by the positions 40a, 4065 and 40a". As in Fig. 2a, the encoder 10 performs a two-dimensional transformation on each of the blocks depicted in Fig. 25 by solid and dotted lines lines Fig. 2c will be discussed later.

Фіг. З зображає декодер 50, який здатен декодувати потік даних 30, генерований кодером 10, для відновлення відновленого варіанту 60 масиву зразків 20. Декодер 50 одержує з потоку 60 даних ЗО блок коефіцієнтів перетворення для кожного з блоків 40 і відновлює відновлений варіант 60 шляхом виконання оберненого перетворення на кожному з блоків коефіцієнтів перетворення.Fig. C depicts a decoder 50 that is capable of decoding a data stream 30 generated by an encoder 10 to recover a reconstructed version 60 of the sample array 20. The decoder 50 receives from the 3D data stream 60 a block of transform coefficients for each of the blocks 40 and reconstructs the reconstructed version 60 by performing an inverse transformation on each of the blocks of conversion factors.

Кодер 10 ії декодер 50 можуть конфігуруватися для виконання ентропійного кодування/декодування для введення інформації про блоки коефіцієнтів перетворення і, відповідно, одержання цієї інформації з потоку даних. Деталі з цього приводу згідно з різними варіантами виконання описуються пізніше. Слід відзначити, що потік даних 30 необов'язково містить інформацію про блоки коефіцієнтів перетворення для усіх блоків 40 масиву зразків 20.Encoder 10 and decoder 50 may be configured to perform entropy encoding/decoding to input information about blocks of transform coefficients and, accordingly, obtain this information from the data stream. Details on this subject according to various implementation options are described later. It should be noted that the data stream 30 does not necessarily contain information about the blocks of transformation coefficients for all the blocks 40 of the array of samples 20.

Скоріше, підмножина блоків 40 може кодуватися іншим способом з одержанням потоку бітів 30.Rather, a subset of the blocks 40 may be encoded in a different manner to produce a bit stream 30 .

Наприклад, кодер 10 може приймати рішення утриматися від введення блока коефіцієнтів перетворення для певного блока з блоків 40 із введенням в потік бітів 30 альтернативних параметрів кодування, замість чого надавати можливість декодеру 50 прогнозувати або, інакше, поміщати відповідний блок у відновлений варіант 60. Наприклад, кодер 10 може виконувати аналіз текстури для поміщення блоків в масиві зразків 20, який може заповнюватися на декодувальній стороні декодером у вигляді синтезу текстури і вказує це, відповідним чином, в потоці бітів.For example, encoder 10 may decide to refrain from injecting a block of transform coefficients for a particular block of blocks 40 with input to bitstream 30 of alternative coding parameters, instead allowing decoder 50 to predict or otherwise place the corresponding block into reconstructed variant 60. For example, the encoder 10 may perform texture analysis to place blocks in the sample array 20, which may be populated on the decoding side by the decoder in the form of texture synthesis and indicate this, accordingly, in the bit stream.

Як це обговорюється стосовно наступних фігур, блоки коефіцієнтів перетворення необов'язково представляють спектральне представлення області зразків первинної інформації відповідного блока 40 масиву зразків 20. Скоріше такий блок коефіцієнтів перетворення може представляти спектральне представлення області залишкових величин прогнозування відповідного блока 40. Фіг. 4 зображає варіант виконання для такого кодера. Кодер з фіг. 4 містить фазу перетворення 100, ентропійний кодер 102, фазу оберненого перетворення 104, предиктор 106 і блок віднімання 108, а також суматор 110. Блок віднімання 108, фаза перетворення 100 і ентропійний кодер 102 послідовно з'єднані в порядку, згаданому між входом 112 ї виходом 114 кодера з Фіг. 4. Фаза оберненого перетворення 104, суматор 110 і предиктор 106 з'єднані в порядку, згаданому між виходом фази перетворення 100 і інверсним входом блока віднімання 108, при цьому вихід предиктора 106 також з'єднаний з подальшим входом суматора 110.As discussed with respect to the following figures, blocks of transform coefficients do not necessarily represent a spectral representation of the domain of primary information samples of the corresponding block 40 of the array of samples 20. Rather, such a block of transform coefficients may represent a spectral representation of the domain of residual prediction values of the corresponding block 40. FIG. 4 shows an embodiment of such an encoder. The coder from fig. 4 includes a transform phase 100, an entropy encoder 102, an inverse transform phase 104, a predictor 106, and a subtraction block 108, as well as an adder 110. The subtraction block 108, the transform phase 100, and the entropy encoder 102 are connected in series in the order mentioned between input 112 output 114 of the encoder from Fig. 4. The inverse transform phase 104, the adder 110 and the predictor 106 are connected in the order mentioned between the output of the transform phase 100 and the inverse input of the subtractor block 108, while the output of the predictor 106 is also connected to the subsequent input of the adder 110.

Кодер з фіг. 4 зображає прогнозувальний перетворювальний блочний кодер. Тобто, блоки масиву зразків 20, який надходить на вхід 112, прогнозуються з попередньо кодованих і відновлених частин того ж масиву зразків 20 або попередньо кодованих і відновлених інших масивів зразків, які можуть передувати або слідувати за поточним масивом зразків 20 в даному часі. Прогнозування виконується предиктором 106. Блок віднімання 108 віднімає дані прогнозу від такого первинного блока, а фаза перетворення 100 виконує двовимірне перетворення на залишкових величинах прогнозування. Двовимірне перетворення саме по собі або наступний захід всередині фази перетворення 100 може приводити до дискретизації коефіцієнтів перетворення в блоках коефіцієнтів перетворення. Дискретизовані блоки коефіцієнтів перетворення кодуються без втрат, наприклад, ентропійним кодуванням в ентропійному кодері 102 з виходом одержуваного потоку даних на виході 114. Фаза оберненого перетворення 104 відновлює дискретизований залишок, а суматор 110, у свою чергу, поєднує відновлений залишок відповідними даними прогнозування для одержання відновлених зразків інформації, на основі яких предиктор 106 може прогнозувати вищезгадані на даний момент кодовані прогнозувальні блоки. Предиктор 106 може використовувати різні режими прогнозування, такі як режими інтрапрогнозування і режими інтерпрогнозування, для прогнозування блоків, а параметри прогнозування направляються до ентропійного кодера 102 для введення в потік даних. Для кожного інтерпрогнозованого прогнозувального блока відповідні дані руху вводяться в потік бітів за допомогою ентропійного кодера 114 для надання можливості декодувальній стороні повторно робити прогноз. Дані руху для прогнозувального блока картинки можуть використовувати синтаксичну частину, яка містить синтаксичний елемент, який представляє різницю векторів руху, яка диференціально кодує вектор руху для поточного прогнозувального блока відносно предиктора вектора руху, одержаного, наприклад, описаним способом з векторів руху сусідніх вже кодованих прогнозувальних блоків.The coder from fig. 4 shows a predictive transform block encoder. That is, the blocks of the sample array 20 that is received at the input 112 are predicted from pre-encoded and reconstructed portions of the same sample array 20 or pre-coded and reconstructed other sample arrays that may precede or follow the current sample array 20 at a given time. The prediction is performed by the predictor 106. The subtraction block 108 subtracts the prediction data from such a primary block, and the transformation phase 100 performs a two-dimensional transformation on the remaining prediction values. The two-dimensional transformation itself or a subsequent step within the transformation phase 100 may result in the discretization of transformation coefficients in blocks of transformation coefficients. The discretized blocks of transform coefficients are losslessly encoded, for example, by entropy encoding in an entropy encoder 102 with the output of the resulting data stream at output 114. The inverse transform phase 104 reconstructs the discretized residual, and the adder 110, in turn, combines the reconstructed residual with the corresponding prediction data to obtain the reconstructed samples of information on the basis of which the predictor 106 can predict the aforementioned currently encoded prediction blocks. The predictor 106 may use different prediction modes, such as intraprediction modes and interprediction modes, to predict the blocks, and the prediction parameters are sent to the entropy encoder 102 for input into the data stream. For each interpredicted prediction block, the corresponding motion data is injected into the bit stream using the entropy encoder 114 to enable the decoding side to re-predict. The motion data for the prediction block of the picture can use a syntactic part that contains a syntactic element that represents the difference of motion vectors, which differentially encodes the motion vector for the current prediction block relative to the motion vector predictor obtained, for example, in the described manner from the motion vectors of neighboring already coded prediction blocks .

Тобто, згідно з варіантом виконання з Фіг. 4, блоки коефіцієнтів перетворення скоріше представляють спектральне представлення залишку масиву зразків, а ніж його інформаційні зразки. Тобто, згідно з варіантом виконання з Фіг. 4, послідовність синтаксичних елементів може надходити в ентропійний кодер 102 для ентропійного кодування з одержанням потоку даних 114. Послідовність синтаксичних елементів може містити синтаксичні елементи різниці векторів руху для інтерпрогнозувальних блоків і синтаксичні елементи, які стосуються карти значущості, яка вказує положення рівнів значущості коефіцієнта перетворення, а також синтаксичні елементи, які самі по собі визначають рівні значущості коефіцієнта перетворення для блоків (516) перетворення.That is, according to the embodiment of Fig. 4, the blocks of transform coefficients represent the spectral representation of the residue of the sample array rather than its information samples. That is, according to the embodiment of Fig. 4, a sequence of syntax elements may be input to an entropy encoder 102 for entropy coding to produce a data stream 114. The sequence of syntax elements may include motion vector difference syntax elements for interprediction blocks and syntax elements that relate to a significance map that indicates the position of transform coefficient significance levels, as well as syntactic elements that themselves determine the levels of significance of the transformation coefficient for the blocks (516) of the transformation.

Слід відзначити, що для варіанта виконання з Фіг. 4 існують декілька альтернатив, деякі з яких описані у вступній частині опису, який включений в опис Фіг. 4.It should be noted that for the embodiment of Fig. 4, there are several alternatives, some of which are described in the introductory part of the description, which is included in the description of FIG. 4.

Фіг. 5 зображає декодер, здатний декодувати потік даних, генерований кодером з Фіг. 4.Fig. 5 shows a decoder capable of decoding a data stream generated by the encoder of FIG. 4.

Декодер з Фіг. 5 містить ентропійний декодер 150, фазу оберненого перетворення 152, суматор 154 і предиктор 156. Ентропійний декодер 150, фаза оберненого перетворення 152 і суматор 154 послідовно з'єднані між входом 158 і виходом 160 декодера з Фіг. 5 у згаданому порядку.The decoder from Fig. 5 includes an entropy decoder 150, an inverse transform phase 152, an adder 154, and a predictor 156. An entropy decoder 150, an inverse transform phase 152, and an adder 154 are connected in series between the input 158 and the output 160 of the decoder of FIG. 5 in the mentioned order.

Подальший вихід ентропійного декодера 150 з'єднаний з предиктором 156, який, у свою чергу, з'єднаний між виходом суматора 154 та його подальшим входом. Ентропійний декодер 150 виділяє з потоку даних, який надходить в декодер з Фіг. 5 на вхід 158, блоки коефіцієнтів перетворення, де для блоків коефіцієнтів перетворення на фазі 152 застосовується обернене перетворення для одержання залишкового сигналу. Залишковий сигнал поєднується з прогнозом від предиктора 156 на суматорі 154 для одержання відновленого блока відновленого варіанту масиву зразків на виході 160. На основі відновлених варіантів предиктор 156 генерує прогнози, таким чином повторно створюючи прогнози, виконані предиктором 106 на кодувальній стороні. Для одержання тих же прогнозів, що використовуються на кодувальній стороні, предиктор 156 використовує параметри прогнозування, які ентропійний декодер 150 також одержує з потоку даних на вході 158.The further output of the entropy decoder 150 is connected to the predictor 156, which, in turn, is connected between the output of the adder 154 and its further input. The entropy decoder 150 selects from the data stream, which enters the decoder of Fig. 5 to the input 158, blocks of conversion coefficients, where for the blocks of conversion coefficients in phase 152, an inverse transformation is applied to obtain a residual signal. The residual signal is combined with the prediction from the predictor 156 at the adder 154 to obtain a reconstructed block of the reconstructed variant of the sample array at the output 160. Based on the reconstructed variants, the predictor 156 generates predictions, thus recreating the predictions made by the predictor 106 on the coding side. To obtain the same predictions used on the coding side, the predictor 156 uses the prediction parameters that the entropy decoder 150 also obtains from the data stream at the input 158 .

Слід відзначити, що у вищеописаних варіантах виконання просторова гранулярність, з якою виконується прогнозування і перетворення залишку, не повинна бути рівною між собою. Це зображено на Фіг. 2С. Ця фігура зображає підрозбиття для прогнозувальних блоків прогнозувальної гранулярності суцільними лініями і залишкову гранулярність - пунктирними лініями. Як можна побачити, підрозбиття можуть вибиратися кодером незалежно одне від іншого. Для більшої точності, синтаксис потоку даних може передбачати визначення підрозбиття залишку незалежно від підрозбиття прогнозу. Альтернативно, підрозбиття залишку може бути продовженням підрозбиття прогнозу так, що кожен залишковий блок або дорівнює або є належною підмножиною прогнозувального блока. Це зображено на фіг. 2а і Фіг. 26, наприклад, де знову прогнозувальна гранулярність зображена суцільними лініями, а залишкова гранулярність - пунктирними лініями. Тобто, на Фіг. 2а-2с усі блоки, які мають позиційне позначення, повинні бути залишковими блоками, для яких повинно виконуватися двовимірнеIt should be noted that in the above-described implementations, the spatial granularity with which forecasting and residual transformation is performed should not be equal to each other. This is shown in Fig. 2C. This figure shows the breakdown for prediction blocks of prediction granularity by solid lines and residual granularity by dashed lines. As you can see, the subdivisions can be selected by the coder independently of each other. For greater precision, the dataflow syntax may provide for the determination of the residual subdivision independent of the forecast subdivision. Alternatively, the residue subdivision can be a continuation of the forecast subdivision such that each residual block is either equal to or a proper subset of the forecast block. This is shown in fig. 2a and Fig. 26, for example, where again the predictive granularity is shown in solid lines and the residual granularity in dashed lines. That is, in Fig. 2a-2c, all blocks that have a positional designation must be residual blocks for which two-dimensional

Зо перетворення, тоді як блоки, вказані товщими суцільними лініями і охоплюють блоки 4ба, вказані пунктирними лініями, наприклад, повинні бути прогнозувальними блоками, для яких індивідуально виконується визначення параметрів прогнозування.From the transformation, while the blocks indicated by thick solid lines and covering the blocks 4 and indicated by dashed lines, for example, should be predictive blocks for which the prediction parameters are individually determined.

Вищезгадані варіанти виконання повинні перетворювати загалом такий блок (залишковий або первинний) зразків на кодувальній стороні з одержанням блока коефіцієнтів перетворення, який, у свою чергу, повинен інверсно перетворюватися на відновлений блок зразків на декодувальній стороні. Це зображено на фіг. 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. У випадку відсутності дискретизації/втрати під час перетворення, відновлення повинно бути досконалим.The above-mentioned embodiments should transform in general such a block (residual or primary) of samples on the coding side to obtain a block of transformation coefficients, which, in turn, should be inversely transformed into a reconstructed block of samples on the decoding side. This is shown in fig. 6. Fig. b depicts a block of samples 200. In the case of Fig. 6, this block 200 is illustratively square and in size is 4x4 samples 202. Samples 202 are standardly located along the horizontal x direction and the vertical y direction. Due to the aforementioned two-dimensional transformation T, the block 200 is transformed into a spectral domain, specifically a block 204 of transform coefficients 206, which has the same size as the block 200. That is, the transform block 204 has as many transform coefficients 206 as the block 200 has samples as in the horizontal direction, and in the vertical direction. However, since the transformation T is a spectral transformation, the positions of the transformation coefficients 206 in the transformation block 204 do not correspond to spatial positions, but rather to the spectral components of the content of the block 200. In particular, the horizontal axis of the transformation block 204 corresponds to the axis along which the spectral frequency monotonically increases in the horizontal direction , while the vertical axis corresponds to the axis along which the spatial frequency monotonically increases in the vertical direction, where the conversion factor of the OS component is located in the corner - here illustratively the upper left corner - of the block 204 so that the conversion factor 206 is located in the lower right corner, which corresponds to the highest frequency in both the horizontal and vertical directions. Neglecting the spatial direction, the spatial frequency to which a certain transform factor 206 belongs mainly increases from the upper left corner to the lower right corner. Due to the inverse transformation T', the transformation block 204 is again transferred from the spectral domain to the spatial domain to re-obtain a copy 208 of the block 200. In the case of no sampling/loss during the transformation, the recovery should be perfect.

Як вже відзначалося вище, з Фіг. б можна побачити, що блок 200 більшого розміру збільшує спектральну роздільну здатність одержуваного спектрального представлення 204. З іншого боку, шум дискретизації має тенденцію до поширення по усьому блоку 208 і, таким чином, круті і 60 дуже локалізовані об'єкти в блоках 200 мають тенденцію до появи відхилень повторно перетвореного блока відносно первинного блока 200 завдяки шуму дискретизації. Основною перевагою використання більших блоків є, однак, те, що відношення між кількістю значущих, тобто, ненульових (дискретизованих) коефіцієнтів перетворення, тобто рівнів, з одного боку, і кількістю несуттєвих коефіцієнтів перетворення, з іншого боку, може зменшуватися в більших блоках порівняно з меншими блоками, таким чином забезпечуючи кращу ефективність кодування. Іншими словами, часто, рівні значущості коефіцієнта перетворення, тобто, коефіцієнти перетворення, не дискретизовані в нуль, рідко розподіляються по блоку перетворення 204. Завдяки цьому, згідно з варіантами виконання, описаними детальніше нижче, положення рівнів значущості коефіцієнта перетворення сигналізуються в потоці даних у вигляді карти значущості. Окремо від них величини значущого коефіцієнта перетворення, тобто, рівні значущості коефіцієнта перетворення у випадку коефіцієнтів перетворення, які дискретизуються, переносяться в потоці даних.As already noted above, from Fig. b can be seen that a larger block 200 increases the spectral resolution of the resulting spectral representation 204. On the other hand, sampling noise tends to spread throughout the block 208 and thus steep and 60 highly localized objects in the blocks 200 tend to the appearance of deviations of the re-transformed block relative to the original block 200 due to sampling noise. The main advantage of using larger blocks is, however, that the ratio between the number of significant, i.e., non-zero (discretized) transform coefficients, i.e., levels, on the one hand, and the number of non-significant transform coefficients, on the other hand, can decrease in larger blocks compared to smaller blocks, thus providing better coding efficiency. In other words, often, transform coefficient significance levels, i.e., transform coefficients not discretized to zero, are sparsely distributed across transform block 204. Accordingly, according to embodiments described in more detail below, the positions of transform coefficient significance levels are signaled in the data stream as significance maps. Separately from them, the values of the significant conversion coefficient, i.e., the significance levels of the conversion coefficient in the case of conversion coefficients that are discretized, are carried in the data stream.

Усі описані вище кодери і декодери, таким чином, конфігуруються для певного синтаксису синтаксичних елементів. Тобто, вищезгадані синтаксичні елементи, такі як рівні значущості коефіцієнта перетворення, синтаксичні елементи, які стосуються карти значущості блоків перетворення, синтаксичні елементи даних руху, які стосуються інтерпрогнозувальних блоків і так далі, припускаються тими, що послідовно розташовані в потоці даних попередньо встановленим способом. Такий попередньо встановлений спосіб може представлятися у формі псевдокоду, як це робиться, наприклад, в стандарті Н.264 або інших відеокодеках.All encoders and decoders described above are thus configured for a specific syntax of syntactic elements. That is, the aforementioned syntactic elements such as transformation coefficient significance levels, syntactic elements relating to the significance map of transform blocks, motion data syntactic elements relating to interpredictive blocks and so on are assumed to be sequentially arranged in the data stream in a predetermined manner. Such a preset method can be presented in the form of a pseudocode, as is done, for example, in the H.264 standard or other video codecs.

Ще іншими словами, вищенаведений опис головним чином має справу з перетворенням мультимедійних даних, тут ілюстративних відеоданих, на послідовність синтаксичних елементів згідно з попередньо визначеною синтаксичною структурою, яка описує певні типи синтаксичних елементів, їх семантику і порядок серед них. Ентропійний кодер і ентропійний декодер з Фіг. 4 і 5 можуть конфігуруватися для роботи і можуть структуруватися, як вказано далі. Те ж саме відповідає за виконання перетворення між послідовністю синтаксичних елементів і потоком даних, тобто, символьним або бітовим потоком.In other words, the above description mainly deals with the transformation of multimedia data, here illustrative video data, into a sequence of syntactic elements according to a predefined syntactic structure that describes certain types of syntactic elements, their semantics and the order among them. Entropy coder and entropy decoder from Fig. 4 and 5 may be configured to operate and may be structured as follows. The same is responsible for performing the conversion between a sequence of syntactic elements and a data stream, i.e., a character or bit stream.

Ентропійний кодер згідно з варіантом виконання зображений на Фіг. 7. Кодер без втрат перетворює потік синтаксичних елементів 301 на множину з двох або більшої кількості часткових бітових потоків 312.The entropy coder according to the embodiment is shown in Fig. 7. The lossless encoder converts the stream of syntactic elements 301 into a set of two or more partial bit streams 312.

Зо В переважному варіанті виконання винаходу кожен синтаксичний елемент 301 зв'язується з категорією множини з однієї або більшої кількості категорій, тобто, типом синтаксичного елемента. Як приклад, категорії можуть специфікувати тип синтаксичного елемента. В контексті гібридного кодування відеоданих окрема категорія може зв'язуватися з режимами макроблочного кодування, режимами блочного кодування, індексами еталонної картинки, різницями векторів руху, ідентифікаторами підрозбиття, ідентифікаторами кодованих блоків, параметрами дискретизації, рівнями значущості коефіцієнта перетворення і так далі. В інших областях застосування, таких як аудіокодування, кодування мови, кодування тексту, кодування документа або кодування загальних даних, можливі різні категоризації синтаксичних елементів.In a preferred embodiment of the invention, each syntactic element 301 is associated with a category of a set of one or more categories, that is, a type of syntactic element. As an example, categories can specify the type of syntactic element. In the context of hybrid coding of video data, a separate category can be associated with macroblock coding modes, block coding modes, reference picture indices, motion vector differences, subdivision identifiers, coded block identifiers, sampling parameters, transformation coefficient significance levels, and so on. In other applications, such as audio coding, speech coding, text coding, document coding, or general data coding, different categorizations of syntactic elements are possible.

Загалом, кожен синтаксичний елемент може приймати величину із скінченої або зчисленної нескінченої множини величин, де множина можливих величин синтаксичних елементів може відрізнятися для різних категорій синтаксичних елементів. Наприклад, існують бінарні синтаксичні елементи, а також цілі синтаксичні елементи.In general, each syntactic element can take a value from a finite or countably infinite set of values, where the set of possible syntactic element values may differ for different categories of syntactic elements. For example, there are binary syntactic elements as well as integer syntactic elements.

Для зниження складності алгоритму кодування і декодування, і для надання можливості виконання загальної схеми кодування і декодування для різних синтаксичних елементів і категорій синтаксичних елементів, синтаксичні елементи 301 перетворюються на упорядковані множини бінарних рішень і ці бінарні рішення потім обробляються простими алгоритмами бінарного кодування. Тому, бінаризатор 302 бієктивно перетворює величину кожного синтаксичного елемента 301 на послідовність (або рядок або слово) з двійкових кодів 303.To reduce the complexity of the encoding and decoding algorithm, and to enable the implementation of a common encoding and decoding scheme for different syntactic elements and categories of syntactic elements, the syntactic elements 301 are converted into ordered sets of binary decisions and these binary decisions are then processed by simple binary coding algorithms. Therefore, the binarizer 302 objectively converts the value of each syntactic element 301 into a sequence (or line or word) of binary codes 303.

Послідовність двійкових кодів 303 представляє множину упорядкованих бінарних рішень.A sequence of binary codes 303 represents a set of ordered binary solutions.

Кожний двійковий код 303 або бінарне рішення може приймати одну величину з множини з двох величин, наприклад, одну з величин, вибрану з 0 і 1. Схема бінаризації може відрізнятися для різних категорій синтаксичних елементів. Схема бінаризації для окремої категорії синтаксичних елементів може залежати від множини можливих величин синтаксичних елементів і/або інших властивостей синтаксичного елемента для окремої категорії.Each binary code 303 or binary decision can take one value from a set of two values, for example, one value selected from 0 and 1. The binarization scheme can be different for different categories of syntactic elements. The binarization scheme for a separate category of syntactic elements may depend on the set of possible values of the syntactic elements and/or other properties of the syntactic element for a separate category.

Таблиця 1 зображає три ілюстративні схеми бінаризації для зчисленних нескінчених множин. Схеми бінаризації для зчисленних нескінчених множин можуть також застосовуватися для скінчених множин величин синтаксичних елементів. Зокрема, для великих скінчених множин величин синтаксичних елементів неефективність (одержувана з невикористаних послідовностей двійкових кодів) може бути нехтуваною, але універсальність таких схем бінаризації надає бо перевагу з точки зору складності та вимог до пам'яті. Для малих скінчених множин величин синтаксичних елементів часто вигідно (з точки зору ефективності кодування) адаптувати схему бінаризації до кількості можливих символьних величин.Table 1 shows three illustrative binarization schemes for countable infinite sets. Binarization schemes for countable infinite sets can also be applied to finite sets of values of syntactic elements. In particular, for large finite sets of values of syntactic elements, inefficiency (obtained from unused sequences of binary codes) can be neglected, but the universality of such binarization schemes gives an advantage in terms of complexity and memory requirements. For small finite sets of values of syntactic elements, it is often advantageous (from the point of view of coding efficiency) to adapt the binarization scheme to the number of possible symbolic values.

Таблиця 2 зображає три ілюстративні схеми б наризації для скінчених множин з 8 величин.Table 2 shows three illustrative b-narization schemes for finite sets of 8 quantities.

Схеми бінаризації для скінчених множин можна одержати з універсальних схем бінаризації для зчисленних нескінчених множин шляхом модифікації деяких послідовностей двійкових кодів у такий спосіб, що скінчені множини послідовностей двійкових кодів представляють код без резервування (і який потенційно повторно упорядковує послідовності двійкових кодів). Як приклад, схема бінаризації з використанням усічених унарних кодів в Таблиці 2 була створена шляхом модифікації послідовності двійкових кодів для синтаксичного елемента 7 бінаризації з використанням універсальних унарних кодів (дивіться Таблицю 1), Переупорядкована бінаризація з використанням експоненціальних кодів Голомба порядку 0 в Таблиці 2 створена модифікацією послідовності двійкових кодів для синтаксичного елемента 7 бінаризації з використанням універсальних експоненціальних кодів Голомба порядку 0 (дивіться Таблицю 1) і повторним упорядкуванням послідовностей двійкових кодів (послідовність усічених двійкових кодів для символу 7 присвоєна символу 1). Для скінчених множин синтаксичних елементів також можна використовувати несистематичні/неуніверсальні схеми бінаризації, як ілюструється в останньому стовпчику Таблиці 2.Binarization schemes for finite sets can be derived from universal binarization schemes for countable infinite sets by modifying some binary code sequences in such a way that the finite sets of binary code sequences represent a code without redundancy (and which potentially reorders the binary code sequences). As an example, the binarization scheme using truncated unary codes in Table 2 was created by modifying the sequence of binary codes for syntactic element 7 of the binarization using universal unary codes (see Table 1). The rearranged binarization using exponential Golomb codes of order 0 in Table 2 was created by modifying binary code sequences for syntactic element 7 of binarization using universal exponential Golomb codes of order 0 (see Table 1) and reordering the binary code sequences (truncated binary code sequence for symbol 7 is assigned to symbol 1). For finite sets of syntactic elements, non-systematic/non-universal binarization schemes can also be used, as illustrated in the last column of Table 2.

Таблиця 1Table 1

Приклади бінаризації для зчисленних нескінчених множин (або великих скінчених множин)Examples of binarization for countable infinite sets (or large finite sets)

Бінаризація з Бінаризація з Бінаризація зBinarization with Binarization with Binarization with

Символьна величина використанням використанням використанням унарних кодів експоненціальних кодів | експоненціальних кодівSymbolic value using using using using unary codes exponential codes | exponential codes

Голомба порядку 0 Голомба порядку 1 0 1 1 10 1 01 010 11 2 001 011 0100Golomba of order 0 Golomba of order 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 01From 0001 00100 0101 4 0000 1 00101 0110 5 0000 01 00110 0111 b 000о 001 0011 1 0010 00 7 0о0о 0001 0001 000 0010 01

Таблиця 2Table 2

Приклади бінаризації для скінчених множинExamples of binarization for finite sets

Бінаризація з переупорядкованаBinarization with rearranged

Символьна використанням бінаризація з використанням Несистематична величина усіченого унарного | експоненціальних усічених бінаризація коду кодів Голомба порядку 0 0 1 1 000 1 01 (0/0) 001 2 001 010 01Symbolic using binarization using Unsystematic value of truncated unary | exponential truncated code binarization of Golomb codes of order 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 1From 0001 011 1000 4 0000 1 00100 1001 5 0000 01 00101 1010 b 0000 001 00110 10110 7 robo 000 00111 1011 1

Кожен двійковий код 303 послідовності двійкових кодів, створеної бінаризатором 302, подається в присвоювач 304 параметрів у послідовному порядку. Присвоювач параметрів присвоює множину з одного або більшої кількості параметрів кожному двійковому коду 303 і видає двійковий код 3 відповідною множиною параметрів 305. Множина параметрів визначається точно одним і тим же способом в кодері і декодері. Множина параметрів може складатися з одного або більшої кількості наступних параметрів:Each binary code 303 of the binary code sequence created by the binarizer 302 is fed to the parameter assigner 304 in sequential order. The parameter assigner assigns a set of one or more parameters to each binary code 303 and outputs binary code 3 with the corresponding set of parameters 305. The set of parameters is determined in exactly the same way in the encoder and decoder. A set of parameters can consist of one or more of the following parameters:

Зокрема, присвоювач 304 параметрів може конфігуруватися для присвоювання поточному двійковому коду 303 моделі контексту. Наприклад, присвоювач 304 параметрів може вибирати один з доступних індексів контексту для поточного двійкового коду 303. Доступна множина контекстів для поточного двійкового коду 303 може залежати від типу двійкового коду, який, у свою чергу, може визначатися типом/категорією синтаксичного елемента 301, в результаті бінаризації якого поточний двійковий код 303 є його частиною, а положення поточного двійкового коду 303 знаходиться в пізнішій бінаризації. Вибір контексту серед множини доступних контекстів може залежати від попередніх двійкових кодів і синтаксичних елементів, пов'язаних з ними. Кожен з цих контекстів має модель ймовірності, зв'язану з ним, тобто, засіб для оцінки ймовірності для поточної інформаційної величини набуття одного з двох можливих значень інформаційної величини. Модель ймовірності може, зокрема, бути засобом для оцінки ймовірності набуття поточною інформаційною величиною її менш ймовірного або більш ймовірного значення, при цьому модель ймовірності додатково визначається ідентифікатором, який специфікує оцінку, яке з двох можливих значень інформаційної величини представляє Її менш ймовірне або більш ймовірне значення поточного двійкового коду 303. У випадку просто одного контексту, який доступний для поточної інформаційної величини, вибір контексту може не виконуватися. Як буде описано детальніше нижче, присвоювач 304 параметрів може також виконувати адаптацію моделі ймовірності для адаптації моделей ймовірностей, зв'язаних з різними контекстами, до реальної статистики відповідних інформаційних величин, які належать відповідним контекстам.In particular, the parameter assigner 304 can be configured to assign the current binary code 303 to the context model. For example, the parameter assigner 304 may select one of the available context indices for the current binary code 303. The available set of contexts for the current binary code 303 may depend on the type of the binary code, which in turn may be determined by the type/category of the syntactic element 301, resulting in binarization of which the current binary code 303 is a part of, and the position of the current binary code 303 is in a later binarization. The selection of a context among a plurality of available contexts may depend on the previous binary codes and syntactic elements associated with them. Each of these contexts has a probability model associated with it, that is, a means of estimating the probability for a current information quantity to acquire one of the two possible values of the information quantity. The probability model can, in particular, be a means for estimating the probability of the current information quantity acquiring its less probable or more probable value, while the probability model is additionally determined by an identifier that specifies the assessment of which of the two possible values of the information quantity represents its less probable or more probable value current binary code 303. In the case of only one context available for the current information value, context selection may not be performed. As will be described in more detail below, the parameter assigner 304 may also perform probability model adaptation to adapt the probability models associated with the various contexts to the actual statistics of the relevant information quantities belonging to the respective contexts.

Як буде також детальніше описуватися нижче, присвоювач 304 параметрів може працювати диференційно в залежності від високоефективного режиму (НЕ) або режиму низької складності (ІС), який активується. В обох режимах модель ймовірності зв'язує поточну інформаційну величину двійкового коду 303 з будь-яким з двійкових кодерів 310, як буде описано нижче, а режим роботи присвоювача 304 параметрів має тенденцію бути менш складним в режимі І С, однак, ефективність кодування зростає у високоефективному режимі внаслідок того, що присвоювач 304 параметрів, який зв'язує окремі інформаційні величини двійкового коду 303 з окремими кодерами 310, акуратніше адаптований до статистики інформаційних величин, таким чином оптимізуючи ентропію відносно режиму І б.As will also be described in more detail below, the parameter allocator 304 may operate differentially depending on whether the high-efficiency mode (HE) or the low-complexity mode (LI) is being activated. In both modes, the probability model associates the current information value of the binary code 303 with any of the binary encoders 310, as will be described below, and the mode of operation of the parameter assigner 304 tends to be less complex in the IS mode, however, the coding efficiency increases in highly efficient mode due to the fact that the allocator 304 of parameters, which connects individual information values of the binary code 303 with individual encoders 310, is more accurately adapted to the statistics of information values, thus optimizing the entropy relative to mode I b.

Зо Кожна інформаційна величина з відповідною множиною параметрів 305, яка є виходом присвоювача 304 параметрів, подається до двійкового буферного селектора 306. Двійковий буферний селектор 306 потенційно модифікує значення вхідної інформаційної величини 305 на основі її значення і відповідних параметрів 305, і подає вихідну інформаційну величину 307 з потенційно модифікованим значенням до одного з двох або більшої кількості двійкових буферів 308. Двійковий буфер 308, до якого надсилається вихідна інформаційна величина 307, визначається на основі значення вхідної інформаційної величини 305 і/або величини відповідних параметрів 305.Each information quantity with a corresponding set of parameters 305, which is the output of the parameter allocator 304, is fed to the binary buffer selector 306. The binary buffer selector 306 potentially modifies the value of the input information quantity 305 based on its value and the corresponding parameters 305, and supplies the output information quantity 307 with a potentially modified value to one of two or more binary buffers 308. The binary buffer 308 to which the output information quantity 307 is sent is determined based on the value of the input information quantity 305 and/or the value of the corresponding parameters 305.

В переважному варіанті виконання винаходу двійковий буферний селектор 306 не модифікує значення інформаційної величини, тобто, вихідна інформаційна величина 307 має завжди те ж значення, що й вхідна інформаційна величина 305. В подальшому переважному варіанті виконання винаходу двійковий буферний селектор 306 визначає значення вихідної інформаційної величини 307 на основі значення вхідної інформаційної величини 305 і відповідне значення для оцінки ймовірності набуття поточною інформаційною величиною одного з двох її можливих значень. В переважному варіанті виконання винаходу значення вихідної інформаційної величини 307 встановлюється рівним значенню вхідної інформаційної величини 305, якщо значення для оцінки ймовірності набуття поточною інформаційною величиною одного з двох можливих її значень менше за (або менше або рівне) конкретне порогове значення; якщо значення для оцінки ймовірності набуття поточною інформаційною величиною одного з двох можливих її значень більше або рівне (або більше) конкретного порогового значення, то значення вихідної інформаційної величини 307 модифікується (тобто, воно встановлюється рівним протилежному значенню вхідної інформаційної величини). В подальшому переважному варіанті виконання винаходу значення вхідної інформаційної величини 307 встановлюється рівним значенню вхідної інформаційної величини 305, якщо значення для оцінки ймовірності набуття поточною інформаційною величиною одного з двох можливих її значень більше за (або більше або рівне) конкретне порогове значення; якщо значення для оцінки ймовірності набуття поточною інформаційною величиною одного з двох можливих її значень менше або рівне (або менше) конкретному пороговому значенню, то значення вихідної інформаційної величини 307 модифікується (тобто, воно встановлюється рівним протилежному значенню вхідної інформаційної величини). В переважному варіанті виконання винаходу значення порогу відповідає величині 0,5 для оціненої ймовірності набуття обох можливих значень інформаційної величини.In a preferred embodiment of the invention, the binary buffer selector 306 does not modify the value of the information quantity, that is, the output information quantity 307 always has the same value as the input information quantity 305. In a further preferred embodiment of the invention, the binary buffer selector 306 determines the value of the output information quantity 307 based on the value of the input information quantity 305 and the corresponding value for estimating the probability of the current information quantity acquiring one of its two possible values. In the preferred embodiment of the invention, the value of the initial information quantity 307 is set equal to the value of the input information quantity 305, if the value for assessing the probability of acquisition by the current information quantity of one of its two possible values is less than (or less than or equal to) a specific threshold value; if the value for assessing the probability of acquisition of one of its two possible values by the current information value is greater than or equal to (or greater than) a specific threshold value, then the value of the initial information value 307 is modified (that is, it is set equal to the opposite value of the input information value). In a further preferred embodiment of the invention, the value of the input information value 307 is set equal to the value of the input information value 305, if the value for assessing the probability of acquisition by the current information value of one of its two possible values is greater than (or greater than or equal to) a specific threshold value; if the value for assessing the probability of the current information quantity acquiring one of its two possible values is less than or equal to (or less than) a specific threshold value, then the value of the original information quantity 307 is modified (that is, it is set equal to the opposite value of the input information quantity). In the preferred embodiment of the invention, the threshold value corresponds to the value of 0.5 for the estimated probability of acquiring both possible values of the information quantity.

В подальшому переважному варіанті виконання винаходу двійковий буферний селектор 306 визначає значення вихідної інформаційної величини 307 на основі значення вхідної інформаційної величини 305 і відповідного ідентифікатора, який специфікує оцінку, завдяки якій одне з двох можливих значень інформаційної величини представляє менш ймовірне або більш ймовірне значення для поточної інформаційної величини. В переважному варіанті виконання винаходу значення вихідної інформаційної величини 307 встановлюється рівним значенню вхідної інформаційної величини 305, якщо ідентифікатор специфікує, що перше з двох можливих значень інформаційної величини представляє менш ймовірне (або більш ймовірне) значення для поточної інформаційної величини, а значення вихідної інформаційної величини 307 модифікується (тобто, воно встановлюється рівним протилежному значенню вхідної інформаційної величини), якщо ідентифікатор специфікує, що друге з двох можливих значень інформаційної величини представляє менш ймовірне (або більш ймовірне) значення для поточної інформаційної величини.In a further preferred embodiment of the invention, the binary buffer selector 306 determines the value of the output information quantity 307 on the basis of the value of the input information quantity 305 and the corresponding identifier, which specifies the evaluation, thanks to which one of the two possible values of the information quantity represents a less probable or a more probable value for the current information quantity values In a preferred embodiment of the invention, the value of the initial information quantity 307 is set equal to the value of the input information quantity 305, if the identifier specifies that the first of the two possible values of the information quantity represents a less likely (or more likely) value for the current information quantity, and the value of the initial information quantity 307 is modified (ie, it is set equal to the opposite value of the input information quantity) if the identifier specifies that the second of the two possible values of the information quantity represents the less likely (or more likely) value for the current information quantity.

В переважному варіанті виконання винаходу двійковий буферний селектор 306 визначає двійковий буфер 308, до якого надсилається значення вихідної інформаційної величини 307, на основі відповідного значення для оцінки ймовірності набуття поточною інформаційною величиною одного з двох її можливих значень. В переважному варіанті виконання винаходу множина можливих значень для визначення оцінки ймовірності набуття поточною інформаційною величиною одного з двох її можливих значень є скінченою і двійковий буферний селектор 306 містить таблицю, яка точно зв'язує один двійковий буфер 308 з кожним можливим значенням для оцінки ймовірності набуття поточною інформаційною величиною одного з двох її можливих значень, де різні значення для визначення оцінки ймовірності набуття поточною інформаційною величиною одного з двох її можливих значень можуть зв'язуватися з одним і тим же двійковим буфером 308. В подальшому переважному варіанті виконання винаходу інтервал можливих значень для визначення оцінки ймовірності набуття поточною інформаційною величиною одного з двох її можливих значень ділиться на ряд інтервалів, двійковий буферний селектор 306 визначає індекс інтервалу для поточного значення для оцінки ймовірності набуттяIn the preferred embodiment of the invention, the binary buffer selector 306 determines the binary buffer 308, to which the value of the original information quantity 307 is sent, based on the appropriate value for estimating the probability of the current information quantity acquiring one of its two possible values. In a preferred embodiment of the invention, the set of possible values for determining the estimation of the probability of acquisition of the current information quantity is finite, and the binary buffer selector 306 contains a table that precisely associates one binary buffer 308 with each possible value for estimation of the probability of acquisition of the current by the information value of one of its two possible values, where different values for determining the probability estimate of the acquisition of one of its two possible values by the current information value can be connected to the same binary buffer 308. In a further preferred embodiment of the invention, the interval of possible values for determining estimation of the probability of acquisition by the current information value of one of its two possible values is divided into a number of intervals, the binary buffer selector 306 determines the index of the interval for the current value to estimate the probability of acquisition

Зо поточною інформаційною величиною одного з двох її можливих значень і двійковий буферний селектор 306 містить таблицю, яка точно зв'язує один двійковий буфер 308 з кожним можливим значенням для індексу інтервалу, де різні значення для індексу інтервалу можуть зв'язуватися з одним і тим же двійковим буфером 308. В переважному варіанті виконання винаходу вхідні інформаційні величини 305 з протилежними значеннями для оцінки ймовірності набуття поточною інформаційною величиною одного з двох її можливих значень (протилежні значення є ті, які представляють оцінки ймовірності Р і 1 - Р) надсилаються в один і той же двійковий буфер 308. В подальшому переважному варіанті виконання винаходу зв'язування значення для оцінки ймовірності набуття поточною інформаційною величиною одного з двох її можливих значень з окремим двійковим буфером адаптується з часом, наприклад, для гарантії того, що створені часткові потоки бітів мають подібні швидкості передачі бітів. Далі нижче, індекс інтервалу буде також називатися ріре індексом, тоді як ріре індекс разом з індексом деталізації і ідентифікатором, який вказує більш ймовірне значення інформаційної величини, індексують фактичну модель ймовірності, тобто, оцінку ймовірності.With the current information value of one of its two possible values, and the binary buffer selector 306 contains a table that exactly associates one binary buffer 308 with each possible value for the interval index, where different values for the interval index can be associated with the same binary buffer 308. In the preferred embodiment of the invention, input information values 305 with opposite values for estimating the probability of the current information value acquiring one of its two possible values (opposite values are those that represent probability estimates P and 1 - P) are sent to one and the same the same binary buffer 308. In a further preferred embodiment of the invention, linking the value for estimating the probability of the current information quantity acquiring one of its two possible values with a separate binary buffer is adapted over time, for example, to ensure that the generated partial bit streams have similar speeds bit transmission. Further below, the interval index will also be called the rire index, while the rire index, together with the granularity index and an identifier that indicates the more likely value of the information quantity, index the actual probability model, i.e., the probability estimate.

В подальшому переважному варіанті виконання винаходу двійковий буферний селектор 306 визначає двійковий буфер 308, до якого надсилають вихідну інформаційну величину 307, на основі відповідного значення для оцінки ймовірності набуття поточною інформаційною величиною її менш ймовірного або більш ймовірного значення. В переважному варіанті виконання винаходу множина можливих значень для оцінки ймовірності набуття поточною інформаційною величиною її менш ймовірного або більш ймовірного значення є скінченою і двійковий буферний селектор 306 містить таблицю, яка точно зв'язує один двійковий буфер 308 з кожним можливим значенням оцінки ймовірності набуття поточною інформаційною величиною її менш ймовірного або більш ймовірного значення, де різні значення для визначення оцінки ймовірності набуття поточною інформаційною величиною її менш ймовірного або більш ймовірного значення можуть зв'язуватися з одним і тим же двійковим буфером 308. В подальшому переважному варіанті виконання винаходу інтервал можливих значень для визначення оцінки ймовірності набуття поточною інформаційною величиною її менш ймовірного або більш ймовірного значення ділиться на ряд інтервалів, двійковий буферний селектор 306 визначає індекс інтервалу для поточного визначення оцінки ймовірності набуття поточною інформаційною величиною її менш ймовірного або більш ймовірного значення, а двійковий 60 буферний селектор 306 містить таблицю, яка точно зв'язує один двійковий буфер 308 з кожним можливим значенням для індексу інтервалу, де різні значення для індексу інтервалу можуть зв'язуватися з одним і тим же двійковим буфером 308. В подальшому переважному варіанті виконання винаходу зв'язування значення для оцінки ймовірності набуття поточною інформаційною величиною її менш ймовірного або більш ймовірного значення з окремим двійковим буфером адаптується з часом, наприклад, для гарантії того, що створені часткові потоки бітів мають подібні швидкості передачі бітів.In a further preferred embodiment of the invention, the binary buffer selector 306 determines the binary buffer 308 to which the original information quantity 307 is sent, based on the appropriate value for assessing the probability of the current information quantity acquiring its less likely or more likely value. In a preferred embodiment of the invention, the set of possible values for estimating the probability of acquisition by the current information value of its less probable or more probable value is finite, and the binary buffer selector 306 contains a table that precisely associates one binary buffer 308 with each possible value of the estimate of the probability of acquisition of the current information value value of its less probable or more probable value, where different values for determining the estimation of the probability of acquisition by the current information quantity of its less probable or more probable value can be connected to the same binary buffer 308. In a further preferred embodiment of the invention, the interval of possible values for determining the estimate of the probability of acquisition by the current information quantity of its less probable or more probable value is divided into a number of intervals, the binary buffer selector 306 determines the index of the interval for the current determination of the estimate of the probability of acquisition by the current information quantity its less likely or more likely value, and the binary 60 buffer selector 306 contains a table that exactly associates one binary buffer 308 with each possible value for the interval index, where different values for the interval index can be associated with the same binary buffer 308. In a further preferred embodiment of the invention, linking the value for estimating the probability of the current information quantity acquiring its less likely or more likely value with a separate binary buffer is adapted over time, for example, to ensure that the generated partial bit streams have similar transmission rates bits

Кожен з двох або більшої кількості двійкових буферів 308 з'єднаний точно з одним двійковим кодером 310 і кожен двійковий кодер з'єднаний тільки з одним двійковим буфером 308. Кожен двійковий кодер 310 зчитує інформаційні величини з відповідного двійкового буфера 308 і перетворює послідовність інформаційних величин 309 на кодове слово 311, яке представляє послідовність бітів. Двійкові буфери 308 представляють буфери, які працюють по принципу "першим надійшов-першим вийшов"; інформаційні величини, які подаються пізніше (у послідовному порядку) у двійковий буфер 308, не кодуються перед інформаційним величинами, які подаються раніше (у послідовному порядку) у двійковий буфер. Кодові слова 311, які є виходом з окремого двійкового кодера 310, записуються в окремий частковий потік бітів 312.Each of the two or more binary buffers 308 is connected to exactly one binary encoder 310, and each binary encoder is connected to only one binary buffer 308. Each binary encoder 310 reads data values from the corresponding binary buffer 308 and converts a sequence of data values 309 to codeword 311, which represents a sequence of bits. Binary buffers 308 represent buffers that operate on a first-in-first-out basis; the information quantities that are supplied later (in sequential order) to the binary buffer 308 are not encoded before the information quantities that are supplied earlier (in sequential order) to the binary buffer. Codewords 311 that are output from a separate binary encoder 310 are written to a separate partial bit stream 312 .

Загальний алгоритм кодування перетворює синтаксичні елементи 301 на два або більшу кількість часткових потоків бітів 312, де кількість часткових потоків бітів дорівнює кількості двійкових буферів і двійкових кодерів. В переважному варіанті виконання винаходу двійковий кодер 310 перетворює змінну кількість інформаційних величин 309 на кодове слово 311 із змінною кількістю бітів. Однією перевагою вище- і нижчеописаних варіантів виконання винаходу є те, що кодування інформаційних величин може здійснюватися паралельно (наприклад, для різних груп значень ймовірності), що зменшує тривалість обробки для декількох втілень.The general coding algorithm converts the syntactic elements 301 into two or more partial bit streams 312, where the number of partial bit streams is equal to the number of binary buffers and binary encoders. In the preferred embodiment of the invention, the binary encoder 310 converts a variable number of information values 309 into a code word 311 with a variable number of bits. One advantage of the above- and below-described embodiments of the invention is that the encoding of information values can be carried out in parallel (for example, for different groups of probability values), which reduces the duration of processing for several embodiments.

Іншою перевагою варіантів виконання винаходу є те, що кодування інформаційних величин, яке виконується двійковими кодерами 310, може спеціально розроблятися для різних множин параметрів 305. Зокрема, кодування і декодування інформаційних величин можуть оптимізуватися (з точки зору ефективності кодування і/або складності) для різних груп оцінених ймовірностей. З одного боку, це дозволяє послабити складність кодування/декодування і, з іншого боку, це дозволяє покращити ефективність кодування. В переважному варіанті виконання винаходу двійкові кодери 310 втілюють різні алгоритми кодування (тобто,Another advantage of the embodiments of the invention is that the encoding of information values, which is performed by binary encoders 310, can be specially designed for different sets of parameters 305. In particular, the encoding and decoding of information values can be optimized (in terms of coding efficiency and/or complexity) for different groups of estimated probabilities. On the one hand, it allows to reduce the coding/decoding complexity and, on the other hand, it allows to improve the coding efficiency. In the preferred embodiment of the invention, the binary encoders 310 embody different coding algorithms (that is,

Зо перетворення послідовностей інформаційних величин на кодові слова) для різних груп значень оцінки ймовірності набуття поточною інформаційною величиною одного з її двох можливих значень. В подальшому переважному варіанті виконання винаходу двійкові кодери 310 втілюють різні алгоритми кодування для різних груп значень для оцінки ймовірності набуття поточною інформаційною величиною її менш ймовірного або більш ймовірного значення.From the conversion of sequences of information values into code words) for different groups of values for estimating the probability of acquisition by the current information value of one of its two possible values. In a further preferred embodiment of the invention, the binary encoders 310 implement different coding algorithms for different groups of values to estimate the probability of the current information quantity acquiring its less likely or more likely value.

В переважному варіанті виконання винаходу двійкові кодери 310 (або один або більша кількість двійкових кодерів) представляють ентропійні кодери, які безпосередньо перетворюють послідовності вхідних інформаційних величин 309 на кодові слова 310. Такі перетворення можуть ефективно виконуватися і не вимагають складного арифметичного кодувального засобу. Обернене перетворення кодових слів на послідовності інформаційних величин (як це робиться в декодері) повинне бути унікальним для гарантії досконалого декодування вхідної послідовності, але перетворення послідовностей 309 інформаційних величин на кодові слова 310 необов'язково потребує бути унікальною, тобто, можна, щоб окрему послідовність інформаційних величин можна було перетворювати на більше ніж одну послідовність кодових слів. В переважному варіанті виконання винаходу перетворення послідовностей вхідних інформаційних величин 309 на кодові слова 310 є бієктивним. В подальшому переважному варіанті виконання винаходу двійкові кодери 310 (або один або більша кількість двійкових кодерів) представляють ентропійні кодери, які безпосередньо перетворюють послідовності вхідних інформаційних величин 309 змінної довжини на кодові слова 310 змінної довжини. В переважному варіанті виконання винаходу вихідні кодові слова представляють коди без надлишку, такі як загальні коди Хаффмана або канонічні коди Хаффмана.In a preferred embodiment of the invention, binary encoders 310 (or one or more binary encoders) are entropy encoders that directly convert sequences of input information values 309 into code words 310. Such conversions can be performed efficiently and do not require complex arithmetic encoding means. The inverse conversion of code words into sequences of information quantities (as done in a decoder) must be unique to guarantee perfect decoding of the input sequence, but the conversion of sequences 309 of information quantities into code words 310 does not necessarily need to be unique, that is, it is possible for a separate sequence of information quantities could be converted to more than one sequence of code words. In the preferred embodiment of the invention, the conversion of sequences of input information values 309 into code words 310 is bijective. In a further preferred embodiment of the invention, binary encoders 310 (or one or more binary encoders) represent entropy encoders that directly convert sequences of input information values 309 of variable length to code words 310 of variable length. In a preferred embodiment of the invention, the source code words represent codes without redundancy, such as general Huffman codes or canonical Huffman codes.

Два приклади для бієктивного перетворення послідовностей інформаційних величин на коди без надлишку зображені в Таблиці 3. В подальшому переважному варіанті виконання винаходу вихідні кодові слова представляють надлишкові коди, придатні для виявлення помилки і виправлення помилки. В подальшому переважному варіанті виконання винаходу вихідні кодові слова представляють шифрувальні коди, придатні для шифрування синтаксичних елементів. (510)Two examples for bijective transformation of sequences of information quantities into codes without redundancy are shown in Table 3. In a further preferred embodiment of the invention, the source code words represent redundant codes suitable for error detection and error correction. In a further preferred embodiment of the invention, the source code words represent encryption codes suitable for encryption of syntactic elements. (510)

Таблиця ЗTable C

Приклади для перетворень між послідовностями інформаційних величин і кодовими словами послідовність інформаційних величин (порядок інформаційної величини зліва кодові слова (порядок бітів зліва направо) направо) послідовність інформаційних величин (порядок інформаційної величини зліва кодові слова (порядок бітів зліва направо) направо) пи ту Я ПО ГПОExamples for transformations between sequences of information quantities and code words sequence of information quantities (order of information quantity from left code words (order of bits from left to right) to right) sequence of information quantities (order of information quantity from left code words (order of bits from left to right) to right) HPO

В подальшому переважному варіанті виконання винаходу двійкові кодери 310 (або один або більша кількість двійкових кодерів) представляють ентропійні кодери, які безпосередньо перетворюють послідовності вхідних інформаційних величин 309 змінної довжини на кодові слова 310 фіксованої довжини. В подальшому переважному варіанті виконання винаходу двійкові кодери 310 (або один або більша кількість двійкових кодерів) представляють ентропійні кодери, які безпосередньо перетворюють послідовності вхідних інформаційних величин 309 фіксованої довжини на кодові слова 310 змінної довжини.In a further preferred embodiment of the invention, binary encoders 310 (or one or more binary encoders) are entropy encoders that directly convert sequences of input information values 309 of variable length to code words 310 of fixed length. In a further preferred embodiment of the invention, binary encoders 310 (or one or more binary encoders) are entropy encoders that directly convert sequences of input information values 309 of fixed length to code words 310 of variable length.

Декодер згідно з варіантом виконання винаходу зображений на Фігурі 8. Декодер виконує головним чином інверсні операції кодера таким чином, що (попередньо кодована) послідовність синтаксичних елементів 327 декодуються з множини з двох або більшої кількості часткових потоків бітів 324. Декодер містить два різні технологічні потоки: потік для інформаційних запитів, який копіює потік даних кодера, і потік даних, який представляє інверсію потоку даних кодера.A decoder according to an embodiment of the invention is shown in Figure 8. The decoder mainly performs the inverse operations of the encoder in such a way that a (pre-encoded) sequence of syntactic elements 327 is decoded from a plurality of two or more partial bit streams 324. The decoder contains two different process streams: an information query stream that copies the encoder data stream, and a data stream that represents the inversion of the encoder data stream.

На Фіг. 8 стрілки, позначені пунктирними лініями, представляють потік інформаційних запитів, тоді як стрілки, позначені суцільною лінією, представляють потік даних. Стандартні блоки декодера головним чином копіюють стандартні блоки кодера, але виконують обернені операції.In Fig. 8 arrows marked with dotted lines represent the flow of information requests, while arrows marked with a solid line represent the flow of data. Standard decoder blocks basically copy standard encoder blocks, but perform inverse operations.

Декодування синтаксичного елемента запускається запитом на надання нового декодованого синтаксичного елемента 313, який надсилається до бінаризатора 314. В переважному варіанті виконання винаходу кожен запит на надання нового декодованого синтаксичного елемента 313 зв'язується з категорією множини однієї або більшої кількості категорій. Категорія, яка зв'язується із запитом на надання синтаксичного елемента, є тією ж що й категорія, яка була зв'язана з відповідним синтаксичним елементом під час кодування.The decoding of a syntactic element is triggered by a request to provide a new decoded syntactic element 313, which is sent to the binarizer 314. In a preferred embodiment of the invention, each request to provide a new decoded syntactic element 313 is associated with a category of a plurality of one or more categories. The category associated with a request to provide a syntactic element is the same as the category that was associated with the corresponding syntactic element during encoding.

Бінаризатор 314 перетворює запит на надання синтаксичного елемента 313 на один або більшу кількість запитів на надання інформаційної величини, які надсилаються до присвоювача 316 параметрів. Як кінцеву відповідь на запит на надання інформаційної величини, який надсилається бінаризатором 314 до присвоювача 316 параметрів, бінаризатор 314 приймає декодовану інформаційну величину 326 від двійкового буферного селектора 318. Бінаризатор 314 порівнює прийняту послідовність декодованих двійкових кодів 326 з послідовностямиThe binarizer 314 converts the request to provide the syntactic element 313 into one or more requests to provide the information value, which are sent to the allocator 316 parameters. As a final response to the information quantity request sent by the binarizer 314 to the parameter allocator 316, the binarizer 314 receives the decoded information quantity 326 from the binary buffer selector 318. The binarizer 314 compares the received sequence of decoded binary codes 326 with the sequences

Зо двійкових кодів окремої схеми бінаризації для запрошеного синтаксичного елемента і, якщо прийнята послідовність декодованих двійкових кодів 326 відповідає результатам бінаризації синтаксичного елемента, то бінаризатор спорожнює свій двійковий буфер і видає декодований синтаксичний елемент як остаточну відповідь на запит на надання нового декодованого символу. Якщо вже прийнята послідовність декодованих двійкових кодів не відповідає жодній з послідовностей двійкових кодів для схеми бінаризації для запрошеного синтаксичного елемента, то бінаризатор надсилає інший запит на надання інформаційної величини до присвоювача параметрів до тих пір, доки послідовність декодованих двійкових кодів не відповідатиме одній з послідовностей двійкових кодів схеми бінаризації для запрошеного синтаксичного елемента. Для кожного запиту на надання синтаксичного елемента декодер використовує одну і ту ж схему бінаризації, яку використовували для кодування відповідного синтаксичного елемента. Схема бінаризації може відрізнятися для різних категорій синтаксичних елементів. Схема бінаризації для окремої категорії синтаксичного елемента може залежати від множини можливих значень синтаксичного елемента і/або інших властивостей синтаксичних елементів для окремої категорії.From the binary codes of a separate binarization scheme for the requested syntax element and, if the received sequence of decoded binary codes 326 matches the results of the binarization of the syntax element, then the binarizer empties its binary buffer and outputs the decoded syntax element as the final response to the request for a new decoded symbol. If the already accepted sequence of decoded binary codes does not match any of the binary code sequences for the binarization scheme for the requested syntax element, then the binarizer sends another information value request to the parameter assigner until the decoded binary code sequence matches one of the binary code sequences binarization schemes for the requested syntactic element. For each syntactic element request, the decoder uses the same binarization scheme that was used to encode the corresponding syntactic element. The binarization scheme may differ for different categories of syntactic elements. The binarization scheme for a separate category of a syntactic element may depend on the set of possible values of the syntactic element and/or other properties of the syntactic elements for a separate category.

Присвоювач 316 параметрів присвоює множину з одного або більшої кількості параметрів кожному запиту на надання інформаційної величини і надсилає запит на надання інформаційної величини з відповідною множиною параметрів до двійкового буферного селектора. Множина параметрів, які присвоюються запрошеній інформаційній величині присвоювачем параметрів, є тією ж, що була присвоєна відповідній інформаційній величині під час кодування. Множина параметрів може складатися з одного або більшої кількості параметрів, які згадуються в описі кодера з Фіг. 7.The parameter allocator 316 assigns a set of one or more parameters to each information value request and sends the information value request with the corresponding set of parameters to the binary buffer selector. The set of parameters that are assigned to the requested information quantity by the parameter assigner is the same that was assigned to the corresponding information quantity during encoding. The set of parameters may consist of one or more parameters mentioned in the description of the encoder of FIG. 7.

В переважному варіанті виконання винаходу присвоювач 316 параметрів зв'язує кожен запит на надання інформаційної величини з одними і тими ж параметрами, що й присвоювач 304 параметрів, тобто, контекст і його відповідне значення для оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень, таке як значення для оцінки ймовірності набуття поточною запрошеною інформаційною величиною її менш ймовірного або більш ймовірного значення і ідентифікатор, який специфікує оцінку, завдяки якій одне з двох можливих значень інформаційної величини представляє її менш ймовірне або більш ймовірне значення для поточної запрошеної інформаційної величини.In a preferred embodiment of the invention, the parameter allocator 316 associates each request for the provision of an information value with the same parameters as the parameter allocator 304, i.e., the context and its corresponding value for estimating the probability of the currently requested information value acquiring one of its two possible of values, such as a value for estimating the probability of the current requested information quantity acquiring its less likely or more likely value and an identifier that specifies the evaluation by which one of the two possible values of the information quantity represents its less likely or more likely value for the current requested information quantity.

Зо Присвоювач 316 параметрів може визначати одну або більшу кількість вищезгаданих значень ймовірності (значення оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень, значення для оцінки ймовірності набуття поточною запрошеною інформаційною величиною її менш ймовірного або більш ймовірного значення, ідентифікатор, який специфікує оцінку, завдяки якій одне з двох можливих значень інформаційної величини представляє її менш ймовірне або більш ймовірне значення для поточної запрошеної інформаційної величини) на основі множини з одного або більшої кількості вже декодованих символів. Визначення значень ймовірності для окремого запиту на надання інформаційної величини копіює процес в кодері для відповідної інформаційної величини. Декодовані символи, які використовуються для визначення величин ймовірності, можуть включати один або більшу кількість вже декодованих символів однієї і тієї ж категорії, які відповідають множинам даних (таким як блоки або групи зразків) про сусідні просторові і/або тимчасові розташування (відносно множини даних, зв'язаної з поточним запитом на надання синтаксичного елемента), або один або більшу кількість вже декодованих символів різних категорій, які відповідають множинам даних про однакові і/або сусідні просторові, і/або тимчасові розташування (відносно множини даних, зв'язаної з поточним запитом на надання синтаксичного елемента).Zo Allocator 316 parameters can determine one or more of the aforementioned probability values (a value for estimating the probability of the current requested information quantity acquiring one of its two possible values, a value for estimating the probability of the current requested information quantity acquiring its less likely or more likely value, an identifier that specifies an estimate by which one of two possible values of an information quantity represents its less likely or more likely value for the current requested information quantity) based on a set of one or more already decoded symbols. Determination of probability values for a separate request for the provision of an information quantity copies the process in the coder for the corresponding information quantity. The decoded symbols used to determine the probability values may include one or more already decoded symbols of the same category that correspond to data sets (such as blocks or groups of samples) of adjacent spatial and/or temporal locations (relative to the data set, associated with the current request for the provision of a syntactic element), or one or more already decoded symbols of different categories that correspond to sets of data about the same and/or adjacent spatial and/or temporal locations (relative to the set of data associated with the current request to provide a syntactic element).

Кожен запит на надання інформаційної величини з відповідною множиною параметрів 317, яка є виходом присвоювача 316 параметрів, подається у двійковий буферний селектор 318. На основі відповідної множини параметрів 317 двійковий буферний селектор 318 надсилає запит на надання інформаційної величини 319 до одного з двох або більшої кількості двійкових буферів 320 і приймає декодовану інформаційну величину 325 від вибраного двійкового буфера 320. Декодована вхідна інформаційна величина 325 потенційно модифікується і декодована вихідна інформаційна величина 326 (з потенційно модифікованим значенням) надсилається до бінаризатора 314 як кінцева відповідь на запит на надання інформаційної величини з відповідною множиною параметрів 317.Each request for providing an information quantity with a corresponding set of parameters 317, which is the output of the parameter assigner 316, is submitted to a binary buffer selector 318. Based on the corresponding set of parameters 317, the binary buffer selector 318 sends a request for providing an information quantity 319 to one of two or more binary buffers 320 and receives the decoded information quantity 325 from the selected binary buffer 320. The decoded input information quantity 325 is potentially modified and the decoded output information quantity 326 (with the potentially modified value) is sent to the binarizer 314 as the final response to the request for the information quantity with the appropriate set parameters 317.

Двійковий буфер 320, до якого надсилається запит на надання інформаційної величини, вибирається тим же способом, що й двійковий буфер, до якого була надіслана вихідна інформаційна величина двійкового буферного селектора на кодувальній стороні.The binary buffer 320 to which the information value is requested is selected in the same manner as the binary buffer to which the output information value of the encoding-side binary buffer selector was sent.

В переважному варіанті виконання винаходу двійковий буферний селектор 318 визначає 60 двійковий буфер 320, до якого надсилається запит на надання інформаційної величини 319, на основі відповідного значення для оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень. В переважному варіанті виконання винаходу множина можливих значень для оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень є скінченою, а двійковий буферний селектор 318 містить таблицю, яка точно зв'язує один двійковий буфер 320 з кожним можливим значенням оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень, де різні значення для оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень можуть зв'язуватися з одним і тим же двійковим буфером 320. В подальшому переважному варіанті виконання винаходу інтервал можливих значень для оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень ділиться на ряд інтервалів, двійковий буферний селектор 318 визначає індекс інтервалу для поточної оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень і двійковий буферний селектор 318 містить таблицю, яка точно зв'язує один двійковий буфер 320 з кожним можливим значенням для індексу інтервалу, де різні значення для індексу інтервалу можуть зв'язуватися з одним і тим же двійковим буфером 320. В переважному варіанті виконання винаходу запити на надання інформаційних величин 317 з протилежними значеннями для оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень (протилежні значення є тими, які представляють оцінки ймовірностей Р і 1 - Р) надсилаються до одного і того ж двійкового буфера 320. В подальшому переважному варіанті виконання винаходу зв'язування значення для оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень з конкретним двійковим буфером адаптується з часом.In the preferred embodiment of the invention, the binary buffer selector 318 determines 60 the binary buffer 320, to which the request for the provision of the information quantity 319 is sent, based on the appropriate value for assessing the probability of the current requested information quantity acquiring one of its two possible values. In a preferred embodiment of the invention, the set of possible values for estimating the probability of acquiring one of its two possible values by the current requested information quantity is finite, and the binary buffer selector 318 contains a table that precisely associates one binary buffer 320 with each possible value of estimating the probability of acquiring the current by the requested information value of one of its two possible values, where different values for evaluating the probability of acquisition by the current requested information value of one of its two possible values can be associated with the same binary buffer 320. In a further preferred embodiment of the invention, the interval of possible values for estimation of the probability of acquisition by the current requested information value of one of its two possible values is divided into a number of intervals, the binary buffer selector 318 determines the index of the interval for the current evaluation of the probability of acquisition by the current requested information value of one of its two possible values and two binary buffer selector 318 contains a table that precisely associates one binary buffer 320 with each possible value for the interval index, where different values for the interval index may be associated with the same binary buffer 320. In a preferred embodiment of the invention, requests for provision of information quantities 317 with opposite values to estimate the probability of acquisition of the currently requested information quantity of one of its two possible values (the opposite values are those representing the probability estimates P and 1 - P) are sent to the same binary buffer 320. In a further preferred in the embodiment of the invention, linking the value for estimating the probability of the currently requested information quantity acquiring one of its two possible values with a specific binary buffer is adapted over time.

В подальшому переважному варіанті виконання винаходу двійковий буферний селектор 318 визначає двійковий буфер 320, до якого надсилається запит на надання інформаційної величини 319, на основі відповідного значення для оцінки ймовірності набуття поточною запрошеною інформаційною величиною її менш ймовірного або більш ймовірного значення. В переважному варіанті виконання винаходу множина можливих значень для оцінки ймовірності набуття поточною запрошеною інформаційною величиною її менш ймовірного або більшIn a further preferred embodiment of the invention, the binary buffer selector 318 determines the binary buffer 320 to which the request for providing the information value 319 is sent, based on the appropriate value for assessing the probability of the current requested information value acquiring its less likely or more likely value. In the preferred embodiment of the invention, a set of possible values for evaluating the probability of acquisition by the current requested information quantity is less likely or more

Зо ймовірного значення є скінченою і двійковий буферний селектор 318 містить таблицю, яка точно зв'язує один двійковий буфер 320 з кожним можливим значенням оцінки ймовірності набуття поточною запрошеною інформаційною величиною її менш ймовірного або більш ймовірного значення, де різні значення для оцінки ймовірності набуття поточною запрошеною інформаційною величиною її менш ймовірного або більш ймовірного значення можуть зв'язуватися з одним і тим же двійковим буфером 320. В подальшому переважному варіанті виконання винаходу інтервал можливих величин для оцінки ймовірності набуття поточною запрошеною інформаційною величиною її менш ймовірного або більш ймовірного значення ділиться на ряд інтервалів, двійковий буферний селектор 318 визначає індекс інтервалу для поточної оцінки ймовірності набуття поточною запрошеною інформаційною величиною її менш ймовірного або більш ймовірного значення і двійковий буферний селектор 318 містить таблицю, яка точно зв'язує один двійковий буфер 320 з кожним можливим значення для індексу інтервалу, де різні значення для індексу інтервалу можуть зв'язуватися з одним і тим же двійковим буфером 320. В подальшому переважному варіанті виконання винаходу зв'язування оцінки ймовірності набуття поточною запрошеною інформаційною величиною її менш ймовірного або більш ймовірного значення з окремим двійковим буфером адаптується з часом.From the probable value is finite and the binary buffer selector 318 contains a table that precisely associates one binary buffer 320 with each possible value of the estimate of the probability of acquisition by the current requested information quantity of its less probable or more probable value, where different values for the estimate of the probability of acquisition by the current requested the information quantity of its less probable or more probable value can be connected to the same binary buffer 320. In a further preferred embodiment of the invention, the interval of possible values for estimating the probability of acquisition of the currently requested information quantity of its less probable or more probable value is divided into a number of intervals , the binary buffer selector 318 determines the interval index for the current estimate of the probability of the current requested information quantity acquiring its less likely or more likely value, and the binary buffer selector 318 contains a table that precisely associates one binary buffer 320 with different possible values for the interval index, where different values for the interval index can be associated with the same binary buffer 320. In a further preferred embodiment of the invention, linking the estimate of the probability of the current requested information quantity acquiring its less probable or more probable value with a separate binary buffer adapts over time.

Після одержання декодованої інформаційної величини 325 від вибраного двійкового буфера 320 двійковий буферний селектор 318 потенційно модифікує вхідну інформаційну величину 325 і надсилає вихідну інформаційну величину 326 (з потенційно модифікованим значенням) до бінаризатора 314. Перетворення вхідної/вихідної інформаційної величини двійкового буферного селектора 318 є оберненим перетворенням вхідної/вихідної інформаційної величини двійкового буферного селектора на кодувальній стороні.After receiving the decoded information quantity 325 from the selected binary buffer 320, the binary buffer selector 318 potentially modifies the input information quantity 325 and sends the output information quantity 326 (with the potentially modified value) to the binarizer 314. The conversion of the input/output information quantity of the binary buffer selector 318 is an inverse transformation. of the input/output information value of the binary buffer selector on the encoding side.

В переважному варіанті виконання винаходу двійковий буферний селектор 318 не змінює значення інформаційної величини, тобто, вихідна інформаційна величина 326 завжди має одне і те ж значення, що й вхідна інформаційна величина 325. В подальшому переважному варіанті виконання винаходу двійковий буферний селектор 318 визначає значення вихідної інформаційної величини 326 на основі значення вхідної інформаційної величини 325 і значення для оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень, яке зв'язане із запитом на надання інформаційної величини 317. В переважному варіанті виконання винаходу значення вихідної інформаційної величини 326 бо встановлюється рівним значенню вхідної інформаційної величини 325, якщо значення ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень менше, ніж (або менше ніж або дорівнює) окреме порогове значення; якщо значення ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень більше або дорівнює (або більше за) окремому пороговому значенню, то значення вихідної інформаційної величини 326 модифікується (тобто, воно встановлюється рівним протилежному значенню вхідної інформаційної величини). В подальшому переважному варіанті виконання винаходу значення вихідної інформаційної величини 326 встановлюється рівним значенню вхідної інформаційної величини 325, якщо значення ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень більше за (або більше за або дорівнює) окреме порогове значення; якщо значення ймовірності на набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень менше ніж або дорівнює (або менше ніж) окремому пороговому значенню, то значення вихідної інформаційної величини 326 модифікується (тобто, воно встановлюється рівним протилежному значенню вхідної інформаційної величини). В переважному варіанті виконання винаходу значення порогу відповідає величині 0,5 для оціненої ймовірності набуття поточною запрошеною інформаційною величиною обох її можливих величин.In a preferred embodiment of the invention, the binary buffer selector 318 does not change the value of the information quantity, i.e., the output information quantity 326 always has the same value as the input information quantity 325. In a further preferred embodiment of the invention, the binary buffer selector 318 determines the value of the output information quantity value 326 based on the value of the input information value 325 and the value for estimating the probability of the current requested information value acquiring one of its two possible values, which is associated with the request for the provision of the information value 317. In the preferred embodiment of the invention, the value of the initial information value 326 is set equal to the value of the input information value 325, if the value of the probability of acquisition by the current requested information value of one of its two possible values is less than (or less than or equal to) a separate threshold value; if the value of the probability of the current requested information value acquiring one of its two possible values is greater than or equal to (or greater than) a separate threshold value, then the value of the output information value 326 is modified (that is, it is set equal to the opposite value of the input information value). In a further preferred embodiment of the invention, the value of the initial information quantity 326 is set equal to the value of the input information quantity 325, if the value of the probability of acquisition by the current requested information quantity of one of its two possible values is greater than (or greater than or equal to) a separate threshold value; if the value of the probability of acquisition of the current requested information value of one of its two possible values is less than or equal to (or less than) a separate threshold value, then the value of the output information value 326 is modified (that is, it is set equal to the opposite value of the input information value). In the preferred embodiment of the invention, the threshold value corresponds to the value of 0.5 for the estimated probability of acquisition by the current requested information value of both of its possible values.

В подальшому переважному варіанті виконання винаходу двійковий буферний селектор 318 визначає значення вихідної інформаційної величини 326 на основі значення вхідної інформаційної величини 325, а ідентифікатор, який специфікує оцінку, завдяки якій одне з двох можливих значень інформаційної величини представляє її менш ймовірне або більш ймовірне значення для поточної запрошеної інформаційної величини, яке зв'язане із запитом на надання інформаційної величини 317. В переважному варіанті виконання винаходу значення вихідної інформаційної величини 326 встановлюється рівним значенню вхідної інформаційної величини 325, якщо ідентифікатор специфікує, що перше з двох можливих значень інформаційної величини представляє її менш ймовірне (або більш ймовірне) значення для поточної запрошеної інформаційної величини і значення вихідної інформаційної величини 326 модифікується (тобто, воно встановлюється рівним протилежному значенню вхідної інформаційної величини), якщо ідентифікатор специфікує, що друге з двох можливих значень інформаційної величини представляє її менш ймовірне (або більш ймовірне) значення дляIn a further preferred embodiment of the invention, the binary buffer selector 318 determines the value of the output information quantity 326 based on the value of the input information quantity 325, and the identifier that specifies the estimate by which one of the two possible values of the information quantity represents its less likely or more likely value for the current of the requested information quantity, which is associated with the request for the provision of the information quantity 317. In the preferred embodiment of the invention, the value of the initial information quantity 326 is set equal to the value of the input information quantity 325, if the identifier specifies that the first of the two possible values of the information quantity represents its less probable (or more likely) value for the current requested information quantity and the value of the output information quantity 326 is modified (ie, it is set equal to the opposite value of the input information quantity) if the identifier specifies that the second of the two possible values of the information quantity represents its less likely (or more likely) value for

Зо поточної запрошеної інформаційної величини.From the current requested information value.

Як описано вище, двійковий буферний селектор надсилає запит на надання інформаційної величини 319 одному з двох або більшої кількості двійкових буферів 320. Двійкові буфери 20 являють собою буфери, які працюють по принципу "першим прийшов першим вийшов", до яких подаються послідовності декодованих інформаційних величин 321 від під'єднаних двійкових декодерів 322. Як відповідь на запит на надання інформаційної величини 319, яка надсилається до двійкового буфера 320 від двійкового буферного селектора 318, двійковий буфер 320 видаляє інформаційну величину з свого контенту, який спершу був поданий в двійковий буфер 320, і надсилає його до двійкового буферного селектора 318. Інформаційні величини, які раніше надсилаються до двійкового буфера 320, раніше видаляються і надсилаються до двійкового буферного селектора 318.As described above, the binary buffer selector sends a request for information value 319 to one of two or more binary buffers 320. Binary buffers 20 are first-in, first-out buffers to which sequences of decoded information values 321 are supplied. from connected binary decoders 322. In response to a request to provide an information quantity 319 that is sent to binary buffer 320 from binary buffer selector 318, binary buffer 320 removes the information quantity from its content that was first supplied to binary buffer 320, and sends it to the binary buffer selector 318. The information quantities previously sent to the binary buffer 320 are previously removed and sent to the binary buffer selector 318.

Кожен з двох або більшої кількості двійкових буферів 320 точно з'єднаний з одним двійковим декодером 322 і кожен двійковий декодер з'єднаний тільки з одним двійковим буфером 320.Each of the two or more binary buffers 320 is precisely connected to one binary decoder 322 and each binary decoder is connected to only one binary buffer 320 .

Кожен двійковий декодер 322 зчитує кодові слова 323, які представляють послідовності бітів, з окремого часткового потоку бітів 324. Двійковий декодер перетворює кодове слово 323 на послідовність інформаційних величин 321, яка надсилається до під'єднаного двійкового буфера 320. Загальний алгоритм декодування перетворює два або більшу кількість часткових потоків бітів 324 на ряд декодованих синтаксичних елементів, де кількість часткових потоків бітів дорівнює кількості двійкових буферів і двійкових декодерів, а декодування синтаксичних елементів запускається запитами на надання нових синтаксичних елементів. В переважному варіанті виконання винаходу двійковий декодер 322 перетворює кодові слова 323 із змінною кількістю бітів на послідовність змінної кількості інформаційних величин 321. Одна перевага варіантів виконання винаходу полягає в тому, що декодування інформаційних величин з двох або більшої кількості часткових потоків бітів може виконуватися паралельно (наприклад, для різних груп значень ймовірності), що зменшує час обробки для декількох втілень.Each binary decoder 322 reads code words 323, which represent sequences of bits, from a separate partial bit stream 324. The binary decoder converts the code word 323 into a sequence of information quantities 321, which is sent to a connected binary buffer 320. The general decoding algorithm converts two or more the number of partial bit streams 324 per row of decoded syntactic elements, where the number of partial bit streams is equal to the number of binary buffers and binary decoders, and the decoding of syntactic elements is triggered by requests to provide new syntactic elements. In a preferred embodiment of the invention, the binary decoder 322 converts code words 323 with a variable number of bits into a sequence of a variable number of information quantities 321. One advantage of the embodiments of the invention is that the decoding of information quantities from two or more partial bit streams can be performed in parallel (e.g. , for different groups of probability values), which reduces the processing time for multiple implementations.

Інша перевага варіантів виконання винаходу полягає в тому, що декодування інформаційних величин, яке виконується двійковими декодерами 322, може спеціально розроблятися для різних множин параметрів 317. Зокрема, кодування і декодування інформаційних величин можуть оптимізуватися (з точки зору ефективності кодування і/або складності) для різних груп оцінених ймовірностей. З одного боку, це дозволяє послаблення складності 60 кодування/декодування відносно алгоритмів ентропійного кодування рівня техніки з подібною ефективністю кодування. З іншого боку, це дозволяє покращити ефективність кодування відносно алгоритмів ентропійного кодування рівня техніки з подібною складністю кодування/декодування. В переважному варіанті виконання винаходу двійкові декодери 322 втілюють різні алгоритми декодування (тобто, перетворення послідовностей інформаційних величин на кодові слова) для різних груп значень для оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень 317. В подальшому переважному варіанті виконання винаходу двійкові декодери 322 втілюють різні алгоритми декодування для різних груп значень для оцінки ймовірності набуття поточною запрошеною інформаційною величиною її менш ймовірного або більш ймовірного значення.Another advantage of the embodiments of the invention is that the decoding of the information quantities performed by the binary decoders 322 can be specially designed for different sets of parameters 317. In particular, the encoding and decoding of the information quantities can be optimized (in terms of coding efficiency and/or complexity) for different groups of estimated probabilities. On the one hand, this allows a reduction in the encoding/decoding complexity 60 relative to prior art entropy encoding algorithms with similar encoding efficiency. On the other hand, it allows for improved coding efficiency relative to prior art entropy coding algorithms with similar coding/decoding complexity. In a preferred embodiment of the invention, binary decoders 322 implement different decoding algorithms (that is, conversion of sequences of information values into code words) for different groups of values to estimate the probability of the currently requested information value acquiring one of its two possible values 317. In a further preferred embodiment of the invention, binary decoders decoders 322 implement different decoding algorithms for different groups of values to estimate the probability of acquisition by the current requested information value of its less likely or more likely value.

Двійкові декодери 322 виконують обернене перетворення відносно перетворення, здійснюваного відповідними двійковими кодерами на кодувальній стороні.Binary decoders 322 perform the inverse transformation relative to the transformation performed by the corresponding binary encoders on the coding side.

В переважному варіанті виконання винаходу двійкові декодери 322 (або один або більша кількість двійкових декодерів) представляють ентропійні декодери, які безпосередньо перетворюють кодові слова 323 на послідовності інформаційних величин 321. Такі перетворення можуть ефективно виконуватися і не вимагають складного арифметичного кодувального засобу. Перетворення кодових слів на послідовності інформаційних величин повинно бути унікальним. В переважному варіанті виконання винаходу перетворення кодових слів 323 на послідовності інформаційних величин 321 є бієктивним. В подальшому переважному варіанті виконання винаходу двійкові декодери 310 (або один або більша кількість двійкових декодерів) представляють ентропійні декодери, які безпосередньо перетворюють кодові слова 323 змінної довжини на послідовності інформаційних величин 321 змінної довжини. В переважному варіанті виконання винаходу вхідні кодові слова представляють коди без надлишку, такі як загальні коди Хаффмана або канонічні коди Хаффмана. Два приклади для бієктивного перетворення кодів без надлишку на послідовності інформаційних величин вказані вIn a preferred embodiment of the invention, binary decoders 322 (or one or more binary decoders) are entropy decoders that directly convert code words 323 into sequences of information values 321. Such conversions can be performed efficiently and do not require a complex arithmetic coding tool. The transformation of code words into sequences of information values must be unique. In the preferred embodiment of the invention, the conversion of code words 323 into sequences of information values 321 is bijective. In a further preferred embodiment of the invention, binary decoders 310 (or one or more binary decoders) are entropy decoders that directly convert code words 323 of variable length to sequences of information values 321 of variable length. In a preferred embodiment of the invention, the input code words are non-redundant codes, such as general Huffman codes or canonical Huffman codes. Two examples for the bijective conversion of codes without redundancy into sequences of information quantities are given in

Таблиці 3.Tables 3.

В подальшому переважному варіанті виконання винаходу двійкові декодери 322 (або один або більша кількість двійкових декодерів) представляють ентропійні декодери, які безпосередньо перетворюють кодові слова 323 фіксованої довжини на послідовності інформаційних величин 321 змінної довжини. В подальшому переважному варіанті виконанняIn a further preferred embodiment of the invention, binary decoders 322 (or one or more binary decoders) are entropy decoders that directly convert codewords 323 of fixed length to sequences of information values 321 of variable length. In the next preferred embodiment

Ко) винаходу двійкові декодери 322 (або один або більша кількість двійкових декодерів) представляють ентропійні декодери, які безпосередньо перетворюють кодові слова 323 змінної довжини на послідовності інформаційних величин 321 фіксованої довжини.Ko) of the invention, binary decoders 322 (or one or more binary decoders) are entropy decoders that directly convert codewords 323 of variable length to sequences of information values 321 of fixed length.

Таким чином, Фіг. 7 і 8 зображають варіант виконання кодера для кодування послідовності символів З і декодер для їх відновлення. Кодер містить присвоювач 304, сконфігурований для присвоєння ряду параметрів 305 кожному символу послідовності символів. Присвоєння базується на інформації, яка міститься в попередніх символах послідовності символів, такій як категорія синтаксичного елемента 1 для представлення, такого як бінаризація, якому належить поточний символ і яке, згідно з синтаксичною структурою синтаксичних елементів 1, на даний момент очікується, очікування якого, у свою чергу, можна одержати з історії попередніх синтаксичних елементів 1 і символів 3. Окрім того, кодер містить множину ентропійних кодерів 10, кожен з яких сконфігурований для перетворення символів 3, надісланих до відповідного ентропійного кодера, на відповідний потік бітів 312, і селектор 306, сконфігурований для надсилання кожного символу З до вибраного одного з множини ентропійних кодерів 10, при цьому вибір залежить від кількості параметрів 305, присвоєних відповідному символу 3.Thus, Fig. 7 and 8 show an embodiment of an encoder for encoding a sequence of symbols C and a decoder for their recovery. The encoder includes an assigner 304 configured to assign a number of parameters 305 to each symbol of the sequence of symbols. The assignment is based on the information contained in the previous symbols of the sequence of symbols, such as the category of syntactic element 1 for the representation, such as binarization, to which the current symbol belongs and which, according to the syntactic structure of syntactic elements 1, is currently expected, the expectation of which, in in turn, can be obtained from the history of previous syntax elements 1 and symbols 3. In addition, the encoder includes a plurality of entropy encoders 10, each of which is configured to convert the symbols 3 sent to a corresponding entropy encoder into a corresponding bit stream 312, and a selector 306, configured to send each symbol C to a selected one of a plurality of entropy encoders 10, the selection depending on the number of parameters 305 assigned to the corresponding symbol 3.

Присвоювач 304 міг би передбачатися інтегрованим в селектор 206 для одержання відповідного селектора 502.The assigner 304 could be assumed to be integrated into the selector 206 to produce the corresponding selector 502.

Декодер для відновлення послідовності символів містить множину ентропійних декодерів 322, кожен з яких сконфігурований для перетворення відповідного потоку бітів 323 на символи 321; присвоювач 316, сконфігурований для присвоєння ряду параметрів 317 кожному символу 315 послідовності символів, які відновлюються на основі інформації, яка міститься в попередньо відновлених символах послідовності символів (дивіться позиції 326 і 327 на Фіг. 8); і селектор 318, сконфігурований для одержання кожного символу послідовності символів, які відновлюються, з вибраного одного з множини ентропійних кодерів 322, при цьому вибір залежить від кількості параметрів, визначених для відповідного символу. Присвоювач 316 може конфігуруватися так, що кількість параметрів, присвоєних кожному символу, містить або є засобом для оцінки ймовірності розподілу можливих значень символу, які він може припускати.The decoder for restoring the sequence of symbols includes a plurality of entropy decoders 322, each of which is configured to convert a corresponding bit stream 323 into symbols 321; an allocator 316 configured to assign a number of parameters 317 to each symbol 315 of the sequence of symbols, which are reconstructed based on the information contained in previously reconstructed symbols of the sequence of symbols (see positions 326 and 327 in Fig. 8); and a selector 318 configured to receive each symbol of the sequence of symbols to be recovered from a selected one of the plurality of entropy encoders 322, the selection depending on the number of parameters defined for the corresponding symbol. Assigner 316 may be configured such that the number of parameters assigned to each symbol contains or is a means of estimating the probability distribution of the possible symbol values it may assume.

Знову, присвоювач 316 і селектор 318 можуть передбачатися як інтегровані в один блок - селектор 402. Послідовність символів, які відновлюються, може бути бінарним алфавітом і присвоювач 316 може конфігуруватися так, що оцінка розподілу ймовірності складається із бо значення для оцінки ймовірності набуття поточною інформаційною величиною її менш ймовірного або більш ймовірного значення з двох її можливих значень бінарного алфавіту, а ідентифікатор, який специфікує оцінку, завдяки якій одне 3 двох можливих значень інформаційної величини представляє її менш ймовірне або більш ймовірне значення.Again, allocator 316 and selector 318 can be envisioned as being integrated into a single block, selector 402. The sequence of symbols to be recovered can be a binary alphabet and allocator 316 can be configured such that the estimate of the probability distribution consists of a bo value to estimate the probability of acquiring the current information quantity its less likely or more likely value of its two possible binary alphabet values, and an identifier that specifies the score by which one of the 3 two possible values of the information quantity represents its less likely or more likely value.

Присвоювач 316 може додатково конфігуруватися для внутрішнього присвоювання контексту кожному символу послідовності символів 315, які відновлюються на основі інформації, яка міститься в попередньо відновлених символах послідовності символів, які відновлюються, при цьому кожен контекст має відповідну зв'язану з ним оцінку розподілу ймовірності, і для адаптації оцінки розподілу ймовірності для кожного контексту до реальної символьної статистики на основі значень попередньо відновлених символів, якій присвоєний відповідний контекст.The allocator 316 may be further configured to internally assign a context to each symbol of the sequence of symbols 315 to be reconstructed based on information contained in previously reconstructed symbols of the sequence of symbols to be reconstructed, each context having a corresponding probability distribution estimate associated with it, and to adapting the estimate of the probability distribution for each context to the actual character statistics based on the previously reconstructed character values assigned to the corresponding context.

Контекст може брати до уваги просторовий зв'язок або сусідство положень, яким належать синтаксичні елементи, такі як у кодуванні відеоданих або кодуванні картинки, або навіть в таблицях у випадку застосувань у фінансовій сфері. Потім, значення для оцінки розподілу ймовірності для кожного символу може визначатися на основі оцінки розподілу ймовірності, зв'язаної з контекстом, присвоєного відповідному символу, як наприклад за допомогою дискретизації, або використовуючи індекс у відповідній таблиці, на основі оцінки розподілу ймовірності, зв'язаної з контекстом, присвоєного відповідним символом (у нижченаведених варіантах виконання, індексованих ріре індексом разом з індексом деталізації) одному з множини представників оцінки розподілу ймовірності (відрізняється від індексу деталізації) для одержання значення оцінки розподілу ймовірності (ріре індекс, який позначає частковий потік бітів 312). Селектор може конфігуруватися так, що між множиною ентропійних кодерів і множиною представників оцінки розподілу ймовірності визначається бієктивний зв'язок.The context may take into account the spatial relationship or neighborhood of the provisions to which the syntactic elements belong, such as in video data encoding or picture encoding, or even in tables in the case of applications in the financial field. Then, a value to estimate the probability distribution for each symbol can be determined based on the estimate of the probability distribution associated with the context assigned to the corresponding symbol, such as by sampling, or using an index in the corresponding table, based on the estimate of the probability distribution associated with with a context assigned a corresponding symbol (in the embodiments below, indexed by the rire index together with the granularity index) to one of the plurality of representatives of the probability distribution estimate (distinct from the granularity index) to obtain the value of the probability distribution estimate (the rire index that denotes the partial bit stream 312 ) . The selector can be configured so that a bijective relationship is defined between a set of entropy encoders and a set of representatives of the probability distribution estimate.

Селектор 18 може конфігуруватися для зміни дискретного перетворення з інтервалу оцінок розподілу ймовірності на множину представників оцінки розподілу ймовірності наперед встановленим детерміністичним способом в залежності від попередньо відновлених символів послідовності символів протягом часу. Тобто, селектор 318 може змінювати розміри кроку дискретизації, тобто, інтервали розподілу ймовірності, перетворені на окремі індекси ймовірності, бієктивно зв'язані з окремими ентропійними декодерами. Множина ентропійних декодерів 322, у свою чергу, може конфігуруватися для адаптації свого способу перетворення символів на потоки бітів, яка відповідає за зміну в дискретному перетворенні. Наприклад, коженThe selector 18 can be configured to change the discrete transformation from an interval of probability distribution estimates to a set of representatives of the probability distribution estimate in a predetermined deterministic manner depending on the previously recovered symbols of the sequence of symbols over time. That is, the selector 318 can change the dimensions of the sampling step, that is, the intervals of the probability distribution, converted into individual probability indices, bijectively associated with individual entropy decoders. A set of entropy decoders 322, in turn, can be configured to adapt its way of converting symbols to bit streams, which is responsible for the change in discrete conversion. For example, everyone

Зо ентропійний декодер 322 може оптимізуватися, тобто, може мати оптимальний коефіцієнт стискання для певної оцінки розподілу ймовірності у відповідному інтервалі дискретизації оцінки розподілу ймовірності і може змінювати перетворення своєї послідовності кодових слів/символів для адаптації положення цієї певної оцінки розподілу ймовірності у відповідному інтервалі дискретизації оцінки розподілу ймовірності при зміні останнього для його оптимізації. Селектор може конфігуруватися для зміни дискретного перетворення так, що швидкості, з якими символи виділяються з множини ентропійних декодерів, робляться менш розкиданими. Щодо бінаризатора 314, відмічається, що він може усуватися, якщо синтаксичні елементи є вже двійковими. Окрім того, в залежності від типу декодера 322, існування буферів 320 не потрібне.Zo entropy decoder 322 may be optimized, i.e., may have an optimal compression ratio for a particular probability distribution estimate in a corresponding probability distribution estimate sampling interval and may vary the transformation of its codeword/symbol sequence to adapt the position of that particular probability distribution estimate in a corresponding distribution estimate sampling interval probabilities when changing the latter for its optimization. The selector can be configured to change the discrete transform so that the rates at which symbols are extracted from the plurality of entropy decoders are made less scattered. Regarding the binarizer 314, it is noted that it can be eliminated if the syntax elements are already binary. In addition, depending on the type of decoder 322, the existence of buffers 320 is not necessary.

Окрім того, буфери можуть інтегруватися в декодери.In addition, buffers can be integrated into decoders.

Закінчення скінчених послідовностей синтаксичних елементівTermination of finite sequences of syntactic elements

В переважному варіанті виконання винаходу кодування і декодування виконується для скінченої множини синтаксичних елементів. Часто кодується певна кількість даних, таких як нерухоме зображення, кадр або поле послідовності відеоданих, частина зображення, частина кадру або поля послідовності відеоданих, або множина послідовних аудіозразків і так далі. Для скінчених множин синтаксичних елементів, головним чином, часткові потоки бітів, які створюються на кодувальній стороні, повинні закінчуватися, тобто, слід гарантувати можливість декодування усіх синтаксичних елементів з переданих або збережених часткових потоків бітів.In a preferred embodiment of the invention, encoding and decoding is performed for a finite set of syntactic elements. Often, a certain amount of data is encoded, such as a still image, a frame or field of a video data sequence, a part of an image, a part of a frame or field of a video data sequence, or a plurality of consecutive audio samples, and so on. For finite sets of syntactic elements, in particular, the partial bitstreams that are created on the encoding side must be finite, i.e., it must be guaranteed that all syntactic elements can be decoded from the transmitted or stored partial bitstreams.

Після введення останньої інформаційної величини у відповідний двійковий буфер 308, двійковий кодер 310 повинен гарантувати запис повного кодового слова в частковий потік бітів 312. Якщо двійковий кодер 310 представляє ентропійний кодер, який втілює пряме перетворення послідовностей інформаційних величин на кодові слова, то послідовність інформаційних величин, яка зберігається в двійковому буфері після запису останньої інформаційної величини у двійковий буфер, може не представляти послідовність інформаційних величин, яка зв'язується з кодовим словом (тобто, вона могла б представляти префікс двох або більшої кількості послідовностей інформаційних величин, які зв'язуються з кодовими словами).After the input of the last information value in the corresponding binary buffer 308, the binary coder 310 must ensure that the complete codeword is written into the partial bit stream 312. If the binary coder 310 represents an entropy coder that embodies a direct conversion of sequences of information values into code words, then a sequence of information values, which is stored in the binary buffer after writing the last data value to the binary buffer, may not represent a sequence of data values associated with a code word (ie, it could represent a prefix of two or more sequences of data values that are associated with a code word words).

У такому випадку, будь-яке з кодових слів, зв'язане з послідовністю інформаційних величин, яке містить послідовність інформаційних величин у двійковому буфері як префікс, повинно записуватися в частковий потік бітів (двійковий буфер повинен очищатися). Це могло б виконуватися вставлянням інформаційних величин з окремим або довільним значенням у бо двійковий буфер, доки не буде записане кодове слово. В переважному варіанті виконання винаходу двійковий кодер вибирає одне з кодових слів з мінімальною довжиною (на додаток до властивості, яка полягає в тому, що відповідна послідовність інформаційних величин повинна містити послідовність інформаційних величин у двійковому буфері як префікс). На декодувальній стороні двійковий декодер 322 може декодувати більше інформаційних величин, ніж вимагається для останнього кодового слова в частковому потоці бітів; ці інформаційні величини не запрошуються двійковим буферним селектором 318 і викидаються та ігноруються.In such a case, any of the codewords associated with the sequence of information values, which contains the sequence of information values in the binary buffer as a prefix, must be written to the partial bit stream (the binary buffer must be cleared). This could be done by inserting information quantities with a single or arbitrary value into a binary buffer until the code word is written. In a preferred embodiment of the invention, the binary coder selects one of the code words with the minimum length (in addition to the property that the corresponding sequence of information values must contain the sequence of information values in the binary buffer as a prefix). On the decoding side, the binary decoder 322 can decode more information quantities than required for the last code word in the partial bit stream; these information values are not requested by the binary buffer selector 318 and are discarded and ignored.

Декодування скінченої множини символів контролюється запитами на надання декодованих синтаксичних елементів; якщо не запрошується додатковий синтаксичний елемент для певної кількості даних, то декодування припиняється.Decoding of a finite set of symbols is controlled by requests to provide decoded syntactic elements; if no additional syntax element is requested for a certain amount of data, then decoding stops.

Передача і мультиплексування часткових потоків бітівTransmission and multiplexing of partial bit streams

Часткові потоки бітів 312, які створюються кодером, можуть передаватися окремо або вони можуть мультиплексуватися в єдиний потік бітів, або кодові слова часткових потоків бітів можуть чергуватися в єдиному потоці бітів.The partial bitstreams 312 that are produced by the encoder may be transmitted separately, or they may be multiplexed into a single bitstream, or the codewords of the partial bitstreams may alternate within the single bitstream.

У варіанті виконання винаходу кожен частковий потік бітів для певної кількості даних записується в один пакет даних. Кількість даних може бути довільною множиною синтаксичних елементів, таких як нерухоме зображення, поле або кадр послідовності відеоданих, частина нерухомого зображення, частина поля або кадру послідовності відеоданих, або основа аудіовибірок і так далі.In an embodiment of the invention, each partial stream of bits for a certain amount of data is recorded in one data packet. The amount of data may be an arbitrary set of syntactic elements, such as a still image, a field or frame of a video data sequence, a portion of a still image, a portion of a field or frame of a video data sequence, or the basis of audio samples, and so on.

В іншому переважному варіанті виконання винаходу два або більша кількість часткових потоків бітів для певної кількості даних або усі часткові потоки бітів для певної кількості даних мультиплексуються в один пакет даних. Структура пакета даних, який містить мультиплексовані часткові потоки бітів, зображена на Фігурі 9.In another preferred embodiment of the invention, two or more partial bit streams for a certain amount of data or all partial bit streams for a certain amount of data are multiplexed into one data packet. The structure of a data packet, which contains multiplexed partial bit streams, is shown in Figure 9.

Пакет даних 400 складається із заголовка і одного розділу для даних кожного часткового потоку бітів (для розглядуваної кількості даних). Заголовок 400 пакета даних містить індикатори для поділу (решти) пакета даних на сегменти даних 402 потоку бітів. Окрім індикаторів для поділу заголовок може містити додаткову інформацію. У переважному варіанті виконання винаходу індикатори для поділу пакета даних є місцями початку сегментів даних, виражених у бітах або байтах, або множин бітів, або множин байтів. В переважному варіанті виконання винаходу розташування початку сегментів даних кодуються як абсолютні величини в заголовку пакета даних або відносно початку пакета даних або відносно кінця заголовка, або відносно початку попереднього пакета даних. В подальшому переважному варіанті виконання винаходу розташування початку сегментів даних кодуються диференціально, тобто, кодується тільки різниця між реальним початком сегмента даних і прогнозом для початку сегменту даних.The data packet 400 consists of a header and one section for the data of each partial bit stream (for the amount of data in question). The header 400 of the data packet contains indicators for dividing the (rest) of the data packet into data segments 402 of the bit stream. In addition to split indicators, the header can contain additional information. In a preferred embodiment of the invention, the indicators for dividing the data packet are the starting points of data segments expressed in bits or bytes, or sets of bits, or sets of bytes. In a preferred embodiment of the invention, the location of the beginning of the data segments is coded as absolute values in the header of the data packet or relative to the beginning of the data packet or relative to the end of the header or relative to the beginning of the previous data packet. In a further preferred embodiment of the invention, the locations of the start of the data segments are coded differentially, that is, only the difference between the actual start of the data segment and the forecast for the start of the data segment is coded.

Прогноз може одержуватися на основі вже відомої або переданої інформації, такої як загальний розмір пакета даних, розмір заголовку, кількість сегментів даних в пакеті даних, розташування початку попередніх сегментів даних. В переважному варіанті виконання винаходу розташування початку першого пакета даних не кодується, а кодується передбачуване розташування на основі розміру заголовка пакета даних. На декодувальній стороні передані індикатори поділу використовуються для одержання інформації про початок сегментів даних. Сегменти даних потім використовуються як часткові потоки бітів і дані, які містяться в сегментах даних, надсилаються у відповідні двійкові декодери у послідовному порядку.The prediction can be obtained on the basis of already known or transmitted information, such as the total size of the data packet, the size of the header, the number of data segments in the data packet, the location of the beginning of the previous data segments. In a preferred embodiment of the invention, the location of the beginning of the first data packet is not coded, but the predicted location based on the size of the data packet header is coded. On the decoding side, the transmitted division indicators are used to obtain information about the beginning of the data segments. The data segments are then used as partial bit streams and the data contained in the data segments is sent to the corresponding binary decoders in sequential order.

Існує декілька альтернатив для мультиплексування часткових потоків бітів з одержанням пакета даних. Одна альтернатива, яка може послабити потребу у побічній інформації, зокрема для випадків, у яких розміри часткових потоків бітів дуже подібні, зображена на Фіг. 10. Корисне навантаження пакета даних, тобто, пакет даних 410 без свого заголовка 411, ділиться на сегменти 412 наперед визначеним способом. Як приклад, корисне навантаження пакета даних може ділитися на сегменти однакового розміру. Потім кожен сегмент зв'язується з частковим потоком бітів або з першою частиною часткового потоку бітів 413. Якщо частковий потік бітів більший за відповідний сегмент даних, то його залишок 414 поміщається у невикористаний простір в кінці інших сегментів даних. Це може виконуватися у такий спосіб, що решта потоку бітів вставляється в зворотному порядку (починаючи з кінця сегмента даних), що зменшує побічну інформацію. Зв'язування решт часткових потоків бітів з сегментами даних і, коли до сегмента даних додається більше ніж один залишок, то початкова точка для одного або більшої кількості залишків повинна сигналізуватися всередині потоку бітів, наприклад в заголовку пакета даних.There are several alternatives for multiplexing partial bit streams to produce a data packet. One alternative that may alleviate the need for side information, particularly for cases where the sizes of the partial bit streams are very similar, is shown in FIG. 10. The data packet payload, that is, the data packet 410 without its header 411, is divided into segments 412 in a predetermined manner. As an example, the payload of a data packet may be divided into segments of equal size. Each segment is then associated with a partial bit stream or the first part of a partial bit stream 413. If the partial bit stream is larger than the corresponding data segment, its remainder 414 is placed in the unused space at the end of the other data segments. This can be done in such a way that the rest of the bit stream is inserted in reverse order (starting from the end of the data segment), which reduces the extraneous information. Associating the rest of the partial bitstreams with data segments, and when more than one residue is added to a data segment, the starting point for one or more residues must be signaled within the bitstream, such as in the data packet header.

Чергування кодових слів змінної довжиниAlternating codewords of variable length

Для деяких застосувань вищеописане мультиплексування часткових потоків бітів (для певної кількості синтаксичних елементів) в одному пакеті даних може мати наступні недоліки: з одного боку, для малих пакетів даних кількість бітів для побічної інформації, яка вимагається 60 для сигналізації поділу, може стати значущою відносно реальних даних в часткових потоках бітів, що, врешті решт, знижує ефективність кодування. З іншого боку, мультиплексування може не підходити для застосувань, які вимагають малої затримки (наприклад, проведення відеоконференцій). За допомогою описаного мультиплексування кодер не може починати передачу пакета даних перед повним формуванням часткових потоків бітів, оскільки розташування початку поділів перед цим не відомі. Окрім того, головним чином, декодер повинен чекати до тих пір, доки він не прийме початок останнього сегмента даних перед тим, як він зможе розпочати декодування пакета даних. Для застосувань у формі систем для проведення відеоконференцій, ці затримки можуть робити внесок у додаткову загальну затримку системи з декількох відеокартинок (зокрема, для швидкостей передачі бітів, які близькі до швидкості передачі даних, і для кодерів/декодерів, які вимагають часового інтервалу між двома картинками для кодування/декодування картинки), що є важливим для таких застосувань. Для усунення недоліків певних застосувань, кодер переважного варіанта виконання винаходу може конфігуруватися у такий спосіб, що кодові слова, які генеруються двома або більшою кількістю двійкових кодерів, чергуються в єдиному потоці бітів. Потік бітів з чергованими кодовими словами може безпосередньо надсилатися до декодера (при нехтуванні малою затримкою буфера, дивіться нижче). На декодувальній стороні два або більша кількість двійкових декодерів зчитують кодові слова безпосередньо з потоку бітів в порядку декодування; декодування може починатися з першим прийнятим бітом. Окрім того, не вимагається побічної інформації для сигналізації мультиплексування (або чергування) часткових потоків бітів.For some applications, the above-described multiplexing of partial bit streams (for a certain number of syntactic elements) in one data packet may have the following disadvantages: on the one hand, for small data packets, the number of bits for side information required 60 for division signaling may become significant relative to real data in partial bit streams, which ultimately reduces the coding efficiency. On the other hand, multiplexing may not be suitable for applications that require low latency (such as video conferencing). Using the described multiplexing, the coder cannot start transmitting the data packet before the partial bit streams are fully formed, because the location of the beginning of divisions is not known before that. In addition, in general, the decoder must wait until it receives the beginning of the last data segment before it can begin decoding the data packet. For applications in the form of video conferencing systems, these delays can contribute to the additional overall delay of a multi-picture system (particularly for bit rates close to data rates and for encoders/decoders that require a time interval between two pictures for picture encoding/decoding), which is important for such applications. To eliminate the disadvantages of certain applications, the encoder of the preferred embodiment of the invention can be configured in such a way that the code words generated by two or more binary encoders alternate in a single bit stream. A bitstream with alternating codewords can be sent directly to the decoder (neglecting the small buffer delay, see below). On the decoding side, two or more binary decoders read codewords directly from the bit stream in decoding order; decoding can start with the first received bit. Furthermore, no side information is required to signal the multiplexing (or interleaving) of the partial bit streams.

Подальше послаблення складності декодера може досягатися, коли двійкові декодери 322 не зчитують кодові слова змінної довжини з глобального бітового буфера, а замість цього вони завжди зчитують послідовності бітів фіксованої довжини з глобального бітового буфера і додають ці послідовності бітів фіксованої довжини до локального бітового буфера, де кожен двійковий декодер 322 з'єднаний з окремим локальним бітовим буфером. Кодові слова змінної довжини потім зчитуються з локального бітового буфера. Тому, синтаксичний аналіз кодових слів змінної довжини може виконуватися паралельно, тільки доступ до послідовностей бітів фіксованої довжини повинен виконуватися синхронно, але такий доступ до послідовностей бітів фіксованої довжини зазвичай є дуже швидким таким чином, що загальна складність декодування може послаблюватися для деяких архітектур. Фіксована кількість інформаційних величин, які надсилаються до окремого локального бітового буфера, може бути іншою для іншого локального бітового буфера і вона може також змінюватися з часом в залежності від певних параметрів як подій в двійковому декодері, двійковому буфері або бітовому буфері.A further reduction in decoder complexity can be achieved when the binary decoders 322 do not read variable-length codewords from the global bit buffer, but instead always read fixed-length bit sequences from the global bit buffer and add these fixed-length bit sequences to a local bit buffer, where each binary decoder 322 is connected to a separate local bit buffer. Variable-length codewords are then read from the local bit buffer. Therefore, parsing of variable-length codewords can be performed in parallel, only accesses to fixed-length bit sequences must be performed synchronously, but such accesses to fixed-length bit sequences are usually very fast in such a way that the overall decoding complexity may be reduced for some architectures. The fixed number of information quantities sent to a particular local bit buffer may be different for another local bit buffer and it may also change over time depending on certain parameters such as events in the binary decoder, binary buffer or bit buffer.

Однак, кількість бітів, які зчитуються окремим доступом, не залежать від реальних бітів, які зчитуються під час окремого доступу, що є важливою відмінністю для зчитування кодових слів змінної довжини. Зчитування послідовностей бітів фіксованої довжини запускається певними подіями в двійкових буферах, двійкових декодерах або локальних бітових буферах. Як приклад, можна запрошувати зчитування нової послідовності бітів фіксованої довжини, коли кількість бітів, які присутні у підключеному бітовому буфері, падає нижче наперед встановленої порогової величини, де різні порогові величини можуть використовуватися для різних бітових буферів. В кодері потрібно гарантувати, щоб послідовності інформаційних величин фіксованої довжини вставлялися в одному і тому ж порядку в потік бітів, у якому вони зчитуються з потоку бітів на декодувальній стороні. Також можна поєднувати це чергування послідовностей фіксованої довжини з контролем малої затримки, подібного до пояснених вище. Далі, описується переважний варіант виконання для чергування послідовностей бітів фіксованої довжини. За подальшими деталями, які стосуються останніх схем чергування, звертайтесь до документа МО 2011/128268А1.However, the number of bits read in a single access is independent of the actual bits read in a single access, which is an important distinction for reading variable-length codewords. Reading of fixed-length bit sequences is triggered by certain events in binary buffers, binary decoders, or local bit buffers. As an example, a new fixed-length bit sequence may be requested to be read when the number of bits present in the connected bit buffer falls below a preset threshold value, where different threshold values may be used for different bit buffers. The encoder needs to ensure that sequences of fixed-length information values are inserted in the same order into the bit stream in which they are read from the bit stream on the decoding side. It is also possible to combine this interleaving of fixed-length sequences with a low-latency control similar to those explained above. Next, a preferred embodiment for alternating fixed-length bit sequences is described. For further details regarding the latest shift schemes, please refer to document MO 2011/128268А1.

Після опису варіантів виконання, згідно з якими навіть попереднє кодування використовується для стискання відеоданих, описується навіть подальший варіант виконання представленого винаходу, який робить втілення особливо ефективним з точки зору гарного компромісу між коефіцієнтом стискання, з одного боку, і таблицею пошуку та додатковими обрахунками, з іншого боку. Зокрема, наступні варіанти виконання дозволяють використання з обрахункової точки зору менш складних кодів змінної довжини для індивідуального ентропійного кодування потоків бітів і ефективного охоплення частин оцінки ймовірності. В описаних нижче варіантах виконання символи є бінарними і коди змінної довжини (МІС), представлені нижче, ефективно охоплюють оцінку ймовірності, представлену, наприклад Віз, яке розташоване в інтервалі І0;0,51.After describing the embodiments according to which even the pre-coding is used to compress the video data, an even further embodiment of the present invention is described, which makes the embodiment particularly effective in terms of a good compromise between the compression ratio on the one hand and the look-up table and additional calculations, with the other side In particular, the following embodiments allow the use of computationally less complex variable-length codes for individual entropy coding of bit streams and efficient coverage of probability estimation parts. In the embodiments described below, the symbols are binary and the variable length codes (VLEs) presented below effectively cover the probability estimate represented by, for example, Wiz, which is in the interval I0;0.51.

Зокрема, вказані нижче варіанти виконання описують можливі втілення для індивідуальних ентропійних кодерів 310 і декодерів 322, відповідно, на Фіг. 7-17. Вони придатні для кодування інформаційних величин, тобто бінарних символів, оскільки вони трапляються в стисканні 60 зображення або відеоданих. Відповідно, ці варіанти виконання також застосовуються для кодування зображення або відеоданих, де такі бінарні символи діляться на один або більшу кількість потоків інформаційних величин 307, які кодуються, і, відповідно, потоки бітів 324, які декодуються, де кожен такий потік інформаційних величин може розглядатися як реалізація процесу Бернуллі. Описані нижче варіанти виконання використовують один або більшу кількість пояснених нижче різних способів так званого кодування з перетворенням послідовності символів змінної довжини на послідовність бітів змінної довжини (ум2у-коди) для кодування потоків інформаційних величин. м2у-код може розглядатися як два коди без префіксу з однією і тією ж кількістю кодових слів: головний і допоміжний код без префіксу. Кожне кодове слово головного коду без префіксу зв'язується з одним кодовим словом допоміжного коду без префіксу. Згідно з нижчеописаними варіантами виконання принаймні деякі з кодерів 310 і декодерів 322 працюють наступним чином: Для кодування окремої послідовності інформаційних величин 307 кожен раз, коли кодове слово головного коду без префіксу зчитується з буфера 308, відповідне кодове слово допоміжного коду без префікса записується в потік бітів 312. Та ж сама процедура використовується для декодування такого потоку бітів 24, але з чергуванням головного і допоміжного коду без префікса. Тобто, для декодування потоку бітів 324, кожен раз, коли кодове слово допоміжного коду без префіксу зчитується з відповідного потоку бітів 324, відповідне кодове число допоміжного коду без префіксу записується в буфер 320.In particular, the following embodiments describe possible implementations for individual entropy encoders 310 and decoders 322, respectively, in FIG. 7-17. They are suitable for encoding information quantities, i.e. binary symbols, as they occur in the compression of 60 image or video data. Accordingly, these embodiments also apply to encoding image or video data, where such binary symbols are divided into one or more streams 307 of information quantities to be encoded and, accordingly, streams of bits 324 to be decoded, where each such stream of information quantities may be considered as an implementation of the Bernoulli process. The embodiments described below use one or more of the various methods explained below, the so-called coding with the conversion of a sequence of symbols of variable length into a sequence of bits of variable length (um2u-codes) for encoding streams of information quantities. m2u code can be considered as two codes without a prefix with the same number of code words: the main and auxiliary code without a prefix. Each codeword of the main code without a prefix is associated with one codeword of the auxiliary code without a prefix. According to the embodiments described below, at least some of the encoders 310 and decoders 322 operate as follows: To encode a separate sequence of information quantities 307, each time an unprefixed main code codeword is read from buffer 308, a corresponding unprefixed auxiliary codeword is written to the bitstream 312. The same procedure is used to decode such a 24-bit stream, but with an alternating main and auxiliary code without a prefix. That is, to decode the bitstream 324 , each time a code word of the unprefixed auxiliary code is read from the corresponding bitstream 324 , the corresponding code number of the unprefixed auxiliary code is written into the buffer 320 .

Переважно, описані нижче коди не потребують таблиць пошуку. Коди здатні втілюватися у формі машин з кінцевим числом станів. Представлені тут м2у-коди можуть генеруватися простими правилами конструювання так, що для кодових слів не потрібно зберігати великі таблиці. Замість цього, може використовуватися простий алгоритм для виконання кодування або декодування. Нижче описуються три правила формування, де два з них можуть параметризуватися. Вони охоплюють різні або навіть окремі частини вищезгаданого інтервалу ймовірності і є, відповідно, особливо вигідними, коли використовуються разом, так як усі три коди або два з них використовуються паралельно (кожен для різних кодерів/декодерів 11 і 22).Preferably, the codes described below do not require lookup tables. Codes can be embodied in the form of machines with a finite number of states. The m2u codes presented here can be generated by simple construction rules so that large tables do not need to be stored for code words. Instead, a simple algorithm can be used to perform encoding or decoding. Three shaping rules are described below, two of which can be parameterized. They cover different or even separate parts of the aforementioned probability interval and are, accordingly, particularly advantageous when used together, as all three codes or two of them are used in parallel (each for different encoders/decoders 11 and 22).

За допомогою описаних нижче правил формування можна формувати множину м2у-кодів так, що для процесів Бернуллі з довільною ймовірністю р один з кодів гарно працює з точки зору надмірної довжини коду.With the help of the formation rules described below, it is possible to form a set of m2u codes so that for Bernoulli processes with arbitrary probability r, one of the codes works well from the point of view of excessive code length.

Як визначено вище, кодування і декодування потоків 312 і, відповідно, 324 можеAs defined above, encoding and decoding streams 312 and, accordingly, 324 can

Зо виконуватися або незалежно для кожного потоку або поперемінно. Однак, це не є спеціальним для представлених класів мгу-кодів і, тому, далі описується тільки кодування і декодування окремого кодового слова для кожного з трьох правил формування. Однак, підкреслюється, що усі вищезгадані варіанти виконання, які стосуються рішень з поперемінним виконанням, також здатні поєднуватися з на даний момент описаними кодами або кодерами і декодерами 310 і, відповідно, 322.To be performed either independently for each thread or alternately. However, this is not specific to the presented classes of mgu-codes and, therefore, only the encoding and decoding of a separate codeword for each of the three formation rules is described below. However, it is emphasized that all of the aforementioned embodiments that relate to alternating execution solutions are also capable of being combined with the currently described codes or encoders and decoders 310 and 322, respectively.

Правило формування 1: "унарні двійкові ріре" коди або кодери/декодери 310 і 322Formation rule 1: "unary binary rire" codes or encoders/decoders 310 and 322

Унарні двійкові ріре коди (РІРЕ - ентропія поділу інтервалу ймовірності) є спеціальним варіантом так званих "двійкових ріре" кодів, тобто, кодів, придатних для кодування будь-якого з окремих потоків бітів 12 і 24, кожен з яких переносить дані статистики бінарних символів, яка належить певному підінтервалу ймовірності вищезгаданого інтервалу ймовірності 10;0,5|.Unary binary Rire codes (RIRE - probability interval division entropy) are a special variant of the so-called "binary Rire" codes, i.e., codes suitable for encoding any of the separate streams of 12 and 24 bits, each of which carries statistics of binary symbols, which belongs to a certain probability subinterval of the aforementioned probability interval 10;0.5|.

Спершу описується формування двійкових ріре кодів. Двійковий ріре код може формуватися з будь-якого коду без префіксу з принаймні трьома кодовими словами. Для формування угу-коду, використовують код без префіксу як головний і допоміжний код, але з чергуванням двох кодових слів допоміжного коду без префіксу. Це означає, що, за виключенням двох кодових слів, інформаційні величини записуються в незмінний потік бітів. За допомогою цієї технології необхідно зберігати тільки один код без префіксу разом з інформацією, які два кодові слова чергуються між собою, і, таким чином, використання пам'яті зменшується. Відзначається, що доцільно обмінюватися тільки кодовими словами різної довжини, оскільки, інакше, потік бітів повинен мати ту ж довжину що й потік інформаційних величин (нехтуючи ефектами, які трапляються в кінці потоку інформаційних величин).First, the formation of binary binary codes is described. A binary Rire code can be formed from any unprefixed code with at least three code words. To form the ugu code, a code without a prefix is used as the main and auxiliary code, but with the alternation of two code words of the auxiliary code without a prefix. This means that, with the exception of two code words, the information values are recorded in an unchanging bit stream. With this technology, only one unprefixed code needs to be stored along with information about which two codewords are alternating, and thus memory usage is reduced. It is noted that it is advisable to exchange only codewords of different lengths, since, otherwise, the bit stream must have the same length as the stream of information quantities (neglecting the effects that occur at the end of the stream of information quantities).

Завдяки цьому правилу формування чудовою властивістю двійкових ріре кодів є те, що, коли головний і допоміжний код без префіксу міняються між собою (тоді як перетворення кодових слів зберігається), то одержуваний му2гу-код ідентичний оригінальному мгу-коду. Тому, алгоритм кодування і алгоритм декодування ідентичні для двійкових ріре кодів.Due to this formation rule, a remarkable property of binary reverse codes is that when the main and unprefixed subcodes are interchanged (while the codeword transformation is preserved), the resulting mu2gu code is identical to the original mgu code. Therefore, the encoding algorithm and the decoding algorithm are identical for binary binary codes.

Унарний двійковий ріре код формується з спеціального коду без префіксу. Цей спеціальний код без префіксу формується наступним чином. Спершу, генерують код без префіксу, який складається з п унарних кодових слів, починаючи з "01", 001", 0001", ... до тих пір, доки не одержиться п кодових слів, п є параметром для унарного двійкового ріре коду. З найдовшого кодового слова видаляється слід 1. Це відповідає усіченому унарному коду (але без кодового 60 слова "0). Потім, генеруються п-1 унарних кодових слів, починаючи з "10", "110, 1110",... до тих пір, доки не буде створено п-1 кодових слів. З найдовшого з цих кодових слів видаляють слід 0.A unary binary code is formed from a special code without a prefix. This special code without a prefix is formed as follows. First, generate a code without a prefix consisting of n unary codewords starting with "01", 001", 0001", ... until n codewords are obtained, n being the parameter for the unary binary code. The trace 1 is removed from the longest codeword. This corresponds to a truncated unary code (but without the codeword 60 "0). Then, n-1 unary codewords are generated, starting with "10", "110, 1110",... until those times until n-1 codewords are generated.From the longest of these codewords, the trace 0 is removed.

Об'єднана множина цих двох кодів без префікса використовується як вхідні дані для генерування унарного двійкового ріре коду. Два кодові слова, які міняються між собою, є тими, де одне з них складається тільки з 0, а інше складається тільки з 1.The combined set of these two unprefixed codes is used as input to generate a unary binary code. Two interchangeable codewords are those where one consists only of 0s and the other consists only of 1s.

Приклад для п-4: ме 77777717 Головний,//// | Допоміжий// пн и а ЕТ Я ПО ТТ ПОExample for p-4: me 77777717 Main,//// | Help// pn i a ET I PO TT PO

Правило формування 2: коди, які відображають перетворення "унарних кодів на коди Райса" і кодери/декодери 10 і 22, які використовують перетворення унарних кодів на коди Райса:Formation Rule 2: Codes that display "unary to Rice" conversion and encoders/decoders 10 and 22 that use unary to Rice conversion:

Коди, які відображають перетворення унарних кодів на коди Райса, використовують усічений унарний код як головний код. Тобто, унарні кодові слова генеруються, починаючи з '1",'01","001", і. до тих пір, доки не буде згенеровано 27-1 кодових слів і з найдовшого кодового слова видаляють слід 1. п є параметром коду, який відображає перетворення унарного коду на кодCodes that map the conversion of unary codes to Rice codes use the truncated unary code as the master code. That is, unary codewords are generated starting with '1",'01","001", and. until 27-1 codewords are generated and the longest codeword is stripped of the trace 1. n is a code parameter that represents the conversion of the unary code to the code

Райса. Допоміжний код без префіксу формується з кодових слів головного коду без префіксу наступним чином. Головному кодовому слову, яке складається тільки з 0, присвоюється кодове слово "1. Усі інші кодові слова складаються з конкатенації кодового слова "0' з п-бітовим двійковим представленням ряду 0 відповідного кодового слова головного коду без префіксу.Rice. An auxiliary code without a prefix is formed from the codewords of the main code without a prefix as follows. The main codeword, which consists only of 0, is assigned the codeword "1. All other codewords consist of the concatenation of the codeword "0' with the n-bit binary representation of the row 0 of the corresponding codeword of the main code without a prefix.

Приклад для п-3: ме 77777717 Головний,//// | Допоміжий// пол и ТЕТ ТТ Я ПОЛОННЕ Ко ПОН пол и ЕТО То тототох ВОНО ПООНОСЄ Х НОО пл и ЕТО ТоТото тот НОЇ ПОН ПОExample for p-3: me 77777717 Main,//// | Help// pol i TET TT I POLONNE Ko PON pol i ETO To tototoh IT IS POONOSYE X NOO pl i ETO ToToto tot NOI PON PO

Відзначаємо, що це ідентичне перетворенню нескінченного унарного коду на код Райса з параметром Райса 2п.We note that this is identical to the transformation of an infinite unary code into a Rice code with a Rice parameter of 2p.

Правило формування 3: "Потрійний двійковий' кодFormation rule 3: "Triple binary" code

Потрійний двійковий код надається наступним чином. ме 77777717 Головний,//// | Допоміжий//// п и «ТТ ПОТ ПО пи и ах Г:х Я ПО ЕТ Тех ПО п и а ЕЕ Я ПО п 6 ПОThe triple binary code is given as follows. me 77777717 Main,//// | Help////

Він має ту властивість, що головний код (послідовності символів) має фіксовану довжину (завжди три інформаційні величини), а кодові слова відбираються по висхідних кількостях 1.It has the property that the main code (sequence of symbols) has a fixed length (always three information values), and the code words are selected in ascending quantities of 1.

Далі описується ефективне втілення потрійного двійкового коду. Кодер і декодер дляNext, an efficient implementation of the triple binary code is described. Encoder and decoder for

Зо потрійного двійкового коду можуть втілюватися без зберігання таблиць наступним чином.From the triple binary code can be implemented without storing tables as follows.

В кодері (будь-який з кодерів 10) три інформаційні величини зчитуються з потоку інформаційних величин (тобто, з потоку 7). Якщо ці три інформаційні величини містять точно одну 1, то кодове слово Т записується в потік бітів після двох інформаційних величин, які складаються з двійкового представлення положення 1 (починаючи з права з 00). Якщо три інформаційні величини містять точно один 0, то кодове слово "111! записується в потік бітів після двох інформаційних величин, які складаються з двійкового представлення положення 0 (починаючи з права з 00). Решта кодових слів "000' їі 111" перетворюються на "0" і, відповідно, 7111.In the encoder (any of the encoders 10), three information quantities are read from the stream of information quantities (ie, from the stream 7). If these three information quantities contain exactly one 1, then the codeword T is written into the bitstream after the two information quantities, which consist of the binary representation of the position of 1 (starting from the right with 00). If the three information quantities contain exactly one 0, then the codeword "111! is written into the bit stream after the two information quantities, which consist of the binary representation of the position of 0 (starting from the right with 00). The remaining codewords "000' and 111" are converted to "0" and, accordingly, 7111.

В декодері (будь-який з декодерів 22) одна інформаційна величина або біт зчитується з відповідного потоку бітів 24. Якщо вона дорівнює "07, то кодове слово "000 декодується з одержанням потоку інформаційних величин 21, Якщо вона дорівнює "1", то дві або більша кількість інформаційних величин зчитуються з потоку бітів 24. Якщо ці два біти не дорівнюють "71", то вони інтерпретуються як двійкове представлення числа і два 0 та одна 1 декодується з одержанням потоку бітів так, що положення 1 визначається числом. Якщо два біти дорівнюють "71", то два додаткових біти зчитуються і інтерпретуються як двійкове представлення числа.In the decoder (any of the decoders 22), one information quantity or bit is read from the corresponding bit stream 24. If it is equal to "07, then the code word "000 is decoded to obtain a stream of information quantities 21. If it is equal to "1", then two or more information quantities are read from bit stream 24. If these two bits are not equal to "71", then they are interpreted as the binary representation of a number and two 0's and one 1 are decoded to obtain a bit stream such that the position of 1 is determined by the number. If two bits are equal to "71", then the two additional bits are read and interpreted as the binary representation of the number.

Якщо це число менше ніж 3, то дві 1 і один 0 декодуються і число визначає положення 0. Якщо воно дорівнює 3, то 7111" декодується з одержанням потоку інформаційних величин.If this number is less than 3, then two 1s and one 0 are decoded and the number determines the position of 0. If it is equal to 3, then 7111" is decoded to obtain a stream of information values.

Далі описується ефективне втілення унарних двійкових ріре кодів. Кодер і декодер для унарних двійкових ріре кодів можуть ефективно втілюватися шляхом використання лічильника.Next, an effective implementation of unary binary binary codes is described. An encoder and decoder for unary binary codes can be efficiently implemented by using a counter.

Завдяки структурі двійкових ріре кодів кодування і декодування двійкових ріре кодів легко втілювати:Due to the structure of binary Rire codes, encoding and decoding of binary Rire codes is easy to implement:

В кодері (будь-який з кодерів 10), якщо перша інформаційна величина кодового слова дорівнює "07, то інформаційні величини обробляються до появи "1" або до зчитування п 0 (включаючи перший "0 кодового слова). Якщо трапилася "1", то зчитані інформаційні величини записуються в незмінний потік бітів. Інакше (тобто, зчитано п 0), то п-1 1 записується в потік бітів. Якщо перша інформаційна величина кодового слова дорівнює "1 то інформаційні величини обробляються доки не трапиться "0 або доки не зчитається п-1 1 (включаючи першу "7" кодового слова). Якщо трапився "07, то зчитані інформаційні величини записуються в незмінний потік бітів. Інакше (тобто, зчитано п-1 1), п 0 записуються в потік бітів.In the encoder (any of the 10 encoders), if the first information value of the code word is equal to "07", then the information values are processed until the appearance of "1" or until reading n 0 (including the first "0 of the code word). If a "1" occurred, then the read information values are recorded in an unchanging bit stream. Otherwise (that is, n 0 is read), then n-1 1 is written to the bit stream. If the first information value of the code word is "1", then the information values are processed until "0" occurs or until n-1 1 is counted (including the first "7" of the code word). If "07" occurred, then the read information values are written to the unchanged bit stream. Otherwise (that is, n-1 1 were read), n 0 are written to the bit stream.

В декодері (будь-який з декодерів 322) використовується той же алгоритм для кодера, оскільки це застосовується для двійкових ріре кодів, як описано вище.In the decoder (any of the decoders 322), the same algorithm is used for the encoder as it is for binary recodes, as described above.

Зо Далі описується ефективне втілення кодів, які відображають перетворення унарних кодів на коди Райса. Кодер і декодер для кодів, які відображають перетворення унарних кодів на кодиThe following describes an efficient implementation of codes that map the transformation of unary codes to Rice codes. An encoder and decoder for codes that represent the conversion of unary codes to codes

Райса, можуть ефективно втілюватися шляхом використання лічильника, як тепер буде описуватися.Rice, can be effectively implemented through the use of a counter, as will now be described.

В кодері (будь-який з кодерів 310) інформаційні величини зчитуються з потоку інформаційних величин (тобто, потоку 7) доки не трапиться 1 або доки не буде зчитано 2п 0.In the encoder (any of the encoders 310 ), information values are read from the information value stream (ie, stream 7 ) until a 1 occurs or until 2n 0 is read.

Кількість 0 підраховується. Якщо підрахована кількість дорівнює 2п, то кодове слово "1! записується в потік бітів. Інакше, "0' записується перед двійковим представленням підрахованої кількості записаної з п бітами.The number of 0s is counted. If the count is equal to 2n, then the codeword "1!" is written to the bit stream. Otherwise, "0" is written before the binary representation of the count recorded with n bits.

В декодері (будь-який з декодерів 322) зчитується один біт. Якщо він дорівнює "1", то 21.0 декодуються з одержанням рядка інформаційних величин. Якщо він дорівнює "0", то зчитується п додаткових бітів, які інтерпретуються як двійкове представлення числа. Ця кількість 0 декодується з одержанням потоку інформаційних величин, за яким слідує "1".In the decoder (any of the decoders 322) one bit is read. If it is equal to "1", then 21.0 are decoded to obtain a string of information values. If it is equal to "0", then n additional bits are read, which are interpreted as the binary representation of the number. This number of 0's is decoded to produce a stream of information values followed by a "1".

Іншими словами тільки що описані варіанти виконання розкривають кодер для кодування послідовності символів 303, який містить присвоювач 316, сконфігурований для присвоювання ряду параметрів 305 кожному символу послідовності символів на основі інформації, яка міститься в попередніх символах послідовності символів; певну кількість ентропійних кодерів 310, кожен з яких сконфігурований для перетворення символів 307, надісланих до відповідного ентропійного кодера 310, на відповідний потік бітів 312; і селектор 6, сконфігурований для надсилання кожного символу 303 до вибраного одного з множини ентропійних кодерів 10, при цьому вибір залежить від кількості параметрів 305, присвоєних відповідному символу 303.In other words, the embodiments just described disclose an encoder for encoding a sequence of symbols 303 that includes an assigner 316 configured to assign a number of parameters 305 to each symbol of the sequence of symbols based on information contained in previous symbols of the sequence of symbols; a number of entropy encoders 310, each configured to convert symbols 307 sent to a respective entropy encoder 310 into a respective bitstream 312; and a selector 6 configured to send each symbol 303 to a selected one of a plurality of entropy encoders 10, the selection depending on the number of parameters 305 assigned to the corresponding symbol 303.

Згідно з тільки що зазначеними варіантами виконання принаймні перша підмножина ентропійних кодерів може бути кодером змінної довжини, сконфігурованим для перетворення послідовностей символів змінної довжини в потоці символів 307 на кодові слова змінних довжин, які вставляються в потік бітів 312, при цьому, відповідно, кожен з ентропійних кодерів 310 першої підмножини використовує правило бієктивного перетворення, згідно з яким кодові слова головного коду без префіксу з (21-1)2:3 кодовими словами перетворюються на кодові слова допоміжного коду без префіксу, який ідентичний головному коду з префіксом так, що усі, але два кодові слова головного коду без префіксу перетворюються на ідентичні кодові слова допоміжного коду без префіксу, тоді як два кодові слова головного і допоміжного кодів без бо префіксу мають різні довжини і перетворюються один на інший взаємнозамінно, при цьому ентропійні кодери можуть використовувати різне п для охоплення різних частин вищезгаданого інтервалу ймовірності. Перший код без префіксу може формуватися так, що його кодовими словами є (а, Б)», (а, а,Б)з...... (а, ...,а, Ба, (а, ...,а)п, (Б, а)»г, (Б, Б, а)з,..., (Б, ...,0, а)п-ї, (Б, ...,б)пч, і двома кодовими словами, які взаємнозамінно перетворюються одне на інше, є (а, ...,а)п і (Б, б)" 3 5 за їіа, Б є (0,1). Однак, альтернативи є реальними.According to the embodiments just noted, at least the first subset of entropy encoders may be a variable-length encoder configured to convert sequences of variable-length symbols in symbol stream 307 into variable-length codewords that are inserted into bitstream 312 , whereby each of the entropy encoders 310 of the first subset use a bijective conversion rule whereby the codewords of an unprefixed main code with (21-1)2:3 codewords are converted to the codewords of an unprefixed auxiliary code that is identical to the prefixed main code such that all but two codewords of the unprefixed main code are converted to identical codewords of the unprefixed auxiliary code, while the two codewords of the main and unprefixed auxiliary codes are of different lengths and are converted to each other interchangeably, while entropy coders can use different n to cover different parts of the aforementioned probability interval . The first code without a prefix can be formed so that its code words are (а, Б)", (а, а, Б)з...... (а, ...,а, Ба, (а, .. .,a)n, (B, a)»g, (B, B, a)z,..., (B, ...,0, a)n-i, (B, ...,b )pch, and the two codewords that are interchangeably converted into each other are (a, ...,a)n and (B, b)" 3 5 by yia, B is (0,1). However, there are alternatives real

Іншими словами кожен з першої підмножини ентропійних кодерів може конфігуруватися при перетворенні символів, надісланих до відповідного ентропійного кодера, на відповідний потік бітів для перевірки першого символу, надісланого до відповідного ентропійного кодера, для визначення чи (1) перший символ дорівнює а є 30,1), у випадку чого відповідний ентропійний кодер конфігурується для перевірки наступних символів, надісланих до відповідного ентропійного кодера, для визначення чи (1.1) ФО. «зар є 50,1) серед наступних п-1 символів, які слідують після першого символу, у випадку чого відповідний ентропійний кодер конфігурується для запису кодового слова у відповідний потік бітів, який дорівнює першому символу, за яким слідують наступні символи, надіслані до відповідного ентропійного кодера, аж до символу б; (1.2) чи символ Б не трапляється серед наступних п-1 символів, які слідують після першого символу, у випадку чого відповідний ентропійний кодер конфігурується для запису кодового слова у відповідний потік бітів, яке дорівнює (Б, ...,б)пл; або (2) чи перший символ дорівнює б, у випадку чого відповідний ентропійний кодер конфігурується для перевірки наступних символів, надісланих до відповідного ентропійного кодера, для визначення (2.1) чи трапляється а серед наступних п-2 символів, які слідують після першого символу, у випадку чого відповідний ентропійний кодер конфігурується для запису кодового слова у відповідний потік бітів, який дорівнює першому символу, за яким слідують наступні символи, надіслані до відповідного ентропійного кодера, аж до символу а; або (2.2) чи не трапляється а серед наступних п-2 символів, які слідують після першого символу, у випадку чого відповідний ентропійний кодер конфігурується для запису кодового слова у відповідний потік бітів, яке дорівнює (а, ...,а) п.In other words, each of the first subset of entropy encoders may be configured to convert the symbols sent to the respective entropy encoder into a corresponding bit stream to test the first symbol sent to the respective entropy encoder to determine whether (1) the first symbol is equal to and is 30.1) , in which case the corresponding entropy coder is configured to examine subsequent symbols sent to the corresponding entropy coder to determine whether (1.1) FO. "zar is 50.1) among the next n-1 symbols that follow the first symbol, in which case the corresponding entropy encoder is configured to write a codeword in the corresponding bitstream equal to the first symbol, followed by subsequent symbols sent to the corresponding entropy coder, up to symbol b; (1.2) whether the symbol B does not occur among the next n-1 symbols that follow the first symbol, in which case the corresponding entropy coder is configured to write a codeword into the corresponding bitstream, which is equal to (B, ...,b)pl; or (2) whether the first symbol is b, in which case the corresponding entropy coder is configured to examine subsequent symbols sent to the corresponding entropy coder to determine (2.1) whether a occurs among the next n-2 symbols that follow the first character in in which case the corresponding entropy coder is configured to write a codeword into the corresponding bit stream equal to the first symbol followed by subsequent symbols sent to the corresponding entropy coder up to symbol a; or (2.2) whether a occurs among the next n-2 symbols that follow the first symbol, in which case the corresponding entropy coder is configured to write a codeword into the corresponding bitstream that is equal to (a, ...,a) n.

Окрім того або альтернативно, друга підмножина ентропійних кодерів 10 може бути кодером змінної довжини, сконфігурованим для перетворення послідовностей символів змінних довжин на, відповідно, кодові слова фіксованих довжин, при цьому кожен з ентропійних кодерів другої підмножини використовує правило бієктивного перетворення, згідно з яким кодові словаAdditionally or alternatively, the second subset of entropy encoders 10 may be a variable-length encoder configured to convert variable-length symbol sequences into fixed-length codewords, respectively, wherein each of the entropy encoders of the second subset uses a bijective transformation rule whereby the codewords

Зо головного усіченого унарного коду з 2"'-1 кодовими словами типу (а), (ба), (рбра),...,(Б...Бра), (6р...0)у35 «а і а, 6 є 701) перетворюються на кодові слова допоміжного коду без префіксу так, що кодове слово (рбр...0) головного усіченого унарного коду перетворюється на кодове слово (с) допоміжного коду без префіксу і усі інші кодові слова (а), (ба), (рбра),...,(0...Бба)) головного усіченого унарного коду перетворюються на кодові слова, які мають (4) з с ас, а є (01) як префікс і п-бітове слово як суфікс, при цьому ентропійні кодери використовують різне п. Кожен з другої підмножини ентропійних кодерів може конфігуруватися так, що п-бітове слово є п-бітовим представленням кількості чисел р у відповідному кодовому слові головного усіченого унарного коду. Однак, альтернативи є реальними.From the main truncated unary code with 2"'-1 codewords of the type (a), (ba), (rbra),...,(B...Bra), (6r...0)u35 "a and a , 6 is 701) are converted into codewords of the auxiliary code without a prefix so that the codeword (rbr...0) of the main truncated unary code is converted into the codeword (c) of the auxiliary code without a prefix and all other codewords (a), ( ba), (rbra),...,(0...Bba)) of the main truncated unary code are converted into codewords having (4) with c as, and having (01) as a prefix and an n-bit word as suffix, with the entropy encoders using a different n. Each of the second subset of entropy encoders can be configured such that the n-bit word is an n-bit representation of the number of numbers p in the corresponding codeword of the main truncated unary code. However, the alternatives are real.

Знову, з проекції режиму роботи відповідного кодера 10 кожен з другої підмножини ентропійних кодерів може конфігуруватися під час перетворення символів, надісланих до відповідного ентропійного кодера, на відповідний потік бітів для підрахунку кількості символів р в послідовності символів, надісланих до відповідного ентропійного кодера, доки не трапиться символ а або доки кількість послідовності символів, надісланих до відповідного ентропійного кодера, не досягне величини 2" з усіма 2" символами послідовності, яка є числом Б, і (1), якщо кількість символів о дорівнює 2", записують с з с є 50,1) як кодове слово допоміжного коду без префіксу у відповідний потік бітів, і (2) якщо кількість символів Б менша ніж 2", то записують кодове слово допоміжного коду без префіксу у відповідний потік бітів, який має (40)зс аа є 10,1) як префікс, а п-бітове слово, яке визначається в залежності від кількості символів Б, як суфікс.Again, from the projection of the mode of operation of the respective encoder 10, each of the second subset of entropy encoders can be configured to convert the symbols sent to the respective entropy encoder into a corresponding bit stream to count the number of symbols p in the sequence of symbols sent to the respective entropy encoder until symbol a or until the number of symbol sequences sent to the corresponding entropy coder reaches 2" with all 2" symbols of the sequence being the number B, and (1) if the number of symbols o is 2", write c with c is 50 ,1) as a codeword of an auxiliary code without a prefix in the corresponding bitstream, and (2) if the number of B symbols is less than 2", then write the codeword of an auxiliary code without a prefix in the corresponding bitstream, which has (40)zs aa is 10 ,1) as a prefix, and an n-bit word, which is determined depending on the number of B symbols, as a suffix.

Також додатково або альтернативно, наперед визначений один з ентропійних кодерів 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-бітовим представленням положення символу а у відповідному кодовому слові головного коду. Однак, альтернативи є реальними.Also additionally or alternatively, the predetermined one of the entropy encoders 10 may be a variable-length encoder configured to convert sequences of fixed-length symbols into, respectively, variable-length codewords, wherein the predetermined entropy encoder uses a bijective transformation rule whereby 23 codewords words of length Z of the main code are converted into codewords of the auxiliary code without a prefix so that the codeword (aaa) of the main code with a is 30.1) is converted into a codeword (c) with c is 10.1), while all three codewords of the main code that have exactly one B with Ba and B is 10.1) are converted to codewords that have (4) with c 25 her a is 40.1) as a prefix and the corresponding first 2-bit word with of the first set of 2-bit words as a suffix, whereby all three codewords of the main code that have exactly one a are converted to codewords prefixed with (4) and the concatenation of the first 2-bit word that is not an element first set и, and the second 2-bit word from the second set of 2-bit words as a suffix, and at the same time the codeword (ррб)z is converted into a codeword having (4) as a prefix and the concatenation of the first 2-bit word, which is not is an element of the first set, and of a second 2-bit word that is not an element of the second set, as a suffix. The first 2-bit word of the main code codewords, which has exactly one character b, can be a 2-bit representation of the position of the character B in the corresponding codeword of the main code, and the second 2-bit word of the main code codewords, which has exactly one character a , can be a 2-bit representation of the position of the character a in the corresponding codeword of the main code. However, the alternatives are real.

Знову, наперед визначений один з ентропійних кодерів може конфігуруватися під час перетворення символів, надісланих до наперед встановленого ентропійного кодера, на відповідний потік бітів, для перевірки символів, які надсилаються до наперед встановленого ентропійного кодера в триплетах, щодо того (1) чи триплет складається з символів а, у випадку чого наперед визначений ентропійний кодер конфігурується для запису кодового слова (с) у відповідний потік бітів, (2) чи триплет точно містить один символ р, у випадку чого наперед визначений ентропійний кодер конфігурується для запису кодового слова, яке має (а) як префікс, а 2-бітове представлення положення символу р в триплеті як суфікс, у відповідний потік бітів; (3) чи триплет точно містить один символ а, у випадку чого наперед визначений ентропійний кодер конфігурується для запису кодового слова, яке має (4) як префікс і конкатенацію першого 2-бітового слова, яке не є елементом першої множини, і 2-бітового представлення положення символу а в триплеті як суфікс, у відповідний потік бітів; або (4) чи триплет складається з символів ЮР, у випадку чого наперед визначений ентропійний кодер конфігурується для запису кодового слова, яке має (а) як префікс і конкатенацію першого 2- бітового слова, яке не є елементом першої множини, і першого 2-бітового слова, яке не є елементом другої множини, як суфікс, у відповідний потік бітів.Again, the predetermined one of the entropy encoders may be configured to convert the symbols sent to the preset entropy encoder into a corresponding bit stream to test the symbols sent to the preset entropy encoder in triplets as to (1) whether the triplet consists of symbols a, in which case the predetermined entropy coder is configured to write a codeword (c) into the corresponding bit stream, (2) whether the triplet contains exactly one symbol p, in which case the predetermined entropy coder is configured to write a codeword having ( a) as a prefix, and a 2-bit representation of the position of the symbol p in the triplet as a suffix, in the corresponding bit stream; (3) whether the triplet contains exactly one symbol a, in which case the predetermined entropy encoder is configured to write a codeword having (4) as a prefix and the concatenation of the first 2-bit word that is not an element of the first set and the 2-bit representation of the position of the symbol a in the triplet as a suffix in the corresponding bit stream; or (4) whether the triplet consists of SW symbols, in which case the predetermined entropy encoder is configured to write a codeword having (a) as a prefix and concatenation of the first 2-bit word that is not an element of the first set and the first 2- of a bit word that is not an element of the second set, as a suffix, into the corresponding bit stream.

Розглядаючи декодувальну сторону, бачимо, що тільки що описані варіанти виконання розкривають декодер для відновлення послідовності символів 326, який містить множину ентропійних декодерів 322, кожен з яких сконфігурований для перетворення відповідного потоку бітів 324 на символи 321; присвоювач 316, сконфігурований для присвоєння ряду параметрів на кожен символ 326 послідовності символів, які відновлюються, на основі інформації, яка міститься в попередньо відновлених символах послідовності символів; і селектор 318, сконфігурований для одержання кожного символу 325 з послідовності символів, які відновлюються, з вибраного одного з множини ентропійних декодерів, при цьому вибір залежить від ряду параметрів, визначених для відповідного символу. Згідно з тільки що описаними варіантами виконання принаймні перша підмножина ентропійних декодерів 322 є декодерами змінної довжини, сконфігурованими для перетворення кодових слів змінних довжин на послідовності символів змінних довжин, при цьому, відповідно, кожен з ентропійних декодерів 22 першої підмножини використовує правило бієктивного перетворення, згідно з яким кодові слова головного коду без префіксу з (2п-1) » З кодовими словами перетворюються на кодові слова допоміжного коду без префіксу, який ідентичний головному коду з префіксом, так, що усі, але два кодові слова головного коду без префіксу перетворюються на ідентичні кодові слова допоміжного коду без префіксу, тоді як два кодові слова головного і допоміжного коду без префіксу мають різні довжини і перетворюються один на інший взаємнозамінно, при цьому ентропійні кодери використовують різні п. Перший код без префіксу може формуватися так, що кодовими словами першого коду без префіксу є (а, Б)», (а, а, Б)з,..., (а......а, Б), (а, ...,а)п, (Б, а)», (б, Б, а)з, .... (Б, ...,0, а)п-, (Б, ...,0)п, ії двома кодовими словами, які перетворюються одне на інше взаємнозамінним чином, можуть бути (а, ...,а)п і (Ь......б)лх. зб 25 айїіа, ь є 701). Однак, альтернативи є реальними.Looking at the decoding side, we see that the embodiments just described disclose a symbol recovery decoder 326 that includes a plurality of entropy decoders 322, each of which is configured to convert a corresponding bit stream 324 into symbols 321; allocator 316 configured to assign a number of parameters to each symbol 326 of the sequence of symbols to be recovered based on information contained in previously recovered symbols of the sequence of symbols; and a selector 318 configured to receive each symbol 325 from the sequence of symbols to be recovered from a selected one of the plurality of entropy decoders, the selection depending on a number of parameters defined for the corresponding symbol. According to the embodiments just described, at least the first subset of entropy decoders 322 are variable-length decoders configured to convert variable-length codewords into variable-length symbol sequences, respectively, each of the entropy decoders 22 of the first subset using a bijective transform rule according to by which the codewords of the main code without a prefix from (2n-1) » With codewords are converted into codewords of an auxiliary code without a prefix that is identical to the main code with a prefix, so that all but two codewords of the main code without a prefix are converted into identical codewords words of the auxiliary code without a prefix, while the two codewords of the main code and the auxiliary code without a prefix have different lengths and are converted into each other interchangeably, while entropy coders use different n. The first code without a prefix can be formed so that the codewords of the first code without a prefix is (a, B)", (a, a, B)z,..., (a......a, B ), (a, ...,a)p, (B, a)", (b, B, a)z, .... (B, ...,0, a)p-, (B, . coll. However, the alternatives are real.

Кожен з першої підмножини ентропійних кодерів може конфігуруватися під час перетворення відповідного потоку бітів на символи для перевірки першого біту відповідного потоку бітів для визначення (1) чи перший біт дорівнює 0 (0,1), у випадку чого відповідний ентропійний кодер конфігурується для перевірки наступних бітів відповідного бітового потоку для визначення чи (1.1)о0535Б «аїр є (0,1) трапляється в наступних п-1 бітах, які слідують після першого біта, у випадку чого відповідний ентропійний декодер конфігурується для відновлення послідовності символів, яка дорівнює першому біту, за яким слідують наступні біти відповідного потоку бітів аж до біту р; або (1.2) чи не трапляється біт Б серед наступних п-1 бітів, які слідують після першого біта, у випадку чого відповідний ентропійний декодер конфігурують для відновлення послідовності символів, яка дорівнює (Б, ...,0)п; або (2) чи перший біт дорівнює Б, у випадку чого відповідний ентропійний декодер конфігурують для перевірки наступних бітів відповідного потоку бітів для визначення того (2.1) чи трапляється символ а серед наступних п- 60 2 бітів, які слідують після першого біта, у випадку чого відповідний ентропійний декодер конфігурується для відновлення послідовності символів, яка дорівнює першому біту, за яким слідують наступні біти відповідного бітового потоку аж до символу а; або (2.2) чи не трапляється символ а серед наступних п-2 бітів, які слідують після першого біта, у випадку чого відповідний ентропійний декодер конфігурується для відновлення послідовності символів, яка дорівнює (а, 5 ...,а)в.Each of the first subset of entropy encoders may be configured during the conversion of the respective bit stream to symbols to test a first bit of the respective bit stream to determine (1) whether the first bit is 0 (0,1), in which case the respective entropy encoder is configured to test subsequent bits of the corresponding bit stream to determine whether (1.1)o0535B "air is (0,1) occurs in the next n-1 bits that follow the first bit, in which case the corresponding entropy decoder is configured to recover a sequence of symbols equal to the first bit by followed by the next bits of the corresponding bit stream up to bit p; or (1.2) does bit B occur among the next n-1 bits that follow the first bit, in which case the corresponding entropy decoder is configured to recover a sequence of symbols equal to (B, ...,0)n; or (2) whether the first bit is B, in which case the corresponding entropy decoder is configured to examine subsequent bits of the corresponding bit stream to determine (2.1) whether the symbol a occurs among the next n-60 2 bits that follow the first bit, in the case wherein the corresponding entropy decoder is configured to recover a sequence of symbols equal to the first bit followed by subsequent bits of the corresponding bit stream up to symbol a; or (2.2) whether the symbol a occurs among the next n-2 bits that follow the first bit, in which case the corresponding entropy decoder is configured to recover the sequence of symbols that is (a, 5 ...,a)c.

Додатково або альтернативно, принаймні друга підмножина ентропійних декодерів 322 може бути декодером змінної довжини, сконфігурованим для перетворення кодових слів фіксованих довжин на, відповідно, послідовності символів змінних довжин, при цьому кожен з ентропійних декодерів другої підмножини використовує правило бієктивного перетворення, згідно з яким кодові слова допоміжного коду без префіксу перетворюються на кодові слова головного усіченого унарного коду з 2"'-1 кодовими словами типу (а), (ба), (рбра),...,(Б...Бра), (60...5)3у, 3 Б з а іа, б є 501) так, що кодове слово (с) допоміжного коду без префіксу перетворюється на кодове слово (рбр...0) головного усіченого унарного коду і кодові слова, які мають (4) з с - а і с, й є 30,1) як префікс і п-бітове слово як суфікс, перетворюються на відповідне одне з інших кодових слів (а), (ба), (рра),...,(0...ба)) головного усіченого унарного коду, при цьому ентропійні декодери використовують різні п. Кожен з другої підмножини ентропійних декодерів може конфігуруватися так, що п-бітове слово є п-бітовим представленням кількості символів Б у відповідному кодовому слові головного усіченого унарного коду. Однак, альтернативи є реальними.Additionally or alternatively, at least the second subset of entropy decoders 322 may be variable-length decoders configured to convert fixed-length codewords into, respectively, variable-length symbol sequences, wherein each of the entropy decoders of the second subset uses a bijective conversion rule whereby the codewords of the auxiliary code without a prefix are converted into code words of the main truncated unary code with 2"'-1 code words of the type (a), (ba), (rbra),...,(B...Bra), (60... 5) 3u, 3 B with a and a, b are 501) so that the code word (c) of the auxiliary code without a prefix is transformed into the code word (rbr...0) of the main truncated unary code and code words that have (4) with c - a and c, and is 30,1) as a prefix and n-bit word as a suffix, are converted into the corresponding one of the other code words (a), (ba), (rra),...,(0. ..ba)) of the main truncated unary code, while entropy decoders use different n. Each of the second subset of entropy decoders ders can be configured so that an n-bit word is an n-bit representation of the number of B symbols in the corresponding codeword of the main truncated unary code. However, the alternatives are real.

Кожен з другої підмножини ентропійних декодерів може бути декодером змінної довжини, сконфігурованим для перетворення кодових слів фіксованих довжин на, відповідно, послідовності символів змінних довжин і сконфігурованим під час перетворення потоку бітів відповідного ентропійного декодера на символи для перевірки першого біта відповідного потоку бітів для визначення того чи (1) він дорівнює с з с є 430,1), у випадку чого відповідний ентропійний декодер конфігурується для відновлення послідовності символів, яка дорівнює (6р...0)2"з Ь є 10,1у; або (2) чи він дорівнює й з с хз й і с, й є (0,1), у випадку чого відповідний ентропійний декодер конфігурується для визначення п-бітового слова з п подальших бітів відповідного потоку бітів, які слідують після першого біту, і для відновлення 3 нього послідовності символів, яка має тип (а), (ба), (рба),...,(0...рба), (00...) 3Б6 аїр є (017 з кількістю символів р, яка залежить від п-бітового слова.Each of the second subset of entropy decoders may be a variable-length decoder configured to convert fixed-length codewords into, respectively, a sequence of variable-length symbols and configured, during the conversion of the respective entropy decoder's bitstream into symbols, to test the first bit of the respective bitstream to determine whether (1) it is equal to c with c is 430.1), in which case the corresponding entropy decoder is configured to recover a sequence of symbols that is equal to (6p...0)2" with b is 10.1y; or (2) whether it is equal to y z c xz y and c, y is (0,1), in which case the corresponding entropy decoder is configured to determine the n-bit word from the n further bits of the corresponding bit stream that follows the first bit and to restore the 3-bit sequence of symbols, which has the type (а), (ба), (рба),...,(0...рба), (00...) 3B6 and is (017 with the number of symbols p, which depends on bit word.

Додатково або альтернативно, наперед визначений один з ентропійних декодерів 322 може бути декодером змінної довжини, сконфігурованим для перетворення кодових слів змінних довжин на, відповідно, послідовності символів фіксованих довжин, при цьому наперед визначений ентропійний декодер використовує правило бієктивного перетворення, згідно з яким кодові слова допоміжного коду без префіксу перетворюються на 23 кодові слова довжиною З головного коду так, що кодове слово (с) з с є 30,1) перетворюється на кодове слово (ааа)з головного коду з а є 10,1), при цьому кодові слова, які мають (4) з с а а є 50,1) як префікс і відповідне перше 2-бітове слово з першої множини трьох 2-бітових слів як суфікс, перетворюються на усі три кодові слова головного коду, який має точно один символ Б з бар є 10,1), при цьому кодові слова, які мають (4) як префікс і конкатенацію першого 2-бітового слова, яке не є елементом першої множини, і другого 2-бітового слова з другої множини трьох 2-бітових слів як суфікс, перетворюються на усі три кодові слова головного коду, який має точно один символ а, і кодове слово, яке має (4) як префікс і конкатенацію першого 2-бітового слова, яке не є елементом першої множини, і другого 2-бітового слова, яке не є елементом другої множини, як суфікс перетворюється на кодове слово (БББ)з. Перше 2-бітове слово кодових слів головного коду, який має точно один символ б, може бути 2-бітовим представленням положення символу Б у відповідному кодовому слові головного коду, а друге 2-бітове слово кодових слів головного коду, який має точно один символ а, може бути 2-бітовим представленням положення символу а у відповідному кодовому слові головного коду. Однак, альтернативи є реальними.Additionally or alternatively, the predetermined one of the entropy decoders 322 may be a variable-length decoder configured to convert variable-length codewords into, respectively, fixed-length symbol sequences, wherein the predetermined entropy decoder uses a bijective conversion rule whereby the codewords of the auxiliary of the code without a prefix are converted into 23 codewords of length From the main code so that the codeword (c) from c is 30.1) is converted into the codeword (aaa) from the main code from a is 10.1), while the codewords, which have (4) with s a a is 50.1) as a prefix and the corresponding first 2-bit word from the first set of three 2-bit words as a suffix are converted to all three codewords of the main code, which has exactly one symbol B with bar is 10.1), with codewords having (4) as a prefix and a concatenation of the first 2-bit word that is not an element of the first set and the second 2-bit word from the second set of three 2-bit words as a suffix , are converted to all three codewords of the master code having exactly one character a and a codeword having (4) as a prefix and the concatenation of the first 2-bit word which is not an element of the first set and the second 2-bit word which is not an element of the second set, as the suffix turns into a code word (BBB)z. The first 2-bit word of the main code codewords having exactly one character b may be a 2-bit representation of the position of character B in the corresponding codeword of the main code, and the second 2-bit word of the main code codewords having exactly one character a , can be a 2-bit representation of the position of the character a in the corresponding codeword of the main code. However, the alternatives are real.

Наперед визначений один з ентропійних декодерів може бути декодером змінної довжини, сконфігурованим для перетворення кодових слів змінних довжин на послідовності символів, кожна з яких містить три символи, відповідно, і під час перетворення потоку бітів відповідного ентропійного декодера на символи сконфігурований для дослідження першого біту відповідного потоку бітів для визначення того факту (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-бітових слів, у випадку чого наперед визначений ентропійний декодер конфігурується для відновлення послідовності символів, яка дорівнює (рБб)з.The predetermined one of the entropy decoders may be a variable-length decoder configured to convert variable-length codewords into sequences of symbols each containing three symbols, respectively, and when converting the bit stream of the corresponding entropy decoder into symbols, configured to examine the first bit of the corresponding stream of bits to determine (1) whether the first bit of the corresponding bit stream is equal to c z c is 430.1), in which case the predetermined entropy decoder is configured to recover a sequence of symbols that is equal to (aaa)z z a 0 50.1) , or (2) whether the first bit of the corresponding bit stream is equal to y c 2 y dy(0,1), in which case the predetermined entropy decoder is configured to determine the first 2-bit word with the 2 further bits of the corresponding bit stream that follow after the first bit, and checking the first 2-bit word to determine the fact (2.1) whether the first 2-bit word is not an element of the first set of three 2-bit words, in which case the predetermined entropy decoder is configured to recover a sequence of symbols that has exactly one symbol B of B-aiir is 10.1), where the position of symbol B in the corresponding sequence of symbols depends on the first 2 -bit word, or (2.2) whether the first 2-bit word is an element of the first set, in which case the predetermined entropy decoder is configured to determine the second 2-bit word from the 2 further bits of the corresponding bit stream that follow the two bits from which a first 2-bit word has been defined, and to test the second 2-bit word to determine the fact (3,1) whether the second 2-bit word is not an element of the second set of three 2-bit words, in which case the predefined entropy decoder is configured to recover a character sequence that has exactly one character a, where the position of the character a in the corresponding character sequence depends on the second 2-bit word, either (3.2) or the second 2-b the ith word is an element of the second set of three 2-bit words, in which case the predetermined entropy decoder is configured to recover a sequence of symbols equal to (rBb)z.

Тепер, після опису загальної концепції схеми кодування відеоданих, варіанти виконання представленого винаходу описуються відносно вищезгаданих варіантів виконання. Іншими словами, охарактеризовані нижче варіанти виконання можуть втілюватися шляхом використання вищенаведених схем і, навпаки, вищезгадані схеми кодування можуть втілюватися з використанням охарактеризованих нижче варіантів виконання.Now, after describing the general concept of the video data encoding scheme, embodiments of the present invention are described relative to the aforementioned embodiments. In other words, the embodiments described below can be implemented using the above schemes and, conversely, the above encoding schemes can be implemented using the embodiments described below.

У вищенаведених варіантах виконання, описаних відносно Фіг. 7-9, ентропійний кодер і декодери з Фіг. 1-6 втілювалися згідно з концепцією РіІРЕ (ентропія поділу інтервалу ймовірності). Один спеціальний варіант виконання використовує арифметичні кодери/декодери 310 і 322 з єдиним станом ймовірності. Як буде описуватися нижче, згідно з альтернативним варіантом виконання, об'єкти 306-310 і відповідні об'єкти 318-322 можуть замінятися спільним ентропійним кодувальним засобом. Як приклад, уявіть арифметичний кодувальний засіб, який просто керує одним спільним станом В ії, її кодує усі символи з одержанням одного спільного потоку бітів, таким чином відмовляючись від вигідних аспектів представленої концепції РІРЕ, що стосується паралельної обробки, але уникаючи необхідності чергування часткових потоків бітів, як обговорюється нижче. Роблячи це, кількість станів ймовірності, завдяки яким ймовірностіIn the above embodiments described with respect to Figs. 7-9, the entropy encoder and decoders of Figs. 1-6 were implemented according to the concept of РиРЕ (entropy of division of the probability interval). One specific embodiment uses single probability state arithmetic encoders/decoders 310 and 322. As will be described below, according to an alternative embodiment, objects 306-310 and corresponding objects 318-322 may be replaced by a common entropy coding means. As an example, imagine an arithmetic encoder that simply manages a single shared state of V, and encodes all symbols to yield a single shared bit stream, thus giving up the advantageous aspects of the presented RIP concept of parallel processing, but avoiding the need to alternate partial bit streams , as discussed below. By doing this, the number of probability states due to which the probabilities

Зо контексту оцінюються шляхом оновлення даних (таких як таблиця пошуку), може бути більшою за кількість станів ймовірності, завдяки яким виконується підрозбиття інтервалу ймовірності.The context evaluated by updating data (such as a lookup table) may be greater than the number of probability states through which the probability interval is subdivided.

Тобто, аналогічно до дискретизації величина ширини інтервалу ймовірності перед індексацією в таблиці Ріар, а також індекс стану ймовірності можуть дискретизуватися. Вищенаведений опис можливого втілення для окремих кодерів/декодерів 310 і 322 може, таким чином, поширюватися, наприклад, на втілення ентропійних кодерів/декодерів 318-322/306-310 як адаптивних до контексту двійкових арифметичних кодувальних/декодувальних засобів:That is, similarly to discretization, the value of the width of the probability interval before indexing in the Riar table, as well as the index of the probability state, can be discretized. The above description of a possible embodiment for individual encoders/decoders 310 and 322 may thus extend to, for example, embodiments of entropy encoders/decoders 318-322/306-310 as context-adaptive binary arithmetic encoders/decoders:

Будучи більш точними, згідно з варіантом виконання, ентропійний кодер, підключений до виходу присвоювача параметрів (який функціонує тут як контекстний присвоювач), може працювати наступним чином: 0. Присвоювач 304 надсилає значення інформаційної величини разом з параметром ймовірності. Ймовірністю є рбіаїє ситепуріпі|. 1. Таким чином, ентропійний кодувальний засіб приймає: 1) ма! РБ5, 2) інформаційну величину і 3) оцінку розподілу ймовірності роїаїє ситепЦбріп|Ї. реїаїє ситепЦьбіп| може мати більше станів ніж кількість розрізнюваних індексів стану ймовірності Ніаб. Якщо так, то роїаїє сштепЦбіп| може дискретизуватися як, наприклад, шляхом ігнорування т І 5В5 з т, більшим за або рівним 1 і переважно рівним 2 або 3, для одержання р віаїє, тобто індексу, який потім використовується для доступу до таблиці Ніаб. Однак, дискретизація може не виконуватися, тобто. р в5іаїе може дорівнювати роїаїе ситепуріп|. 2. Потім виконується дискретизація ЕВ (Як згадується вище: будь-який один В (і відповідний 1. з одним спільним потоком бітів) використовується/контролюється для усіх розрізнюваних величин р віаїє або один ВК (і відповідний ГІ з відповідним частковим потоком бітів на пару ВЛ.) на розрізнювану величину р в5іаіє, яка в останньому випадку повинна відповідати наявності одного двійкового кодера 310 на таку величину)More precisely, according to an embodiment, an entropy encoder connected to the output of the parameter assigner (which functions here as a context assigner) may operate as follows: 0. Assigner 304 sends the value of the information quantity along with the probability parameter. The probability is rbiaie sitepuripi|. 1. Thus, the entropy coding means accepts: 1) ma! RB5, 2) information value and 3) estimation of the probability distribution of the system. reiaie sitepCbip| can have more states than the number of distinguishable state indices of probability Niab. If so, then it will work can be discretized as, for example, by ignoring t and 5B5 with t greater than or equal to 1 and preferably equal to 2 or 3, to obtain p viaie, i.e., the index which is then used to access the Niab table. However, discretization may not be performed, ie. r v5iaie can be equal to roiaie sitepurip|. 2. Then EB is sampled (As mentioned above: any one B (and the corresponding 1. with one shared bit stream) is used/controlled for all discriminable quantities p viaie or one VC (and the corresponding GI with the corresponding partial bit stream per pair VL.) on the distinguishable value p v5iaie, which in the latter case should correspond to the presence of one binary coder 310 on such a value)

О |пдех-Стаб|В»»а) (або деяка інша форма дискретизації) 3. Потім, виконується визначення Віз і В:O |pdeh-Stab|B»»a) (or some other form of discretization) 3. Then, the definition of Viz and B is performed:

Вігєз:-РіІабір зіагеї|(д іпаєх)|; Ріар зберегла попередньо обраховані величини для рір зіаїє|.Vigiez:-RiIabir ziageyi|(dipayeh)|; Riar retained the pre-calculated values for rir ziaie|.

ОІ9 іпаехOI9 ipaeh

В-В - Вів (гобто, АВ попередньо оновлюється якщо б "елемент вибірки" був МРБ) 4. Обрахунок нового часткового інтервалу: (510) її (біп-1-маїМРБ) тепВ-В - Viv (obto, AB is pre-updated if the "sampling element" was MRB) 4. Calculation of a new partial interval: (510) her (beep-1-mayMRB) tep

І--8And--8

В"Вів5 5. Повторна нормалізація І і В, запис бітів,B"Viv5 5. Re-normalization of I and B, recording of bits,

Аналогічно, ентропійний декодер, підключений до виходу присвоювача параметрів (який функціонує тут як контекстний присвоювач), може працювати наступним чином: 0. Присвоювач 304 надсилає значення інформаційної величини разом з параметром ймовірності. Ймовірність дорівнює роїаїє сигепі(ріпі. 1. Таким чином, ентропійний кодувальний засіб приймає запит на надання інформаційної величини разом 3: 1) майїРБ, і 2) оцінкою розподілу ймовірності реїаїє ситепі(Біп|. роїаїє ситепЦбіп| може мати більше станів ніж кількість розрізнюваних індексів станів ймовірності таблиці НРіар. Якщо так, то роїаіїє ситепі(ріп| може дискретизуватися, наприклад, шляхом ігнорування т І 585 з т, яке більше за або рівне 1 і переважно дорівнює 2 або 3, для одержання р віаїє, тобто індексу, який потім використовується для доступу до таблиці Віаб.Similarly, an entropy decoder connected to the output of a parameter assigner (which functions here as a context assigner) may operate as follows: 0. Assigner 304 sends the value of the information quantity along with the probability parameter. The probability is equal to roiaie sigepi(ripi. 1. Thus, the entropy encoder accepts a request to provide an information quantity together 3: 1) mayiRB, and 2) an estimate of the probability distribution of reiaie sitepi(Bip|. roiaie sitepCbip| can have more states than the number of distinguishable of the state indices of the probability table NRiar. If so, then the roiaiiie of the system can be discretized, for example, by ignoring t and 585 with t greater than or equal to 1 and preferably equal to 2 or 3, to obtain p viaie, i.e., an index that then used to access the Viab table.

Дискретизація може, однак, не виконуватися, тобто, р віаїє може дорівнювати рбїагеє ситепцЦріп|. 2. Потім виконується дискретизація В (як згадано вище: будь-який один К (і відповідний М з одним спільним потоком бітів) використовується/контролюється для усіх розрізнюваних величин р віаіїє, або один В (і відповідний М з відповідним частковим потоком бітів на пару В/) на розрізнювану величину р б5іаїє, яка в останньому випадку повинна відповідати наявності одного двійкового кодера 310 на таку величину) а іпдех-Стац(АВ»»а) (або деяка інша форма дискретизації) 3. Потім виконують визначення Віз і В:The discretization may, however, not be performed, i.e., p viaie may be equal to rbyagee sytepcCrip|. 2. B is then sampled (as mentioned above: any one K (and corresponding M with one shared bitstream) is used/controlled for all discriminable quantities p viaiiie, or one B (and corresponding M with corresponding partial bitstream per pair В/) on the distinguishable value р b5iaie, which in the last case should correspond to the presence of one binary coder 310 on such a value) and ipdeh-Stats(АВ»»а) (or some other form of discretization) 3. Then perform the determination of Viz and B:

Віє5-НіІабір віаїє)|д іпдех!; Віарб зберегла попередньо обраховані величини для рір віаїге!-ФІд іпаех)Vie5-NiIabir viaie)|d ipdeh!; Viarb saved pre-calculated values for rir viaige!-FId ipaeh)

В-В - Вів (гобто, В попередньо оновлюється, якщо "Інформаційною величиною" було МРБ)І 4. Визначення інформаційної величини, яке залежить від положення часткового інтервалу: її (УЗ В) ТепВ-В - Viv (obt., В is pre-updated if the "Information value" was MRB)I 4. Definition of the information value, which depends on the position of the partial interval: its (UZ В) Tep

Біп - 1-х«аїМРБ (інформаційна величина декодується як І РБ5; двійковий буферний селектор 18 буде одержувати реальне значення інформаційної величини шляхом використання цієїBeep - 1-x"aiMRB (the information quantity is decoded as I RB5; the binary buffer selector 18 will receive the real value of the information quantity by using this

Зо інформації про інформаційну величину і маїМР5Б)From the information about the information value and myMR5B)

У-Мм-чU-Mm-h

В-Вівв5 абоB-Vivv5 or

Біп -- маїМРБ (інформаційна величина декодується як МР5; реальне значення інформаційної величини одержується шляхом використання цієї інформації про інформаційну величину та хаїМР5) 5. Повторна нормалізація В, зчитування одного біта і оновлення У,Beep -- myMRB (the information quantity is decoded as MP5; the real value of the information quantity is obtained by using this information about the information quantity and haiMP5) 5. Re-normalization of B, reading one bit and updating B,

Як описано вище, присвоювач 4 присвоює реїаїє ситепцріп| кожній інформаційній величині.As described above, allocator 4 assigns a real sitemap to each information quantity.

Зв'язування може виконуватися на основі вибору контексту. Тобто, присвоювач 4 може вибирати контекст, використовуючи індекс контексту сіхійх, який, у свою чергу, має відповідну зв'язану з ним ймовірність роїаїє ситепі. Оновлення ймовірності може виконуватися кожен раз, коли ймовірність роїаїє сиптепЦбіп| використана для поточної інформаційної величини.Linking can be done based on context selection. That is, assigner 4 can select a context using a context index sihiih, which in turn has a corresponding probability associated with it. A probability update can be performed each time the probability changes used for the current information value.

Оновлення стану ймовірності реїаїє ситепіЦріпй| виконується в залежності від значення кодованого біту: її (рй-1-маЇМРБ) теп роїаїгє сштепі «- Мехі біаїгє І РБ5 |реїаїє ситепі її (реїаїє ситепі--0) теп хаїмМР5 «- 1-маїМР5 віве роїагє ситепіє-Мехі біаїє МРБ Іроїіаїє ситепіUpdating the state of the probability of reyaie sytepiCripy| is performed depending on the value of the coded bit: her (rj-1-maIMRB) tep roiaige sstepepi "- Mekhi biaighe I RB5 |reiaie sitepe her (reiaie sitepi--0) tep haimMR5 "- 1-maiMR5 vive roiage sitepie-Mekhi biaie MRB Iroiiaiye sitepi

Якщо надається більше ніж один контекст, то адаптація виконується контекстно, тобто, роїаїє ситепіЦсіхідх| використовується для кодування і потім для оновлення з використанням поточного значення інформаційної величини (кодованої або, відповідно, декодованої).If more than one context is provided, then the adaptation is done contextually, that is, roiaie sitepiCsihidh| is used for encoding and then for updating using the current value of the information quantity (encoded or, accordingly, decoded).

Як буде описано детальніше нижче, згідно з описаними тепер варіантами виконання кодер і декодер можуть необов'язково втілюватися для роботи в різних режимах, а саме: в режимі низької складності (І С) і високоефективному режимі (НЕ). Це головним чином ілюструється далі відносно РІРЕ кодування (потім згадуючи режими І С і НЕ РІРЕ), але опис деталей складності масштабування легко переноситься на інші втілення засобів ентропійного кодування/декодування, таких як варіант виконання з використанням одного спільного адаптивного до контексту арифметичного кодера/декодера.As will be described in more detail below, according to the now described embodiments, the encoder and decoder may optionally be implemented to operate in different modes, namely: in the low complexity mode (I C) and the high efficiency mode (NE). This is mainly illustrated below with respect to RIPRE coding (then mentioning IS and NIPRE modes), but the description of the details of the scaling complexity easily transfers to other implementations of entropy encoding/decoding facilities, such as an implementation using a single common context-adaptive arithmetic encoder/decoder .

Згідно з описаними нижче варіантами виконання обидва режими ентропійного кодування можуть використовувати - однаковий синтаксис і семантику (для послідовності синтаксичних елементів З01 і, відповідно, 327) - однакові схеми бінаризації для усіх синтаксичних елементів (як на даний момент специфікується для САВАС) (тобто, бінаризатори можуть працювати незалежно від активованого режиму) - використання одних і тих же РІРЕ кодів (тобто, двійкові кодери/декодери можуть працювати незалежно від активованого режиму) - використання 8-бітових ініціалізуючих величин моделі ймовірності (замість 16-бітових ініціалізуючих величин, як на даний момент специфіковано для САВАС)According to the implementation options described below, both entropy coding modes can use - the same syntax and semantics (for the sequence of syntactic elements Z01 and, accordingly, 327) - the same binarization schemes for all syntactic elements (as currently specified for SAVAS) (ie, binarizers can work independently of the activated mode) - use of the same RIRE codes (ie, binary encoders/decoders can work independently of the activated mode) - use of 8-bit initialization values of the probability model (instead of 16-bit initialization values as currently specified for SAVAS)

Загалом кажучи, І С-РІРЕ відрізняється від НЕ-РІРЕ складністю обробки, як, наприклад, складність вибору РІРЕ доріжки 312 для кожної інформаційної величини.Generally speaking, I C-RIRE differs from NON-RIRE in processing complexity, such as the complexity of selecting RIRE track 312 for each information quantity.

Наприклад, режим низької складності (ІС) може функціонувати за наступних обмежень: для кожної інформаційної величини (Бріпідх) може існувати точно одна модель ймовірності, тобто, одне значення сіхійх. Тобто, може не передбачатися вибір/адаптація контексту в С РІРЕ.For example, the low-complexity mode (LC) can function under the following restrictions: for each information quantity (Bripidh) there can be exactly one probability model, that is, one value of sihiyh. That is, context selection/adaptation may not be provided in S RIRE.

Спеціальні синтаксичні елементи, такі як ті, що використовуються для залишкового кодування, можуть, однак, кодуватися з використанням контекстів, як далі описано нижче. Більше того, усі моделі ймовірності можуть бути неадаптивними, тобто, усі моделі можуть ініціалізуватися на початку кожної частини інформації відповідними модельованими ймовірностями (в залежності від вибору типу частини інформації і ОР частини інформації) і можуть зберігатися фіксованими протягом усього процесу обробки частини інформації. Наприклад, можуть підтримуватися тільки 8 різних модельованих ймовірностей, які відповідають 8 різним РІРЕ кодам 310/322, для моделювання контексту і кодування. Спеціальні синтаксичні елементи для залишкового кодування, тобто, зідпітісапсе соей Пйад і соєй абз Іеме! агеаїєтХ (з Х-1,2), семантика яких описана детальніше нижче, можуть присвоюватися моделям ймовірності так, що (принаймні) групи, наприклад, з 4 синтаксичних елементів кодуються/декодуються однією і тією ж модельованою ймовірністю. Порівняно з САМІ С режим І С-РІРЕ досягає приблизно тих же характеристик В-0О і тієї ж продуктивності.Special syntactic elements, such as those used for residual encoding, may, however, be encoded using contexts, as further described below. Moreover, all probability models can be non-adaptive, that is, all models can be initialized at the beginning of each piece of information with corresponding simulated probabilities (depending on the choice of the type of piece of information and the OR of the piece of information) and can be kept fixed throughout the process of processing the piece of information. For example, only 8 different simulated probabilities corresponding to 8 different RIP codes 310/322 can be supported for context modeling and coding. Special syntactic elements for residual coding, that is, zidpitisapse soey Pyad and soey abz Ieme! ageaietX (from X-1,2), the semantics of which is described in more detail below, can be assigned to probability models so that (at least) groups of, for example, 4 syntactic elements are coded/decoded by the same modeled probability. Compared to SAMI C, the I C-RIRE mode achieves approximately the same B-0O characteristics and the same performance.

Зо НЕ-РІРЕ може конфігуруватися концептуально подібно до САВАС стандарту Н.264 з наступними відмінностями: Двійкове арифметичне кодування (ВАС) замінюється РІРЕ кодуванням (теж саме що й у випадку І С-РІРЕ). Кожна модель ймовірності, тобто, кожен сіхіах, може представлятися рірейдх і геїіпеїдх, де ріреїЇдх із значеннями в інтервалі 0...7 представляє модельовану ймовірність 8 різних РІРЕ кодів. Ця зміна впливає тільки на внутрішнє представлення станів, а не на поведінку самої машину стану (тобто, оцінку ймовірності). Як буде детальніше описано нижче, ініціалізація моделей ймовірності може використовувати 8- бітові ініціалізуючі величини, як вказано вище. Зворотне сканування синтаксичних елементів соей аре5 Іеме! дгеаїегхХ (з Х - 1,2), соеїї ар5 ІємеІ тіпи53 і соеїї відп Пад (семантика яких стане яснішою з нижченаведеного обговорення) може виконуватися вздовж тієї ж доріжки сканування, що й пряме сканування (використовуване, наприклад, в кодування карти значущості). Може також спрощуватися одержання контексту для кодування соей арзв Ієме! дгєайетх (м/ййп Х - 1,2). Порівняно з САВАС запропонований НЕ-РІРЕ приблизно досягає тих же характеристик В-О з кращою продуктивністю.NE-RIRE can be configured conceptually similar to SAVAS of the N.264 standard with the following differences: Binary Arithmetic Coding (BAC) is replaced by RIRE coding (the same as in the case of I C-RIRE). Each probability model, that is, each sikhiah, can be represented by rireidh and geiipeidh, where rireiIdh with values in the interval 0...7 represents the simulated probability of 8 different RIRE codes. This change affects only the internal representation of the states, not the behavior of the state machine itself (ie, the probability estimation). As will be described in more detail below, the initialization of probability models may use 8-bit initialization values as indicated above. Reverse scanning of the syntactic elements of soy are5 Ieme! dgeaieghX (with X - 1,2), soeii ar5 IemeI tipi53 and soeii odp Pad (the semantics of which will become clearer from the following discussion) can be performed along the same scan track as a direct scan (used, for example, in encoding a significance map). It can also make it easier to get the context for encoding soy arzv Ieme! dgeayeth (m/yyp X - 1.2). Compared to SAVAS, the proposed NE-RIRE approximately achieves the same B-O characteristics with better performance.

Легко побачити, що тільки що згадані режими легко генеруються шляхом виконання, наприклад, вищезгаданого адаптивного до контексту двійкового арифметичного кодувального/декодувального засобу так, що він працює в різних режимах.It is easy to see that the modes just mentioned are easily generated by implementing, for example, the aforementioned context-adaptive binary arithmetic encoder/decoder so that it operates in different modes.

Таким чином, згідно з варіантом виконання згідно з першим аспектом представленого винаходу декодер для декодування потоку даних може формуватися, як зображено на Фіг. 11.Thus, according to an embodiment according to the first aspect of the present invention, a decoder for decoding a data stream may be formed as shown in FIG. 11.

Декодер передбачений для декодування потоку даних 401, такого як поперемінний потік бітів 340, в який кодуються мультимедійні дані, такі як відеодані. Декодер містить перемикач режимів 400, сконфігурований для активування режиму низької складності або високоефективного режиму в залежності від потоку даних 401. Для цього, потік даних 401 може містити синтаксичний елемент, такий як двійковий синтаксичний елемент, який має двійкову величину 1 у випадку режиму низької складності, який активується, і має двійкову величину 0 у випадку високоефективного режиму, який активується. Очевидно, зв'язок між інформаційною величиною і режимом кодування може перемикатися, а недвійковий синтаксичний елемент, який має більше ніж два можливі значення, міг би також використовуватися. Оскільки реальний вибір між обома режимами все ще нечіткий до прийому відповідного синтаксичного елемента, то цей синтаксичний елемент може міститися в деякому ведучому заголовку кодованого потоку данихA decoder is provided to decode a data stream 401, such as an alternating bit stream 340, into which multimedia data such as video data is encoded. The decoder includes a mode switch 400 configured to activate a low-complexity mode or a high-efficiency mode depending on the data stream 401. To do so, the data stream 401 may include a syntax element, such as a binary syntax element that has a binary value of 1 in the case of the low complexity mode, which is activated, and has a binary value of 0 in the case of high efficiency mode which is activated. Obviously, the relationship between information value and encoding mode can be switched, and a non-binary syntactic element that has more than two possible values could also be used. Since the actual choice between the two modes is still unclear until the reception of the corresponding syntax element, this syntax element may be contained in some leading header of the encoded data stream

401, наприклад, з фіксованою оцінкою ймовірності або моделлю ймовірності, або записуватися в потік даних 401, тобто, коли використовується байпасний режим.401 , for example, with a fixed probability estimate or probability model, or be written to the data stream 401 , ie, when bypass mode is used.

Окрім того, декодер з Фіг. 11 містить множину ентропійних декодерів 322, кожен з яких сконфігурований для перетворення кодових слів в потоці даних 401 на часткові послідовності 321 символів. Як описано вище, обернений перемежовувач 404 може підключатися між входами ентропійних декодерів 322, з одного боку, і входом декодера з Фіг. 11, де використовується потік даних 401, з іншого боку. Окрім того, як вже описувалося вище, кожен з ентропійних декодерів 322 може зв'язуватися з відповідним інтервалом ймовірності, при цьому інтервали ймовірності різних ентропійних декодерів разом охоплюють увесь інтервал ймовірності від 0 до 1 або від 0 до 0,5 у випадку ентропійних декодерів 322, які мають справу з МРБ і І РБ5 скоріше, ніж з абсолютними символьними величинами. Деталі, які стосуються цього питання, були описані вище. Пізніше припускається, що кількість декодерів 322 становить 8 з РІРЕ індексом, який присвоюється кожному декодеру, але будь-яка інша кількість також можлива. Окрім того, один з цих кодерів (далі це ілюстративно той кодер, який має ріреЇїй 0) оптимізується для інформаційних величин, які мають рівноцінну статистику, тобто, їх двійкова величина рівноцінно припускає 1 і 0. Цей декодер може просто проходитися по інформаційних величинах.In addition, the decoder of Fig. 11 includes a plurality of entropy decoders 322, each of which is configured to convert code words in the data stream 401 into partial sequences 321 of symbols. As described above, the inverse interleaver 404 can be connected between the inputs of the entropy decoders 322, on the one hand, and the input of the decoder of FIG. 11, where data flow 401 is used, on the other hand. In addition, as described above, each of the entropy decoders 322 may be associated with a corresponding probability interval, with the probability intervals of the different entropy decoders together covering the entire probability interval from 0 to 1, or from 0 to 0.5 in the case of the entropy decoders 322 , which deal with MRB and I RB5 rather than with absolute symbolic values. The details relating to this matter have been described above. Later, the number of decoders 322 is assumed to be 8 with a RIP index assigned to each decoder, but any other number is also possible. In addition, one of these encoders (hereafter illustratively the encoder with a frequency of 0) is optimized for information quantities that have equal statistics, that is, their binary value equally assumes 1 and 0. This decoder can simply pass through the information quantities.

Відповідний кодер 310 працює так само. Навіть будь-яка маніпуляція з інформаційною величиною, яка залежить від значення найбільш ймовірної інформаційної величини, ха!МРБ, за допомогою селекторів 402 і, відповідно, 502 може усуватися. Іншими словами, ентропія відповідного часткового потоку є вже оптимальною.The corresponding encoder 310 works in the same way. Even any manipulation of the information value, which depends on the value of the most likely information value, ha!MRB, with the help of selectors 402 and, accordingly, 502 can be eliminated. In other words, the entropy of the corresponding partial flow is already optimal.

Окрім того, декодер з Фіг. 11 містить селектор 402, сконфігурований для одержання кожного символу послідовності 326 символів з вибраного одного з множини ентропійних декодерів 322.In addition, the decoder of Fig. 11 includes a selector 402 configured to receive each symbol of the sequence of symbols 326 from a selected one of a plurality of entropy decoders 322 .

Як згадано вище, селектор 402 може ділитися на присвоювач параметрів 316 і селектор 318.As mentioned above, selector 402 can be divided into parameter assigner 316 and selector 318.

Десимволізатор 314 конфігурується для десимволізації послідовності 326 символів для одержання послідовності 327 синтаксичних елементів. Реконструктор 404 конфігурується для відновлення мультимедійних даних 405 на основі послідовності синтаксичних елементів 327.The desymbolizer 314 is configured to desymbolize a sequence of 326 symbols to obtain a sequence of 327 syntactic elements. The reconstructor 404 is configured to reconstruct the multimedia data 405 based on the sequence of syntax elements 327 .

Селектор 402 конфігурується для виконання вибору, який залежить від одного активованого режиму, вибраного серед режиму низької складності і високоефективного режиму, як вказано стрілкою 406.Selector 402 is configured to make a selection dependent on one activated mode selected from a low-complexity mode and a high-efficiency mode, as indicated by arrow 406 .

Зо Як вже відзначено вище, реконструктор 404 може бути частиною блочного прогнозувального відеодекодера, який працює на фіксованому синтаксисі і семантиці синтаксичних елементів, тобто, фіксований відносно вибору режиму за допомогою перемикача режимів 400. Тобто, структура реконструктора 404 не страждає від зданості перемикати режими. Точніше, реконструктор 404 не збільшує надмірне втілення завдяки здатності перемикання режимів, яке забезпечується перемикачем режимів 400 і принаймні функціональністю стосовно залишкових даних, і дані прогнозування залишаються однаковими незалежно від режиму, вибраного перемикачем 400. Те ж саме застосовується, однак, стосовно ентропійних декодерів 322. Усі ці декодери 322 повторно використовуються в обох режимах і, відповідно, відсутні додаткові втілення, хоча декодер з Фіг. 11 сумісний з обома режимами: режимом низької складності і високоефективним режимом.As already noted above, the reconstructor 404 can be part of a block predictive video decoder that operates on a fixed syntax and semantics of syntactic elements, that is, fixed with respect to mode selection using the mode switch 400. That is, the structure of the reconstructor 404 does not suffer from the ability to switch modes. More specifically, the reconstructor 404 does not increase over-embodying due to the mode switching capability provided by the mode switch 400 and at least the residual data functionality, and the prediction data remains the same regardless of the mode selected by the switch 400. The same applies, however, to the entropy decoders 322. All of these decoders 322 are reused in both modes and, accordingly, there are no additional embodiments, although the decoder of FIG. 11 is compatible with both modes: low complexity mode and high performance mode.

Як побічний аспект слід відзначити, що декодер з Фіг. 11 не тільки здатен працювати на незалежних потоках даних або в одному режимі або в іншому режимі. Скоріше, декодер з Фіг. 11, а також потік даних 401 можуть конфігуруватися так, що перемикання між обома режимами повинно бути навіть можливим під час обробки однієї частини мультимедійних даних, як, наприклад під час обробки відеоданих або деякої частини аудіоінформації, для, наприклад, керування складністю кодування на кодувальній стороні в залежності від зовнішніх або навколишніх умов, таких як стан акумулятора або подібне, з використанням каналу зворотного зв'язку від декодера до кодера, відповідно, для керування в замкненому контурі вибором режиму.As a side aspect, it should be noted that the decoder of Fig. 11 is not only capable of operating on independent data streams in either one mode or the other. Rather, the decoder of FIG. 11 as well as the data stream 401 can be configured so that switching between both modes should even be possible during the processing of one part of the multimedia data, as for example during the processing of video data or some part of the audio information, for example to control the coding complexity on the coding side depending on external or environmental conditions, such as battery status or the like, using a decoder-to-encoder feedback channel, respectively, to control the mode selection in a closed loop.

Таким чином, декодер з Фіг. 11 працює подібно в обох випадках: у випадку режиму низької складності (С), який вибирається, або високефективного режиму (НЕ), який вибирається.Thus, the decoder of Fig. 11 works similarly in both cases: in the case of the low-complexity mode (C) being selected, or the high-efficiency mode (NO) being selected.

Реконструктор 404 виконує відновлення з використанням синтаксичних елементів і запрошує поточний синтаксичний елемент наперед визначеного типу шляхом обробки або задоволення деякої рекомендації щодо синтаксичної структури. Десимволізатор 314 запрошує ряд інформаційних величин для виконання дійсної бінаризації для синтаксичного елемента, запрошеного реконструктором 404. Очевидно, що у випадку двійкового алфавіту, бінаризація, виконувана десимволізатором 314, зводиться просто до подачі відповідної інформаційної величини/символу 326 до реконструктора 404 як на даний момент запрошений двійковий синтаксичний елемент.Reconstructor 404 performs reconstruction using syntax elements and invokes the current syntax element of a predefined type by processing or satisfying some syntax structure recommendation. The desymbolizer 314 requests a set of information values to perform a valid binarization for the syntactic element requested by the reconstructor 404. Obviously, in the case of a binary alphabet, the binarization performed by the desymbolizer 314 simply boils down to feeding the appropriate information value/character 326 to the reconstructor 404 as currently requested binary syntax element.

Однак, селектор 402 функціонує незалежно в режимі, вибраному перемикачем режимів 400.However, the selector 402 functions independently in the mode selected by the mode switch 400.

Режим роботи селектора 402 має тенденцію бути складнішим у випадку високоефективного режиму і менш складним у випадку режиму низької складності. Більше того, наступне обговорення покаже, що режим роботи селектора 402 в режимі нижчої складності також має тенденцію знижувати швидкість, з якою селектор 402 змінює вибір серед ентропійних декодерів 322 при одержанні послідовних символів з ентропійних декодерів 322. Іншими словами, в режимі низької складності існує вища ймовірність, що безпосередньо розташовані один за одним послідовні символи одержуються з одного і того ж ентропійного декодера серед множини ентропійних декодерів 322. Це, у свою чергу, дозволяє швидше одержання символів з ентропійних декодерів 322. У високоефективному режимі, у свою чергу, режим роботи селектора 402 має тенденцію до досягання вибору серед ентропійних декодерів 322, де інтервал ймовірності, зв'язаний з відповідним вибраним ентропійним декодером 322, більш близько відповідає реальній символьній статистиці символу, на даний момент одержаного селектором 402, таким чином досягаючи кращого коефіцієнта стискання на кодувальній стороні при генеруванні відповідного потоку даних згідно з високоефективним режимом.The mode of operation of the selector 402 tends to be more complex in the case of the high-efficiency mode and less complex in the case of the low-complexity mode. Moreover, the following discussion will show that operating the selector 402 in the lower complexity mode also tends to reduce the rate at which the selector 402 changes selections among the entropy decoders 322 when receiving successive symbols from the entropy decoders 322. In other words, in the low complexity mode there is a higher the probability that immediately following consecutive symbols are received from the same entropy decoder among the plurality of entropy decoders 322. This, in turn, allows faster reception of symbols from the entropy decoders 322. In the high-efficiency mode, in turn, the mode of operation of the selector 402 tends to achieve a selection among entropy decoders 322 where the probability interval associated with the corresponding selected entropy decoder 322 more closely matches the actual symbol statistics of the symbol currently received by selector 402, thus achieving a better compression ratio on the coding side when generating response one data stream according to the highly efficient mode.

Наприклад, різна поведінка селектора 402 в обох режимах може реалізовуватися наступним чином. Наприклад, селектор 402 може конфігуруватися для виконання для наперед визначеного символу вибору серед множини ентропійних декодерів 322, який залежить від попередньо одержаних символів послідовності 326 символів у випадку високоефективного режиму роботи, який активується, і незалежно від будь-яких попередньо одержаних символів послідовності символів у випадку режиму низької складності, який активується. Залежність від попередньо одержаних символів послідовності 326 символів може випливати з адаптивності до контексту і/або адаптивності до ймовірності. Обидві адаптивності можуть деактивуватися в селекторі 402 під час режиму низької складності.For example, the different behavior of the selector 402 in both modes can be implemented as follows. For example, the selector 402 may be configured to perform a predetermined symbol selection among the plurality of entropy decoders 322 that is dependent on previously received symbols of the symbol sequence 326 in the case of a high-efficiency mode of operation being activated, and independent of any previously received symbols of the symbol sequence in the case the low difficulty mode that is activated. Dependence on pre-received symbols of the sequence of symbols 326 may result from context adaptability and/or probability adaptability. Both adaptivities can be disabled in selector 402 during low complexity mode.

Згідно з подальшим варіантом виконання потік даних 401 може структуруватися на послідовні частини, такі як частини масиву даних, кадри, група картинок, послідовності кадрів або подібне, і кожен символ послідовності символів може зв'язуватися з відповідним одним з множини типів символів. У цьому випадку селектор 402 може конфігуруватися для варіювання для символів наперед визначеного типу в поточній частині масиву даних, при цьому вибір залежить від попередньо одержаних символів послідовності символів наперед визначеного типу в поточній частині масиву даних у випадку високоефективного режиму, який активується, і для полишення вибору сталим в поточній частині у випадку режиму низької складності, який активується. Тобто, селектору 402 можуть надавати можливість змінювати вибір серед ентропійних декодерів 322 для наперед встановленого типу символу, але ці зміни обмежуються появою між переходами між послідовними частинами масиву даних. Завдяки цьому заходу оцінки реальної статистики символів обмежуються рідкими моментами часу, тоді як складність кодування зменшується протягом більшості часу.According to a further embodiment, the data stream 401 may be structured into sequential parts, such as parts of a data array, frames, a group of pictures, sequences of frames, or the like, and each symbol of the sequence of symbols may be associated with a corresponding one of a plurality of symbol types. In this case, the selector 402 may be configured to vary for characters of a predetermined type in the current portion of the data array, the selection depending on previously received symbols of the sequence of characters of the predetermined type in the current portion of the data array in the case of the high efficiency mode being activated, and to leave the selection constant in the current part in the case of the low difficulty mode that is activated. That is, the selector 402 may be given the ability to change the selection among the entropy decoders 322 for a predetermined symbol type, but these changes are limited to occurring between transitions between successive portions of the data array. With this measure, estimates of real character statistics are limited to rare moments in time, while coding complexity is reduced most of the time.

Окрім того, кожен символ послідовності 326 символів може зв'язуватися з відповідним одним з множини типів символів, а селектор 402 може конфігуруватися для наперед визначеного символу наперед визначеного типу для вибору одного з множини контекстів, який залежить від попередньо одержаних символів послідовності 326 символів, і виконання вибору серед ентропійних декодерів 322, який залежить від моделі ймовірності, зв'язаної з вибраним контекстом разом з оновленням моделі ймовірності, зв'язаної з вибраним контекстом, який залежить від наперед визначеного символу у випадку високоефективного режиму, який активується, і для виконання вибору одного з множини контекстів, який залежить від попередньо одержаних символів послідовності 326 символів, і для виконання вибору серед ентропійних декодерів 322, який залежить від моделі ймовірності, зв'язаної з вибраним контекстом, разом з полишенням моделі ймовірності, зв'язаної з вибраним контекстом, сталою у випадку режиму низької складності, який активується. Тобто, селектор 402 може використовувати адаптивність до контексту відносно певного типу синтаксичного елемента в обох режимах з одночасним уникненням адаптації до ймовірності у випадку режиму низької складності (І С).In addition, each symbol of the symbol sequence 326 may be associated with a corresponding one of a plurality of symbol types, and the selector 402 may be configured for a predetermined symbol of a predetermined type to select one of a plurality of contexts that depends on previously received symbols of the symbol sequence 326 , and performing a selection among the entropy decoders 322 that depends on the probability model associated with the selected context together with updating the probability model associated with the selected context that depends on the predetermined symbol in the case of the high efficiency mode being activated and to perform the selection one of the plurality of contexts, which depends on the previously obtained symbols of the symbol sequence 326, and to perform a selection among the entropy decoders 322, which depends on the probability model associated with the selected context, together with leaving the probability model associated with the selected context, constant in the case of low complexity mode, which asset is being That is, the selector 402 can use context-adaptive relative to a particular type of syntactic element in both modes while avoiding probability-adaptive in the case of the low-complexity (I C) mode.

Альтернативно, замість повного усунення адаптації до ймовірності, селектор 402 може просто знижувати швидкість оновлення адаптації до ймовірності режиму низької складності (І С) відносно високоефективного (НЕ) режиму.Alternatively, instead of completely eliminating adaptation to the probability, the selector 402 may simply reduce the update rate of the adaptation to the probability of the low complexity (I C) mode relative to the high efficiency (NO) mode.

Окрім того, можливі спеціальні І С-ріре аспекти, тобто, аспекти режиму низької складності (С), можна описати іншими словами. Зокрема, неадаптивні моделі ймовірності могли б використовуватися в режимі низької складності (І С). Неадаптивна модель ймовірності може або мати жорстко закодовану, тобто загалом сталу ймовірність, або її ймовірність зберігається бо фіксованою протягом тільки обробки частини масиву даних і, таким чином, може визначатися залежно від типу частини масиву даних і ОР, тобто, від параметра дискретизації, який, наприклад, сигналізується в потоці даних 401 для кожної частини масиву даних. Припускаючи, що послідовні інформаційні величини, присвоєні одному і тому ж контексту, дотримуються моделі фіксованої ймовірності, можна декодувати декілька з таких інформаційних величин за один етап, оскільки вони кодуються з використанням одного і того ж ріре коду, тобто, використовуючи однаковий ентропійний декодер, і уникається оновлення ймовірності після кожної декодованої інформаційної величини. Уникнення оновлень ймовірності зберігає операції під час процесу кодування і декодування і, таким чином, також веде до знижень складності і значного спрощення архітектури апаратних засобів.In addition, possible special I C-rare aspects, that is, aspects of the low-complexity regime (C), can be described in other words. In particular, non-adaptive probability models could be used in the low complexity (I C) mode. A non-adaptive probability model can either have a hard-coded, i.e. a generally constant probability, or its probability remains fixed during the processing of only part of the data array and, thus, can be determined depending on the type of part of the data array and the OR, i.e., on the sampling parameter, which, for example, signaled in data flow 401 for each part of the data array. Assuming that successive information quantities assigned to the same context follow a fixed probability model, it is possible to decode several such information quantities in a single step, since they are encoded using the same Rire code, i.e., using the same entropy decoder, and avoids updating the probability after each decoded information quantity. Avoiding probability updates saves operations during the encoding and decoding process and thus also leads to reduced complexity and a significant simplification of the hardware architecture.

Неадаптивне обмеження може послаблюватися для усіх або деяких вибраних моделей ймовірності у такий спосіб, що оновлення ймовірності дозволяються після певної кількості інформаційних величин, кодованих/декодованих з використанням цієї моделі. Належний інтервал оновлення дозволяє адаптацію ймовірності з наявністю здатності декодувати за один раз декілька інформаційних величин.The non-adaptive constraint may be relaxed for all or some selected probability models such that probability updates are allowed after a certain number of information quantities encoded/decoded using that model. Adequate update interval allows adaptation of the probability with the ability to decode several information quantities at once.

Далі представляється детальніший опис можливих спільних аспектів з масштабованою складністю режимів І С-ріре і НЕ-ріре. Зокрема, далі описуються аспекти, які можуть використовуватися для режиму І С-ріре і режиму НЕ-ріре у той же спосіб або у спосіб з масштабованою складністю. Масштабована складність означає, що випадок І С одержується з випадку НЕ шляхом видалення окремих частин або шляхом заміни їх дещо менш складними частинами. Однак, перед виконанням цього, слід відзначити, що варіант виконання з Фіг. 11 легко перетворюється на вищезгаданий варіант виконання адаптивного до контексту двійкового арифметичного кодування/декодування: селектор 402 і ентропійні декодери 322 повинні об'єднуватися в адаптивний до контексту двійковий арифметичний декодер, який повинен безпосередньо приймати потік даних 401 і вибирати контекст для інформаційної величини, який на даний момент одержується з потоку даних. Це особливо справедливо для адаптивності до контексту і/або адаптивності до ймовірності Обидві функції/адаптивності можуть деактивуватися або розроблятися більш послабленими під час режиму низької складності.Next, a more detailed description of the possible common aspects with the scaled complexity of the I C-rire and N-rire regimes is presented. In particular, the following describes aspects that can be used for the I C-rere mode and the N-rere mode in the same manner or in a manner with scalable complexity. Scalable complexity means that the IS case is derived from the NOT case by removing certain parts or by replacing them with slightly less complex parts. However, before doing this, it should be noted that the embodiment of Fig. 11 easily transforms into the aforementioned implementation of context-adaptive binary arithmetic encoding/decoding: the selector 402 and entropy decoders 322 should be combined into a context-adaptive binary arithmetic decoder, which should directly accept the data stream 401 and select a context for the information quantity that on the current moment is obtained from the data stream. This is especially true for context adaptiveness and/or probabilistic adaptiveness Both features/adaptiveness can be deactivated or developed more attenuated during the low-complexity mode.

Наприклад, при втіленні варіанта виконання з Фіг. 11, фаза ентропійного ріре кодування, яка використовує ентропійні декодери 322, могла б використовувати вісім систематичних кодів, які відображають перетворення послідовності символів змінної довжини на послідовність бітів змінної довжини, тобто, кожен ентропійний декодер 322 міг би бути декодером типу м2м, який описаний вище. Концепція РіІРЕ кодування, яка використовує систематичні м2гу-коди, спрощується шляхом обмеження кількості м2у-кодів. У випадку адаптивного до контексту двійкового арифметичного декодера вона могла б керувати тими ж станами ймовірності для різних контекстів і використовувати ту ж або її дискретизовану версію для підрозбиття інтервалу ймовірності. Перетворення САВАС або станів моделі ймовірності, тобто станів, використовуваних для оновлення ймовірності, на РІРЕ індекси або індекси ймовірності для пошуку в таблиці Віаб можуть бути тими, що зображені в Таблиці А. сннсннє | весннн ССтлН--яFor example, in the embodiment of the embodiment from Fig. 11, the entropy recoding phase using entropy decoders 322 could use eight systematic codes that represent the conversion of a variable-length symbol sequence to a variable-length bit sequence, ie, each entropy decoder 322 could be an m2m decoder as described above. The RiIRE coding concept, which uses systematic m2u codes, is simplified by limiting the number of m2u codes. In the case of a context-adaptive binary arithmetic decoder, it could manage the same probability states for different contexts and use the same or a discretized version of it to partition the probability interval. Converting SAVAS or probability model states, i.e., states used to update the probability, to RIRE indices or probability indices to look up in table Viab can be those shown in Table A. snnsnne | vesnnnn SStlN--ya

Стан САВАС РІРЕ Індекс Стан САВАСState of SAVAS RIRE Index State of SAVAS

Індекс 50 6 (| 1 Б 78 58 2 46 | 6Index 50 6 (| 1 B 78 58 2 46 | 6

ЗоZo

18 З 50 60 2 2-18 Z 50 60 2 2-

Таблиця А: Перетворення станів САВАС на РІРЕ індексиTable A: Conversion of SAVAS states to RIRE indices

Ця модифікована схема кодування може використовуватися як основа для наближення кодування відеоданих з масштабованою складністю. При виконанні адаптації режиму ймовірності селектор 402 або адаптивний до контексту двійковий арифметичний декодер, відповідно, повинен вибирати РІРЕ декодер 322, тобто, одержувати використовуваний ріре індекс і індекс ймовірності в Ніаб, відповідно, на основі індексу стану ймовірності (тут ілюстративний інтервал від О до 62) зв'язаний з поточним символом, який декодується, як, наприклад, за допомогою контексту, з використанням перетворення, вказаного в таблиці А, і повинен оновлювати цей індекс стану ймовірності в залежності від на даний момент декодованого символу з використанням, наприклад, спеціальних перехідних величин таблиці, які вказують на індекс наступного стану ймовірності, який переглядається у випадку МР: і, відповідно, І РО. У випадку режиму низької складності (І С), оновлення останнього можна було б уникнути. Навіть перетворення можна було б уникнути у випадку моделей глобально фіксованої ймовірності.This modified coding scheme can be used as a basis for approximating the coding of video data with scalable complexity. When performing probability mode adaptation, the selector 402 or the context-adaptive binary arithmetic decoder, respectively, must select the RIP decoder 322, i.e., obtain the used RIP index and the probability index in Niab, respectively, based on the probability state index (here, an illustrative interval from 0 to 62 ) is associated with the current symbol being decoded, such as by context, using the transformation specified in Table A, and shall update this probability state index depending on the currently decoded symbol using, for example, special transitions values of the table, which indicate the index of the next state of probability, which is reviewed in the case of MR: and, accordingly, I RO. In the case of the low complexity mode (I C), updating the latter could be avoided. Even the transformation could be avoided in the case of globally fixed probability models.

Однак, довільний ентропійний кодувальний пристрій міг би використовуватися і технології у цьому документі можна також використовувати з незначними адаптаціями.However, an arbitrary entropy encoder could be used and the techniques herein can also be used with minor adaptations.

Вищенаведений опис Фіг. 11 скоріше головним чином належить до синтаксичних елементів і типів синтаксичних елементів. Далі описується кодування з конфігурованою складністю рівнів значущості коефіцієнта перетворення.The above description of Fig. 11 rather mainly belongs to syntactic elements and types of syntactic elements. Next, coding with configurable complexity of significance levels of the transformation coefficient is described.

Наприклад, реконструктор 404 може конфігуруватися для відновлення блока перетворення 200 рівнів значущості коефіцієнта перетворення 202 на основі частини послідовності синтаксичних елементів незалежно від високоефективного режиму або режиму низької складності, який активується, на основі частини послідовності 327 синтаксичних елементів, яка містить непоперемінним способом синтаксичні елементи карти значущості, які визначають карту значущості, яка вказує положення ненульових рівнів коефіцієнта перетворення в блоці 200 перетворення, а потім (після) синтаксичні елементи рівня значущості, які визначають ненульові рівні коефіцієнта перетворення. Зокрема, можуть використовуватися наступні елементи:For example, the reconstructor 404 may be configured to reconstruct the transform unit 200 of the significance levels of the transform coefficient 202 based on a portion of the syntax element sequence regardless of the high efficiency mode or low complexity mode that is activated, based on a portion of the syntax element sequence 327 that contains the syntax elements of the significance map in an invariant manner , which define a significance map that indicates the position of the non-zero levels of the transformation coefficient in the transformation block 200 , and then (after) the syntax elements of the significance level that define the non-zero levels of the transformation coefficient. In particular, the following elements can be used:

Зо синтаксичні елементи кінцевого положення (Іабі зідпітісапі ро5 х, Іабі відпітїсапі роз у), які вказують положення останнього ненульового рівня коефіцієнта перетворення в блоці перетворення; перші синтаксичні елементи (соєїї 5ідпітісапі Пад), які разом визначають карту значущості і вказують для кожного положення вздовж одномірної доріжки (274), яка веде від положення ОС до положення останнього ненульового рівня коефіцієнта перетворення в блоці (200) перетворення, чи рівень коефіцієнта перетворення у відповідному положенні є ненульовим чи ні; другі синтаксичні елементи (соєїй ар агеаїет), які вказують для кожного положення одномірної доріжки (274), де, згідно з першими двійковими синтаксичними елементами, розташований ненульовий рівень коефіцієнта перетворення, чи рівень коефіцієнта перетворення у відповідному положення більший за одиницю; і треті синтаксичні елементи (соєї абз дгеаїег2, соєїй ар тіпив3), які вказують для кожного положення одномірної доріжки, де, згідно з першими двійковими синтаксичними елементами, розташований рівень коефіцієнта перетворення, більший за одиницю, величину, на яку відповідний рівень коефіцієнта перетворення у відповідному положенні перевищує одиницю.Zo syntactic elements of the final position (Iabi zidpitisapi ro5 x, Iabi vidpitisapi roz y), which indicate the position of the last non-zero level of the conversion coefficient in the conversion block; the first syntactic elements (soiyi 5idpitisapi Pad), which together define the significance map and indicate for each position along the one-dimensional path (274) that leads from the OS position to the position of the last non-zero level of the transformation coefficient in the block (200) of the transformation, whether the level of the transformation coefficient in the corresponding position is non-zero or not; second syntactic elements (soeiy ar ageaiet), which indicate for each position of the one-dimensional track (274), where, according to the first binary syntactic elements, the non-zero level of the conversion coefficient is located, or the level of the conversion coefficient in the corresponding position is greater than one; and the third syntactic elements (soyei abz dgeaieg2, soeiy art typyv3), which indicate for each position of the one-dimensional track where, according to the first binary syntactic elements, a level of the conversion factor greater than one is located, the amount by which the corresponding level of the conversion factor in the corresponding position exceeds one.

Порядок серед синтаксичних елементів кінцевого положення, перших, других і третіх синтаксичних елементів може бути однаковим для високоефективного режиму і режиму низької складності, і селектор 402 може конфігуруватися для виконання вибору серед ентропійних декодерів 322 для символів, з яких десимволізатор 314 одержує синтаксичні елементи кінцевого положення, перші синтаксичні елементи, другі синтаксичні елементи і/або треті синтаксичні елементи, які по різному залежать від режиму низької складності або високоефективного режиму, який активується.The order among the end-position syntax elements, the first, second, and third syntax elements may be the same for the high-efficiency mode and the low-complexity mode, and the selector 402 may be configured to select among the entropy decoders 322 for symbols from which the desymbolizer 314 derives the end-position syntax elements, first syntactic elements, second syntactic elements, and/or third syntactic elements, which are variously dependent on the low-complexity mode or the high-efficiency mode being activated.

Зокрема, селектор 402 може конфігуруватися для символів наперед визначеного типу серед послідовності символів, з яких десимволізатор 314 одержує перші синтаксичні елементи і другі синтаксичні елементи, для вибору для кожного символу наперед визначеного типу одного з множини контекстів, який залежить від попередньо одержаних символів наперед визначеного типу серед послідовності символів і для виконання вибору, який залежить від моделі ймовірності, зв'язаної з вибраним контекстом у випадку високоефективного режиму, який активується, і для виконання вибору кусково сталим способом так, що вибір є сталим на послідовних неперервних субчастинах послідовності у випадку режиму низької складності, який активується. Як описано вище, субчастини можуть визначатися в ряді положень, по яких проходять відповідна субчастина вздовж одномірної доріжки 274, або в ряді синтаксичних елементів відповідного типу, вже кодованого поточним контекстом. Тобто, двійкові синтаксичні елементи соеїї 5ідпіїсапі Пйад, соей арб5 дгеаїені і соей ар5 дгєайег2, наприклад, кодуються адаптивно до контексту вибором декодера 322 на основі моделі ймовірності вибраного контексту у високоефективному режимі (НЕ). Також використовується адаптація ймовірності. В режимі низької складності (І С) існують також різні контексти, які використовуються для кожного з двійкових синтаксичних елементів соєїї відпіїїсапі Пад, соєїї абз дгеаїетн ісоей арз агеаїетгаг.In particular, the selector 402 may be configured for symbols of a predetermined type among the sequence of symbols from which the desymbolizer 314 obtains the first syntactic elements and the second syntactic elements to select for each symbol of the predetermined type one of a plurality of contexts that depends on the previously obtained symbols of the predetermined type among a sequence of symbols and to perform a selection that depends on the probability model associated with the selected context in the case of the high-efficiency mode that is activated, and to perform the selection in a piecewise constant manner such that the selection is constant over successive continuous subparts of the sequence in the case of the low-efficiency mode difficulty, which is activated. As described above, subparts can be defined in a number of positions that a corresponding subpart passes along a one-dimensional track 274, or in a number of syntactic elements of the appropriate type already encoded by the current context. That is, the binary syntactic elements soei 5idpiisapi Pyad, soei arb5 dgeaieni and soei ar5 dgeaieg2, for example, are coded adaptively to the context by the selection of the decoder 322 based on the probability model of the selected context in the highly efficient mode (NOT). Probability adaptation is also used. In low complexity (I C) mode, there are also different contexts used for each of the binary syntactic elements soeii vidpiiisapi Pad, soeii abz dgeaietn isoey arz ageaietgag.

Однак, для кожного з цих синтаксичних елементів контекст зберігається статичним для першої частини вздовж доріжки 274 з простою зміною контексту при переході до наступної частини, яка безпосередньо слідує за нею вздовж доріжки 274. Наприклад, кожна частина може займати 4, 8, 16 положень блока 200 в довжину незалежно від того, чи присутній, чи ні для відповідного положення відповідний синтаксичний елемент. Наприклад, соей ар агеаїег! і соей аре дгєаїєг2 просто присутні для значущих положень, тобто, положень, де або для яких соеїй 5ідпітісапі Пад становить 1. Альтернативно, кожна частина може становити в довжину 4, 8, 16 синтаксичних елементів незалежно від того, чи, таким чином одержувана відповідна частина охоплює більшу кількість положень блоків. Наприклад, соєї аб агеаїент і соєїй абз агєайег2 просто присутні для значущих положень і, таким чином, частини чотирьох синтаксичних елементів можуть охоплювати більше ніж 4 положення блока завдяки положенням між ними вздовж доріжки 274, для якої синтаксичний елемент не передається так, що відсутні соей арз агеаїет ісоей арз агеаїег2, оскільки відповідний рівень у цьому положенні дорівнює нулю.However, for each of these syntactic elements, the context is kept static for the first part along track 274 with a simple context change when moving to the next part that immediately follows it along track 274. For example, each part may occupy 4, 8, 16 positions of block 200 in length regardless of whether or not a corresponding syntactic element is present for the corresponding position. For example, soey ar ageaieg! and soei are dgeaiieg2 are simply present for meaningful clauses, i.e., clauses where or for which soeiy 5idpitisapi Pad is 1. Alternatively, each part can be 4, 8, 16 syntactic elements long, regardless of whether the corresponding part is thus obtained covers more block positions. For example, soei ab ageaient and soei abz ageaieg2 are simply present for significant positions and thus parts of the four syntactic elements can span more than 4 block positions due to the positions between them along track 274 for which the syntactic element is not passed so that no soei arz ageaiet isoey arz ageaieg2, since the corresponding level in this position is zero.

Селектор 402 може конфігуруватися для символів наперед визначеного типу серед послідовності символів, з яких десимволізатор одержує перші синтаксичні елементи і другі синтаксичні елементи, для вибору для кожного символу наперед визначеного типу одного з множини контекстів в залежності від кількості попередньо одержаних символів наперед визначеного типу в підпослідовності символів, які мають наперед визначену величину і належать до однієї і тієї ж субчастини, або від кількості попередньо одержаних символів наперед визначеного типу в послідовності символів, які належать одній і тій же субчастині.Selector 402 may be configured for symbols of a predetermined type among the sequence of symbols from which the desymbolizer derives the first syntactic elements and the second syntactic elements to select for each symbol of the predetermined type one of a plurality of contexts depending on the number of previously obtained symbols of the predetermined type in the subsequence of symbols , which have a predetermined value and belong to the same subsection, or from the number of previously received symbols of a predetermined type in a sequence of symbols that belong to the same subsection.

Перша альтернатива була справедливою для соеїї аре дгєаїегі, а допоміжна альтернатива була справедливою для совєїї арх дгеаїег2 згідно з вищенаведеними спеціальними варіантами виконання.The first alternative was valid for the soviei are dgeaieg, and the auxiliary alternative was valid for the soviei arch dgeaieg2 according to the above special implementation options.

Окрім того, треті синтаксичні елементи, які вказують для кожного положення одномірної доріжки, де, згідно з першими двійковими синтаксичними елементами, розташований рівень значущості коефіцієнта перетворення, більший за одиницю, величини, на яку відповідний рівень значущості коефіцієнта перетворення у відповідному положенні перевищує одиницю, можуть включати цілі синтаксичні елементи, тобто, соєїй ар5 тіпи53, і десимволізатор 314 може конфігуруватися для використання функції перетворення, яка керується контрольним параметром, для перетворення області слів символьної послідовності на кообласть цілих синтаксичних елементів, і для визначення контрольного параметра на цілий синтаксичний елемент в залежності від цілих синтаксичних елементів попередніх третіх синтаксичних елементів, якщо активується високоефективний режим, і для виконання визначення параметрів кусково сталим чином так, що визначення параметрів є сталим на послідовних неперервних субчастинах підпослідовності у випадку режиму низької складності, який активується, при цьому бо селектор 402 може конфігуруватися для вибору наперед визначеного одного з ентропійних декодерів (322) для символів слів символьної послідовності, перетворених на цілі синтаксичні елементи, який зв'язується з рівномірним розподілом ймовірності як у високоефективному режимі так і у режимі низької складності. Тобто, навіть десимволізатор може працювати в залежності від режиму, вибраного перемикачем режимів 400, зображеним пунктирною лінією 407. Замість кусково сталого визначення контрольного параметра десимволізатор 314 може зберігати контрольний параметр сталим під час поточної частини масиву, наприклад, або глобально сталим в часі.In addition, third syntactic elements that indicate for each position of the one-dimensional track where, according to the first binary syntactic elements, a significance level of the transformation coefficient greater than one is located, the amount by which the corresponding significance level of the transformation coefficient at the corresponding position is greater than unity may include whole syntactic elements, i.e., a string of types53, and the desymbolizer 314 can be configured to use a control parameter-driven transformation function to convert the word region of the character sequence to a coregion of whole syntactic elements, and to determine the control parameter per whole syntactic element depending on entire syntax elements of the previous third syntax elements if the high-efficiency mode is activated, and to perform the parameterization in a piecewise stable manner such that the parameterization is stable on successive contiguous subparts of the subsequence in the case of the mode low complexity, which is activated, while the selector 402 can be configured to select a predetermined one of the entropy decoders (322) for the symbols of the words of the character sequence, converted to whole syntactic elements, which is associated with a uniform probability distribution in both the high-efficiency mode and in low difficulty mode. That is, even the desymbolizer can operate depending on the mode selected by the mode switch 400, depicted by the dashed line 407. Instead of determining the control parameter piecewise constant, the desymbolizer 314 can keep the control parameter constant during the current portion of the array, for example, or globally constant over time.

Далі описується моделювання контексту з масштабованою складністю.Next, we describe context modeling with scalable complexity.

Оцінка того ж синтаксичного елемента верхнього лівого сусіднього блока для одержання індексу моделі контексту є спільним наближенням і часто використовується у випадку високоефективного режиму (НЕ), наприклад, для синтаксичного елемента різниці векторів руху.Evaluating the same upper-left neighbor block to obtain the context model index is a common approximation and is often used in the case of a highly efficient mode (NOT), such as for the motion vector difference syntax.

Однак, ця оцінка вимагає більшого зберігального буфера і не дозволяє пряме кодування синтаксичного елемента. Також, для досягання вищих характеристик кодування, можуть оцінюватися більш доступні сусідні елементи.However, this evaluation requires a larger storage buffer and does not allow direct encoding of the syntax element. Also, to achieve higher coding performance, more accessible neighboring elements can be evaluated.

В переважному варіанті виконання уся фаза моделювання контексту, яка оцінює синтаксичні елементи сусідніх квадратних або прямокутних блоків або прогнозувальних блоків, присвоюються одній моделі контексту. Це дорівнює деактивуванню адаптивності на фазі вибору моделі контексту. Для такого переважного варіанта виконання вибір моделі контексту, який залежить від двійкового індексу рядка інформаційних величин після бінаризації не модифікується порівняно з поточною структурою для САВАС. В іншому переважному варіанті виконання на додаток до моделі фіксованого контексту для синтаксичних елементів використовують оцінку сусідніх блоків, також фіксують модель контексту для різних двійкових індексів. Відзначаємо, що опис не включає бінаризацію і вибір моделі контексту для різниці векторів руху і синтаксичні елементи, які стосуються кодування рівнів значущості коефіцієнта перетворення.In a preferred embodiment, the entire context modeling phase, which evaluates the syntactic elements of adjacent square or rectangular blocks or prediction blocks, is assigned to one context model. This is equivalent to deactivating adaptability in the context model selection phase. For this preferred implementation option, the choice of the context model, which depends on the binary index of the string of information values after binarization, is not modified compared to the current structure for SAVAS. In another preferred embodiment, in addition to the fixed context model for syntactic elements, the evaluation of neighboring blocks is used, and the context model for different binary indices is also fixed. We note that the description does not include binarization and selection of the context model for the difference of motion vectors and syntactic elements that relate to the coding of the significance levels of the transformation coefficient.

В переважному варіанті виконання дозволяється тільки оцінка лівого сусіднього блока. Це веде до зменшеного буфера в ланцюзі обробки, оскільки останній блок або кодувальну блочну лінію не потрібно більше зберігати. В подальшому переважному варіанті виконання оцінюються тільки сусідні блоки, які лежать в одному і тому ж кодувальному засобі.In the preferred embodiment, only evaluation of the left neighboring block is allowed. This leads to a reduced buffer in the processing chain because the last block or encoding block line no longer needs to be stored. In a further preferred embodiment, only neighboring blocks that lie in the same coding means are evaluated.

Зо В переважному варіанті виконання оцінюються усі доступні сусідні блоки. Наприклад, на додаток до верхнього лівого сусіднього блока, верхній лівий, верхній правий і нижній правий блок оцінюються у випадку доступності.In the preferred embodiment, all available neighboring blocks are evaluated. For example, in addition to the top-left neighbor block, the top-left, top-right, and bottom-right blocks are evaluated for reachability.

Тобто, селектор 402 з Фіг. 11 може конфігуруватися для використання для наперед визначеного символу, який належить до наперед визначеного блока мультимедійних даних, попередньо одержаних символів послідовності символів, яка належить до більшої кількості різних сусідніх блоків мультимедійних даних у випадку високоефективного режиму, який активується, для вибору одного з множини контекстів і для виконання вибору серед ентропійних декодерів 322, який залежить від моделі ймовірності, зв'язаної з вибраним контекстом. Тобто, сусідні блоки можуть бути сусідніми в часовій і/або просторовій області. Просторово сусідні блоки видимі, наприклад, на Фіг. 1-3. Потім селектор 402 може відповідати за вибір режиму за допомогою перемикача 400 режимів для виконання адаптації контексту на основі попередньо одержаних символів або синтаксичних елементів, які належать до більшої кількості сусідніх блоків у випадку високоефективного (НЕ) режиму, порівняно з режимом низької складності (І С), таким чином зменшуючи зберігання надмірної інформації, як тільки що описано.That is, the selector 402 from Fig. 11 may be configured to use, for a predetermined symbol belonging to a predetermined block of multimedia data, pre-received symbols of a sequence of symbols belonging to a plurality of different adjacent blocks of multimedia data in the case of a high-efficiency mode being activated to select one of a plurality of contexts and to perform a selection among the entropy decoders 322 that depends on the probability model associated with the selected context. That is, adjacent blocks may be adjacent in time and/or space. Spatially adjacent blocks are visible, for example, in Fig. 1-3. The selector 402 may then be responsible for selecting a mode using the mode switch 400 to perform context adaptation based on pre-received symbols or syntactic elements that belong to a greater number of neighboring blocks in the case of a high efficiency (NO) mode compared to a low complexity (I C) mode. , thus reducing the storage of redundant information as just described.

Далі описується кодування з меншою складністю різниць векторів руху згідно з варіантом виконання.Next, the coding with less complexity of the differences of the motion vectors according to the embodiment is described.

У стандартному відеокодеці Н.264/АМС вектор руху, зв'язаний з макроблоком, передається шляхом сигналізації різниці (різниця векторів руху - тма) між вектором руху поточного макроблока і предиктором серединного вектора руху. Коли САВАС використовується як ентропійний кодер, то тм кодується наступним чином. Ціле значення тм поділяється на абсолютну величину і знак числа. Абсолютну величину бінаризують з використанням комбінації усіченого унарного коду і експоненціального коду Голомба 3-го порядку, названих префіксом і суфіксом одержуваного рядка двійкових кодів. Інформаційні величини, які належать до бінаризації з усіканням унарного коду, кодуються з використанням моделей контексту, тоді як інформаційні величини, які належать до бінаризації з використанням експоненціальних кодівIn the standard N.264/AMS video codec, the motion vector associated with the macroblock is transmitted by signaling the difference (difference of motion vectors - tma) between the motion vector of the current macroblock and the predictor of the middle motion vector. When SAVAS is used as an entropy encoder, tm is encoded as follows. The integer value of tm is divided into the absolute value and the sign of the number. The absolute value is binarized using a combination of a truncated unary code and an exponential Golomb code of the 3rd order, called the prefix and suffix of the resulting string of binary codes. Information quantities that belong to binarization with unary code truncation are encoded using context models, while information quantities that belong to binarization using exponential codes

Голомба, кодуються в байпасному режимі, тобто, з фіксованою ймовірністю 0,5 за допомогоюGolomb, coded in the bypass mode, that is, with a fixed probability of 0.5 using

САВАС. Бінаризація з використанням унарних кодів виконується наступним чином. Покладають абсолютну величину цілого значення тма рівною п потім одержуваний рядок двійкових кодів складається з п! ї одним залишковим "0'. Як приклад, нехай п-4, потім рядком двійкових чисел бо Є "11110". У випадку усіченого унарного коду, існує межа і якщо значення перевищує цю межу, то рядок двійкових чисел складається з п'-1 1". Для випадку тма, межа дорівнює 9. Це означає, що якщо кодується абсолютна величина тмо, яка дорівнює або більша 9, то завдяки бінаризації з використанням експоненціальних кодів Голомба одержується 9 "1 рядок двійкових чисел складається з префіксу і суфіксу. Моделювання контексту для усіченої унарної частини виконується наступним чином. Для першого двійкового числа рядка двійкових чисел беруться абсолютні значення тма з верхнього і лівого сусіднього макроблоків, якщо вони доступні (якщо не доступні, то розуміється, що значення дорівнює 0). Якщо сума для спеціального компонента (горизонтальний або вертикальний напрям) більша за 2, то вибирається друга модель контексту, якщо абсолютне значення суми більше за 32, то вибирається третя модель контексту, інакше (абсолютне значення суми менше ніж 3) і вибирається перша модель контексту. Окрім того, моделі контексту є різними для кожного компонента. Для другого двійкового числа рядка двійкових чисел використовується четверта модель контексту і п'ята модель контексту використовується для решти двійкових чисел унарної частини. Коли абсолютне значення тмй дорівнює або більша за 9, наприклад, усі двійкові числа усіченої унарної частини дорівнюють "1", то різниця між абсолютним значенням тмй і 9 кодується в байпасному режимі за допомогою експоненціальних кодів Голомба 3-го порядку. На останньому етапі знак тма кодується в байпасному режимі.SAVAS. Binarization using unary codes is performed as follows. They put the absolute value of the integer value of tma equal to n, then the resulting string of binary codes consists of n! and one remaining "0". As an example, let n-4, then the string of binary numbers is "11110". In the case of a truncated unary code, there is a limit and if the value exceeds this limit, then the string of binary numbers consists of n'-1 1". For the case of tma, the limit is 9. This means that if an absolute value of tmo equal to or greater than 9 is coded, binarization using exponential Golomb codes yields 9 "1 string of binary numbers consisting of a prefix and a suffix. Context modeling for a truncated unary part is performed as follows. For the first binary number of the string of binary numbers, the absolute values of tma are taken from the upper and left neighboring macroblocks, if they are available (if not available, then the value is understood to be 0). If the sum for a special component (horizontal or vertical direction ) is greater than 2, then the second context model is selected, if the absolute value of the sum is greater than 32, then the third context model is selected, otherwise (the absolute value of the sum is less than 3) and the first context model is selected. Also, the context models are different for each component .For the second binary number of the string of binary numbers, the fourth context model is used and the fifth context model is used for the remaining binary numbers of the unary part. When the absolute value of tmj is equal to or greater than 9, for example, all binary numbers of the truncated unary part are equal to "1", then the difference between the absolute value of tmj and 9 is coded in bypass mode using exponential Golomb codes of the 3rd order. At the last stage, the tma sign is coded in the bypass mode.

Найостанніша технологія кодування для тм при використанні САВАС як ентропійного кодера описується в поточній Тестувальній Моделі (НМ) проекту Високоефективного кодування відеоданих (НЕМС). В НЕМС розміри блоків є змінними і форма, специфікована вектором руху, називається прогнозувальним засобом (РШ). Розміри РО верхнього лівого сусіднього блока можуть бути іншими, ніж у поточному РО. Тому, як би це не було релевантним, верхній і лівий сусідній блоки тепер називаються верхнім і лівим сусіднім блоком верхнього лівого кута поточного РО. Для самого кодування тільки процес одержання першого двійкового числа може змінюватися згідно з варіантом виконання. Замість оцінки абсолютного значення суми ММ від сусідніх блоків, кожен сусідній блок може оцінюватися окремо. Якщо абсолютне значення МУ сусіднього блока доступне і більше за 16, то індекс моделі контексту може збільшуватися, надаючи ту ж кількість моделей контексту для першого двійкового числа, тоді як кодування решти рівня абсолютного значення ММ0О і знаку є точно таким же що й у стандарті Н.264/АМО.The latest coding technology for tm using SAVAS as an entropy coder is described in the current Test Model (HT) of the High Efficiency Video Coding (HEC) project. In NEMS, the block sizes are variable and the shape specified by the motion vector is called a predictive tool (PR). The dimensions of the RO of the upper left neighboring block may be different from those of the current RO. Therefore, however relevant, the top and left neighbor blocks are now called the top and left neighbor block of the top left corner of the current RO. For the encoding itself, only the process of obtaining the first binary number can change according to the implementation option. Instead of evaluating the absolute value of the sum of MM from neighboring blocks, each neighboring block can be evaluated separately. If the absolute value of MU of the adjacent block is available and more than 16, then the index of the context model can be increased, providing the same number of context models for the first binary number, while the coding of the remaining level of the absolute value of the MM0O and the sign is exactly the same as in the H standard. 264/AMO.

Зо У вищеописаній технології кодування тма до 9 інформаційних величин повинні кодуватися моделлю контексту, тоді як залишкова величина тм може кодуватися в байпасному режимі низької складності разом з інформацією про знак. Цей представлений варіант виконання описує технологію зменшення кількості інформаційних величин, закодованих моделями контексту, надаючи більшу кількість байпасних режимів і зменшує кількість моделей контексту, необхідну для кодування тма. Для цього, критична величина зменшується від 9 до 1 або 2. Це означає тільки, що перша інформаційна величина, яка уточнює чи абсолютне значення тма більше за нуль, кодується з використанням моделі контексту, а друга інформаційна величина, яка уточнює чи абсолютне значення тма більше за нуль, кодується першою і друга інформаційна величина, яка уточнює чи абсолютна величина тма більша за нуль і одиницю, кодується з використанням моделі контексту, тоді як залишкова величина кодується в байпасному режимі і/або з використанням коду МІС. Усі двійкові числа, які одержуються з процесу бінаризації з використанням коду МІ С, не використовуючи унарний або усічений унарний код, кодуються з використанням байпасного режиму низької складності. У випадку РІРЕ, можлива пряма вставка в і з потоку даних. Більше того, якщо подібне є, то може використовуватися інше визначення верхнього і лівого сусіднього блока для одержання кращого вибору моделі контексту для першої інформаційної величини.In the above-described tm coding technology, up to 9 information quantities must be encoded by the context model, while the remaining tm quantity can be encoded in a low-complexity bypass mode together with the sign information. This presented embodiment describes a technology for reducing the number of information quantities encoded by context models, providing a greater number of bypass modes and reducing the number of context models required for tma encoding. To do this, the critical value is reduced from 9 to 1 or 2. This means only that the first information value, which specifies whether the absolute value of tma is greater than zero, is encoded using the context model, and the second information value, which specifies whether the absolute value of tma is greater than for zero, the first and second information value, which specifies whether the absolute value of tma is greater than zero and one, is coded using the context model, while the residual value is coded in the bypass mode and/or using the MIS code. All binary numbers resulting from the binarization process using the MI C code, not using a unary or truncated unary code, are encoded using the low-complexity bypass mode. In the case of RIRE, direct insertion into and out of the data stream is possible. Moreover, if there is, then a different definition of the upper and left neighboring block can be used to obtain a better choice of the context model for the first information quantity.

В переважному варіанті виконання експоненціальні коди Голомба використовуються для бінаризації решти абсолютних значень ММО компонентів. Для цього, порядок експоненціального коду Голомба змінний. Порядок експоненціального коду Голомба одержується наступним чином. Після одержання і кодування моделі контексту для першої інформаційної величини і, тому, індексу такої моделі контексту, індекс використовується як порядок для бінаризації з використанням експоненціального коду Голомба. У цьому переважному варіанті виконання модель контексту для першої інформаційної величини знаходиться в інтервалі 1-3, надаючи індекс 0-2, який використовуються як порядок експоненціального коду Голомба. Цей переважний варіант виконання може використовуватися для випадку високоефективного (НЕ) режиму.In a preferred embodiment, exponential Golomb codes are used to binarize the remaining absolute values of the MMO components. For this, the order of the exponential Golomb code is variable. The order of the exponential Golomb code is obtained as follows. After obtaining and encoding the context model for the first information quantity and, therefore, the index of such context model, the index is used as an order for binarization using an exponential Golomb code. In this preferred embodiment, the context model for the first information quantity is in the interval 1-3, giving an index of 0-2, which is used as the order of the exponential Golomb code. This preferred embodiment can be used for the high efficiency (NOT) mode case.

В альтернативі до вищеописаної технології використання двох раз п'яти контекстів в кодуванні абсолютного значення ММУО для кодування 9 двійкових чисел бінаризації з використанням унарного коду, могли б також використовуватися 14 моделей контексту (7 для бо кожного компонента). Наприклад, хоча перша і друга інформаційна величина унарної частини могли б кодуватися чотирма різними контекстами, як описано вище, п'ятий контекст міг би використовуватися для третьої інформаційної величини, а шостий контекст міг би використовуватися відносно четвертої інформаційної величини, тоді як п'ята - дев'ята інформаційна величина кодуються з використанням сьомого контексту. Таким чином, у цьому випадку повинні вимагатися навіть 14 контекстів і просто залишкова величина може кодуватися в байпасному режимі низької складності. Технологія для зменшення кількості інформаційних величин, закодованих моделями контексту, надає більшу кількість байпасних інформаційних величин і зменшує кількість моделей контексту, необхідну для кодування ММО, повинна зменшувати критичну величину, як, наприклад, від 9 до 1 або 2. Це означає, що тільки перша інформаційна величина, яка уточнює чи абсолютне значення ММО більше за нуль, повинен кодуватися з використанням моделі контексту, або чи перша і друга інформаційна величина, яка уточнює чи абсолютне значення ММО більше за нуль і одиницю, повинен кодуватися з використанням відповідної моделі контексту, тоді як залишкова величина кодується кодом МІ с.As an alternative to the above-described technology of using two times five contexts in encoding the absolute value of the MMUO for encoding 9 binary numbers of binarization using a unary code, 14 context models (7 for each component) could also be used. For example, while the first and second information quantities of the unary part could be encoded by four different contexts as described above, the fifth context could be used for the third information quantity and the sixth context could be used with respect to the fourth information quantity, while the fifth the ninth information value is encoded using the seventh context. Thus, in this case, even 14 contexts should be required and simply the residual value can be coded in a low-complexity bypass mode. A technique to reduce the number of information quantities encoded by the context models provides more bypass information quantities and reduces the number of context models required to encode the IMO should reduce a critical value such as from 9 to 1 or 2. This means that only the first the information quantity that specifies whether the absolute value of the MMO is greater than zero must be encoded using the context model, or whether the first and second information quantities that specify whether the absolute value of the MMO is greater than zero and one must be encoded using the corresponding context model, while the residual amount is coded with the code MI p.

Усі інформаційні величини, які одержується з процесу бінаризації з використанням коду МІС, кодуються з використанням байпасного режиму низької складності. У випадку РІРЕ можливе пряме вставляння в і видалення з потоку даних. Окрім того, представлений варіант виконання використовує інше визначення верхнього і лівого сусіднього блока для одержання кращого вибору моделі контексту для першої інформаційної величини. На додаток до цього, моделювання контексту модифікується у такий спосіб, що кількість моделей контексту, необхідна для першої або першої і другої інформаційної величини, зменшується, приводячи до подальшого зменшення пам'яті. Також, оцінювання сусідніх блоків, таких як вищезгаданий сусідній блок, може усуватися, приводячи до збереження лінійного буфера/пам'яті, необхідної для зберігання значень тм сусідніх блоків. Нарешті, порядок кодування компонентів може поділятися у спосіб, який дозволяє кодування інформаційних величин з префіксом для обох компонентів (тобто, елементів вибірок, кодованих моделями контексту), за яким слідує кодування байпасних інформаційних величин.All information quantities obtained from the binarization process using the MIS code are encoded using a low-complexity bypass mode. In the case of RIRE, direct insertion into and removal from the data stream is possible. In addition, the presented embodiment uses a different definition of the upper and left neighboring block to obtain a better choice of the context model for the first information quantity. In addition to this, the context modeling is modified in such a way that the number of context models required for the first or first and second information quantities is reduced, leading to further memory reduction. Also, the evaluation of adjacent blocks, such as the aforementioned adjacent block, can be eliminated, resulting in the saving of the linear buffer/memory required to store the tm values of the adjacent blocks. Finally, the encoding order of the components can be split in a way that allows the encoding of prefixed information quantities for both components (ie, sample elements encoded by the context models), followed by the encoding of bypassed information quantities.

В переважному варіанті виконання експоненціальні коди Голомба використовуються для бінаризації решти компонентів абсолютного значення тмуО. Для цього порядок експоненціального коду Голомба є змінним. Порядок експоненціального коду Голомба можеIn the preferred embodiment, exponential Golomb codes are used to binarize the remaining components of the absolute value of tmuO. For this, the order of the exponential Golomb code is variable. The order of the exponential Golomb code can

Зо одержуватися наступним чином. Після одержання моделі контексту для першої інформаційної величини і, тому, після одержання індексу такої моделі контексту, індекс використовується як порядок для бінаризації з використанням експоненціального коду Голомба. У цьому переважному варіанті виконання модель контексту для першої інформаційної величини становить 1-3, надаючи індекс 0-2, який використовується як порядок експоненціального кодуFrom is obtained as follows. After obtaining the context model for the first information quantity, and therefore after obtaining the index of such context model, the index is used as an order for binarization using an exponential Golomb code. In this preferred embodiment, the context model for the first information quantity is 1-3, giving an index of 0-2, which is used as the order of the exponential code

Голомба. Цей переважний варіант виконання може використовуватися для випадку високоефективного режиму (НЕ) і кількість моделей контексту зменшується до 6. Для зниження кількості моделей контексту знову і, тому, для збереження пам'яті, горизонтальні і вертикальні компоненти можуть використовувати однакові моделі контексту в подальшому переважному варіанті виконання. У такому випадку вимагається тільки З моделі контексту. Окрім того, у подальшому переважному варіанті виконання винаходу для оцінки може братися до уваги тільки лівий сусідній блок. У цьому переважному варіанті виконання порогова величина може не змінюватися (наприклад, тільки єдина порогова величина 16 надає параметр 0 або 1 експоненціального коду Голомба, або єдина порогова величина 32 надає параметр 0 або 2 експоненціального коду Голомба). Цей переважний варіант виконання зберігає лінійний буфер, необхідний для зберігання значення тма. В іншому переважному варіанті виконання порогова величина модифікується і дорівнює 2 і 16. Для такого переважного варіанта виконання загаломGolomba This preferred embodiment can be used for the highly efficient mode (NOT) case and the number of context models is reduced to 6. To reduce the number of context models again and therefore to save memory, the horizontal and vertical components can use the same context models in a further preferred embodiment implementation. In this case, only the From context model is required. In addition, in a further preferred embodiment of the invention, only the left neighboring block can be taken into account for evaluation. In this preferred embodiment, the threshold value may not change (for example, only a single threshold value 16 provides parameter 0 or 1 of the exponential Golomb code, or a single threshold value 32 provides parameter 0 or 2 of the exponential Golomb code). This preferred embodiment preserves the linear buffer needed to store the tma value. In another preferred embodiment, the threshold value is modified and is equal to 2 and 16. For this preferred embodiment, in general

З моделі контексту вимагаються для кодування тма і можливий параметр експоненціального коду Голомба становить 0-2. В подальшому переважному варіанті виконання порогова величина дорівнює 16 і 32. Знову, описаний варіант виконання придатний для випадку високоефективного (НЕ) режиму.From the context model, tma is required for encoding and the possible parameter of the exponential Golomb code is 0-2. In a further preferred embodiment, the threshold value is equal to 16 and 32. Again, the described embodiment is suitable for the case of a highly efficient (NOT) mode.

В подальшому переважному варіанті виконання винаходу критична величина зменшується від 9У до 2. У цьому переважному варіанті виконання перша інформаційна величина і друга інформаційна величина можуть кодуватися з використанням моделей контексту. Вибір моделі контексту для першої інформаційної величини може робитися як і в рівні техніки або модифікуватися у спосіб, описаний у вищенаведеному переважному варіанті виконання. Для другої інформаційної величини окрема модель контексту вибирається як і в рівні техніки. В подальшому переважному варіанті виконання модель контексту для другої інформаційної величини вибирається оцінюванням тм лівого сусіднього блока. Для такого випадку, індекс моделі контексту є тим же, що й для першої інформаційної величини, тоді як доступні моделі бо контексту відмінні від тих, що використовуються для першої інформаційної величини. Загалом вимагається 6 моделей контексту (відзначається, що компоненти використовують спільні моделі контексту). Знову, параметр експоненціального коду Голомба може залежати від вибраного індексу моделі контексту першої інформаційної величини. В іншому переважному варіанті виконання винаходу параметр експоненціального коду Голомба залежить від індексу моделі контексту другої інформаційної величини. Описані варіанти виконання винаходу можуть використовуватися для випадку високоефективного (НЕ) режиму.In a further preferred embodiment of the invention, the critical value is reduced from 9U to 2. In this preferred embodiment, the first information value and the second information value can be encoded using context models. The selection of the context model for the first information quantity can be done as in the prior art or modified in the manner described in the above preferred embodiment. For the second information quantity, a separate context model is selected as in the prior art. In a further preferred embodiment, the context model for the second information quantity is selected by evaluating the tm of the left neighboring block. For such a case, the context model index is the same as for the first information quantity, while the available context models are different from those used for the first information quantity. A total of 6 context models are required (note that components use shared context models). Again, the parameter of the exponential Golomb code may depend on the chosen index of the context model of the first information quantity. In another preferred embodiment of the invention, the parameter of the exponential Golomb code depends on the index of the context model of the second information quantity. The described variants of the implementation of the invention can be used for the case of a highly efficient (NOT) mode.

В подальшому переважному варіанті виконання винаходу моделі контексту для обох інформаційних величин є фіксованими і не одержуються шляхом оцінки або лівого або вищезгаданих блоків. Для цього переважного варіанту виконання загальна кількість моделей контексту дорівнює 2. В подальшому переважному варіанті виконання винаходу перша інформаційна величина і друга інформаційна величина використовують однакову модель контексту. В результаті, тільки одна модель контексту вимагається для кодування тма. В обох переважних варіантах виконання винаходу параметр експоненціального коду Голомба може бути фіксованим і рівним 1. Описаний переважний варіант виконання винаходу придатний для обох конфігурацій НЕ і 1 0.In a further preferred embodiment of the invention, the context models for both information quantities are fixed and are not obtained by evaluating either the left or the aforementioned blocks. For this preferred embodiment, the total number of context models is 2. In a further preferred embodiment of the invention, the first information quantity and the second information quantity use the same context model. As a result, only one context model is required for tma encoding. In both preferred embodiments of the invention, the Golomb exponential code parameter can be fixed and equal to 1. The described preferred embodiment of the invention is suitable for both NO and 1 0 configurations.

В іншому переважному варіанті виконання порядок експоненціального коду Голомба одержується незалежно від індексу моделі контексту першої інформаційної величини. У цьому випадку абсолютне значення суми звичайного вибору моделі контексту стандарту Н.264/АМС використовується для одержання порядку для експоненціального коду Голомба. Цей переважний варіант виконання може використовуватися для випадку високоефективного режиму (НЕ).In another preferred embodiment, the order of the exponential Golomb code is obtained independently of the context model index of the first information value. In this case, the absolute value of the sum of the normal selection of the H.264/AMS context model is used to obtain the order for the exponential Golomb code. This preferred embodiment can be used for the high efficiency mode (NO) case.

В подальшому переважному варіанті виконання порядок експоненціальних кодів Голомба є фіксованим і встановлюється рівним 0. В іншому переважному варіанті виконання порядок експоненціальних кодів Голомба є фіксованим і встановлюється рівним 1. В переважному варіанті виконання порядок експоненціальних кодів Голомба фіксується рівним 2. В подальшому варіанті виконання порядок експоненціальних кодів Голомба фіксується рівним 3.In a further preferred embodiment, the order of exponential Golomb codes is fixed and is set equal to 0. In another preferred embodiment, the order of exponential Golomb codes is fixed and is set equal to 1. In a preferred embodiment, the order of exponential Golomb codes is fixed equal to 2. In a further preferred embodiment, the order of exponential Golomb codes is fixed equal to 2 of Golomb codes is fixed equal to 3.

В подальшому переважному варіанті виконання порядок експоненціальних кодів Голомба фіксується згідно з формою і розміром поточного РО. Представлені переважні варіанти виконання можуть використовуватися для випадку режиму низької складності (ІС).In a further preferred embodiment, the order of exponential Golomb codes is fixed according to the shape and size of the current RO. The presented preferred embodiments can be used for the Low Complexity (LC) mode case.

Відзначається, що фіксований порядок експоненціальних кодів Голомба розглядається з меншою кількістю інформаційних величин з моделями контексту.It is noted that the fixed order of exponential Golomb codes is considered with a smaller number of information quantities with context models.

В переважному варіанті виконання сусідні блоки визначаються наступним чином. Для вищезгаданого РИ усі РО, які охоплюють поточний РИ, беруться до уваги і використовується РО з найбільшим ММ. Це робиться також для лівого сусіднього блока. Усі РІ), які охоплюють поточний РО, оцінюються і використовується РО з найбілошим МУ. В іншому переважному варіанті виконання середня абсолютна величина вектора руху з усіх Р), які охоплюють верхню і ліву границю, поточний РИ використовується для одержання першої інформаційної величини.In the preferred embodiment, adjacent blocks are defined as follows. For the aforementioned RI, all ROs that cover the current RI are taken into account and the RO with the largest MM is used. This is also done for the left neighboring block. All RI) that cover the current RO are evaluated and the RO with the whitest MU is used. In another preferred embodiment, the average absolute value of the motion vector from all P) covering the upper and left borders, the current RY is used to obtain the first information value.

Для представлених вище переважних варіантів виконання можна змінити порядок кодування наступним чином, тм повинно специфікуватися для горизонтального і вертикального напряму один за іншим (або навпаки). Таким чином, потрібно кодувати два рядки інформаційних величин. Для мінімізації кількості перемикань режимів для ентропійного кодувального засобу (тобто, перемикання між байпасним і регулярним режимом), можна кодувати інформаційні величини, кодовані моделями контексту для обох компонентів на першому етапі, за яким слідують дві інформаційні величини, кодовані в байпасному режимі на другому етапі.For the preferred implementation options presented above, the coding order can be changed as follows, tm should be specified for the horizontal and vertical directions one after the other (or vice versa). Thus, it is necessary to encode two lines of information quantities. To minimize the number of mode switches for the entropy encoder (ie, switching between bypass and regular mode), one can encode the information quantities encoded by the context models for both components in the first step, followed by the two bypass-encoded information quantities in the second step.

Відзначається, що це тільки переупорядкування.It is noted that this is only a rearrangement.

Будь-ласка, візьміть до уваги, що двійкові числа, які одержуються з бінаризації, яка використовує унарний код або усічений унарний код, можуть також представлятися еквівалентними даними бінаризації фіксованої довжини одного ідентифікатора на індекс інформаційної величини, який уточнює чи величина більша за поточний індекс інформаційної величини. Як приклад, критична величина для бінаризації тма з використанням усіченого унарного коду встановлюється рівною 2, що надає кодові слова 0, 10, 11 для величин 0, 1, 2. У відповідному процесі бінаризації інформаційних величин фіксованої довжини з одним ідентифікатором на індекс інформаційної величини, один ідентифікатор для індексу 0 інформаційної величини (тобто, перша інформаційна величина) уточнює чи абсолютне значення тма більше за 0, чи ні, і один ідентифікатор для другої інформаційної величини з індексом 1 уточнює чи абсолютне значення тма більше за 1 чи ні. Коли другий ідентифікатор кодується тільки, коли перший ідентифікатор дорівнює 1, то це надає ті ж кодові слова 0, 10, 11.Please note that binary numbers resulting from a binarization that uses a unary code or a truncated unary code can also be represented by the equivalent fixed-length binarization data of one identifier per information value index that specifies whether the value is greater than the current information value index values As an example, the critical value for tma binarization using a truncated unary code is set to 2, which gives codewords 0, 10, 11 for the values 0, 1, 2. In the corresponding process of binarizing information quantities of fixed length with one identifier per information quantity index, one identifier for index 0 of the information quantity (ie, the first information quantity) specifies whether the absolute value of tma is greater than 0 or not, and one identifier for the second information quantity with index 1 specifies whether the absolute value of tma is greater than 1 or not. When the second identifier is coded only when the first identifier is 1, this gives the same codewords 0, 10, 11.

Далі описується представлення з масштабованою складністю внутрішнього стану моделей ймовірності згідно з описаним варіантом виконання.Next, a representation with scaled complexity of the internal state of probability models according to the described embodiment is described.

У НЕ-РІРЕ засобі внутрішній стан моделі ймовірності оновлюється після кодування нею інформаційної величини. Оновлений стан одержується таблицею пошуку переходу станів, яка використовує старий стан і величину кодованої інформаційної величини. У випадку САВАС модель ймовірності може займати 63 різні стани, де кожен стан відповідає моделі ймовірності в інтервалі (0,0, 0,5). Кожен з цих станів використовується для реалізації двох моделей ймовірностей. На додаток до ймовірності, присвоєної стану, 1,0 мінус ймовірність також використовується і ідентифікатор, названий маїМре, зберігає інформацію про те, чи використовується ймовірність чи 1,0 мінус ймовірність. Це приводить до загалом 126 станів. Для використання такої моделі ймовірності з концепцією РІРЕ кодування, кожен з 126 станів необхідно перетворювати на один з доступних РІРЕ кодерів. В поточних втіленнях РІРЕ кодерів це робиться шляхом використання таблиці пошуку. Приклад такого перетворення зображений вIn the NE-RIRE tool, the internal state of the probability model is updated after it encodes the information quantity. The updated state is obtained by the state transition lookup table, which uses the old state and the value of the coded information value. In the case of SAVAS, the probability model can occupy 63 different states, where each state corresponds to a probability model in the interval (0.0, 0.5). Each of these states is used to implement two probability models. In addition to the probability assigned to the state, 1.0 minus the probability is also used and an identifier called myMre stores information about whether the probability or 1.0 minus the probability is used. This results in a total of 126 states. To use such a probability model with the concept of RIRE coding, each of the 126 states must be converted to one of the available RIRE encoders. In current implementations of RIRE encoders, this is done by using a lookup table. An example of such a transformation is shown in

Таблиці А.Tables A.

Далі описується варіант виконання як внутрішній стан моделі ймовірності може представлятися для уникнення використання таблиці пошуку для перетворення внутрішнього стану на РІРЕ індекс. Виключно деякі прості операції по маскуванню бітів необхідні для одержання РіІРЕ індексу із змінної внутрішнього стану моделі ймовірності. Це нове представлення з масштабованою складністю внутрішнього стану моделі ймовірності виконане дворівневим. Для застосувань, де операція низької складності є обов'язковою, використовується тільки перший рівень. Вона описує тільки ріре індекс і ідентифікатор маІМр:, який використовується для кодування або декодування відповідних інформаційних величин. У випадку описаної схеми РІРЕ ентропійного кодування перший рівень може використовуватися для диференціації між 8 різними моделями ймовірності. Таким чином, перший рівень повинен потребувати З біт для ріреїдх і один додатковий біт для ідентифікатора маІМрв». Завдяки другому рівню кожен з великих інтервалів ймовірності першого рівня ділиться на декілька менших інтервалів, які зберігають представлення ймовірностей при вищих роздільних здатностях. Це детальніше представлення дозволяє точнішу роботу оцінювачів ймовірності. Загалом, для кодування вигідно мати високі НЮО-характеристики. Як приклад, це представлення з масштабованою складністю внутрішнього стану моделей ймовірності з використанням РІРЕ зображується наступним чином:The following describes an embodiment of how the internal state of the probability model can be represented to avoid the use of a lookup table to convert the internal state to the RIP index. Only some simple bit-masking operations are necessary to obtain the index РиРЕ from the internal state variable of the probability model. This new representation with scaled complexity of the internal state of the probability model is two-level. For applications where a low-complexity operation is required, only the first level is used. It describes only the index and the identifier maIMr:, which is used to encode or decode the corresponding information values. In the case of the described PIRE entropy coding scheme, the first level can be used to differentiate between 8 different probability models. Thus, the first layer should require 3 bits for rereadh and one additional bit for the MAIMrv identifier. With the second level, each of the large probability intervals of the first level is divided into several smaller intervals that preserve the probability representation at higher resolutions. This more detailed representation allows for more accurate probability estimators. In general, it is advantageous to have high NWO characteristics for coding. As an example, this scaled-complexity representation of the internal state of probabilistic models using RIP is depicted as follows:

Коо) 07 | 106 | 65. | в | в | т | вп | юCo., Ltd.) 07 | 106 | 65 in | in | t | vp | yu

Перший і другий рівень зберігаються в єдиній 8-бітовій пам'яті. 4 біти вимагаються для зберігання першого рівня - індекса, який визначає РІРЕ індекс з величиною МР5 на найбільш значущому біті- а інші 4 біти використовуються для зберігання другого рівня. Для втілення поведінки оцінювача ймовірності САВАС, кожен РІРЕ індекс має конкретне число дозволених індексів деталізації, яке залежить від того скільки станів САВАС було перетворено на РІРЕ індекс. Наприклад, для перетворення в Таблиці А кількість станів САВАС на РІРЕ індекс вказана в Таблиці В. о РІРЕЇндеєєї//// | 0 | 1 | 2 | з | 4 | 5 | 6 | 7The first and second levels are stored in a single 8-bit memory. 4 bits are required to store the first level - the index that determines the RIP index with the MP5 value on the most significant bit - and the other 4 bits are used to store the second level. To implement the behavior of the SAVAS probability estimator, each RIRE index has a specific number of allowed granularity indices, which depends on how many SAVAS states have been converted to the RIRE index. For example, for conversion in Table A, the number of states of SAVAS to RIRE index is indicated in Table B. About RIREIndeeei//// | 0 | 1 | 2 | with | 4 | 5 | 6 | 7

Таблиця В: Кількість станів САВАС на РІРЕ індекс для прикладу Таблиці А.Table B: Number of SAVAS states on the RIRE index for the example of Table A.

Під час процесу кодування або декодування інформаційної величини до РІРЕ індекса і ма!Мр5 можна одержувати прямий доступ за допомогою використання простих операцій маскування бітів або зсуву бітів. Процеси кодування низької складності вимагають тільки 4 біти першого рівня, а процеси високоефективного кодування можуть додатково використовувати 4 біти другого рівня для реалізації оновлення моделі ймовірності оцінювача ймовірності САВАС.During the process of encoding or decoding an information quantity, the RIP index and ma!Mp5 can be directly accessed by using simple bit masking or bit shifting operations. Low-complexity coding processes require only 4 bits of the first level, and high-efficiency coding processes may additionally use 4 bits of the second level to implement the updating of the probability model of the SAVAS probability estimator.

Для виконання цього оновлення, може формуватися таблиця пошуку переходу стану, яка має ті ж переходи станів що й первинна таблиця, але яка використовує дворівневе представлення станів з масштабованою складністю. Первинна таблиця переходу станів складається з двох рядків з 63 елементами в кожному. Для кожного вхідного стану вона містить два вихідні стани.To perform this update, a state transition lookup table can be formed that has the same state transitions as the original table, but that uses a two-level state representation with scalable complexity. The primary state transition table consists of two rows with 63 elements in each. For each input state, it contains two output states.

При використанні представлення з масштабованою складністю розмір таблиці переходу станів не перевищує два рядки з 128 елементами в кожному, що є прийнятним збільшенням розміру таблиці. Це збільшення залежить від того скільки бітів використовується для представлення індексу деталізації і для точної емуляції поведінки оцінювача ймовірності САВАС, при цьому вимагається чотири біти. Однак, міг би використовуватися інший оцінювач ймовірності, який може працювати на меншій множині станів САВАС так, що для кожного ріре індексу допускається не більше ніж 8 станів. Тому, споживання пам'яті може узгоджуватися із заданим рівнем складності процесу кодування шляхом адаптації кількості бітів, використовуваних для представлення індексу деталізації. Порівняно з внутрішнім станом моделей ймовірності зWhen using a scaled-complexity representation, the size of the state transition table does not exceed two rows of 128 elements each, which is an acceptable increase in table size. This increase depends on how many bits are used to represent the granularity index and to exactly emulate the behavior of the SAVAS probability estimator, with four bits required. However, another probability estimator could be used that can work on a smaller set of SAVAS states so that no more than 8 states are allowed for each rire index. Therefore, the memory consumption can be adjusted to a given level of complexity of the encoding process by adapting the number of bits used to represent the granularity index. Compared to the internal state of probability models with

САВАС, де існує 64 індекси стану ймовірності, використання таблиць пошуку для перетворення моделей ймовірності на спеціальний РІРЕ код усувається і не вимагається додаткове перетворення.SAVAS, where there are 64 indices of the probability state, the use of look-up tables to convert the probability models to a special RIRE code is eliminated and no additional conversion is required.

Далі описується оновлення моделі контексту з масштабованою складністю згідно з варіантом виконання.Next, updating the context model with scalable complexity according to an embodiment is described.

Для оновлення моделі контексту, її індекс стану ймовірності може оновлюватися на основі одного або більшої кількості попередньо кодованих інформаційних величин. При встановленніTo update the context model, its probability state index may be updated based on one or more pre-encoded information quantities. When installing

НЕ-РІРЕ це оновлення виконується після кодування або декодування кожної інформаційної величини. І, навпаки, при встановленні І С-РІРЕ це оновлення може ніколи не виконуватися.This update is NOT REQUIRED after each information quantity is encoded or decoded. And, conversely, when installing I S-RIRE, this update may never be performed.

Однак, можна виконувати оновлення моделей контексту з масштабованою складністю.However, it is possible to perform context model updates with scalable complexity.

Тобто, рішення, чи оновлювати модель контексту, чи ні, може базуватися на різних аспектах.That is, the decision whether to update the context model or not can be based on different aspects.

Наприклад, кодер може не оновлюватися для окремих моделей контексту тільки як, наприклад, для моделей контексту синтаксичного елемента совеїї відпіїісапі Пад, і завжди оновлюється для усіх інших моделей контексту.For example, the encoder may not be updated for certain context models only as, for example, for the context models of the syntax element soviei vidpiisapi Pad, and is always updated for all other context models.

Іншими словами, селектор 402 міг би конфігуруватися для символів кожного з ряду наперед визначених типів символів для виконання вибору серед ентропійних декодерів 322 в залежності від відповідної моделі ймовірності, зв'язаної з відповідним наперед визначеним символом так, що кількість наперед визначених типів символів менша в режимі низької складності, ніж у високоефективному режимі.In other words, the selector 402 could be configured for symbols of each of a number of predefined symbol types to perform a selection among the entropy decoders 322 depending on the appropriate probability model associated with the corresponding predefined symbol such that the number of predefined symbol types is less in the of low complexity than in high efficiency mode.

Окрім того, критеріями для визначення того, чи оновлювати модель контексту, чи ні, могли б бути, наприклад, розмір пакету потоку бітів, кількість інформаційних величин, таким чином декодованих, або чи оновлення виконується тільки після кодування конкретної фіксованої або змінної кількості інформаційних величин для моделі контексту.In addition, criteria for determining whether or not to update the context model could be, for example, the packet size of the bit stream, the number of information quantities thus decoded, or whether the update is performed only after encoding a specific fixed or variable number of information quantities for context models.

За допомогою цієї схеми для прийняття рішення, чи оновлювати моделі контексту, чи ні, може втілюватися оновлення моделі контексту з масштабованою складністю. Це дозволяєBy using this scheme to decide whether or not to update context models, context model updates with scalable complexity can be implemented. This allows

Зо збільшення або зменшення частини інформаційних величин в потоці бітів, для яких виконується оновлення моделі контексту. Чим більше оновлень моделі контексту, тим краща ефективність кодування і вища складність обрахунку. Таким чином, описаною схемою може досягатися оновлення моделі контексту з масштабованою складністю.From the increase or decrease of part of the information values in the stream of bits for which the update of the context model is performed. The more context model updates, the better the coding efficiency and the higher the computational complexity. Thus, the described scheme can achieve context model updating with scalable complexity.

В переважному варіанті виконання оновлення моделі контексту виконується для інформаційних величин усіх синтаксичних елементів за виключенням синтаксичних елементів соей 5ідпітісапі Пад, соєї аре дгеаїет ісоей ар дгеагего.In the preferred variant, the update of the context model is performed for the information values of all syntactic elements with the exception of the syntactic elements soei 5idpitisapi Pad, soei are dgeaiet isoey ar dgeagego.

В подальшому переважному варіанті виконання оновлення моделі контексту виконується тільки для інформаційних величин синтаксичних елементів соеїй 5ідпіїсапі пад, соей арз агеаїен ісоей ар агеаїенгаг.In the further preferred option, the update of the context model is performed only for the information values of the syntactic elements soeii 5idpiisapi pad, soei arz ageaien isoei ar ageaiengag.

В подальшому переважному варіанті виконання оновлення моделі контексту виконується для усіх моделей контексту при початку кодування або декодування частини масиву даних.In a further preferred embodiment, performing a context model update is performed for all context models at the start of encoding or decoding of a portion of the data array.

Після обробки конкретної наперед визначеної кількості блоків перетворення, оновлення моделі контексту деактивується для усіх моделей контексту до досягання кінця частини масиву даних.After processing a specific predetermined number of transform blocks, context model updating is disabled for all context models until the end of the data array portion is reached.

Наприклад, селектор 402 може конфігуруватися для символів наперед визначеного типу для виконання вибору серед ентропійних декодерів 322 в залежності від моделі ймовірності, зв'язаної з наперед визначеним типом символу, разом з або без оновлення відповідної моделі ймовірності так, що довжина фази вивчення послідовності символів, на якій виконується вибір для символів наперед визначеного типу разом з оновленням, менша в режимі низької складності, ніж у високоефективному режимі.For example, the selector 402 may be configured for symbols of a predetermined type to perform a selection among the entropy decoders 322 depending on the probability model associated with the predetermined symbol type, with or without updating the corresponding probability model such that the length of the learning phase of the symbol sequence, on which the selection is performed for characters of a predefined type along with the update is smaller in the low-complexity mode than in the high-efficiency mode.

Подальший переважний варіант виконання ідентичний попередньо описаному переважному варіанту виконання, але він використовує представлення внутрішнього стану моделей контексту з масштабованою складністю у такий спосіб, що одна таблиця зберігає "першу частину" (маїМр5 і ріредх) усіх моделей контексту, а друга таблиця зберігає "другу частину" (геїпеїдх) усіх моделей контексту. В місці, де оновлення моделі контексту деактивується для усіх моделей контексту (як описано в попередньому переважному варіанті виконання), більше не потрібне зберігання таблицею "другої частини" і воно може не братися до уваги.A further preferred embodiment is identical to the previously described preferred embodiment, but uses a representation of the internal state of the context models with scalable complexity such that one table stores the "first part" (mayMr5 and redred) of all context models and a second table stores the "second part " (geipeidh) of all context models. Where context model updating is disabled for all context models (as described in the previous preferred embodiment), storage by the "second part" table is no longer needed and may be ignored.

Далі описується оновлення моделі контексту для послідовності інформаційних величин згідно з варіантом виконання.Next, the update of the context model for the sequence of information quantities according to the implementation variant is described.

В конфігурації ІС-РІРЕ інформаційні величини синтаксичних елементів типу 60 соей в5ідпітісапі Яад, соей ар агеаїеи і соеїй аре дгеаїєгт2 групуються в підмножини. Для кожної підмножини використовується єдина модель контексту для кодування її інформаційних величин. У цьому випадку, оновлення моделі контексту може виконуватися після кодування фіксованої кількості інформаційних величин цієї послідовності. Це оновлення моделі з багатьма інформаційними величинами описується далі. Однак, це оновлення може відрізнятися від оновлення, яке використовує тільки останню кодовану інформаційну величину і внутрішній стан моделі контексту. Наприклад, для кожної інформаційної величини, яка кодувалася, виконується один етап оновлення моделі контексту.In the IS-RIRE configuration, the information values of syntactic elements of type 60 are grouped into subsets. For each subset, a single context model is used to encode its information quantities. In this case, updating the context model can be performed after encoding a fixed number of information values of this sequence. This update of the multi-informant model is described next. However, this update may differ from an update that uses only the last encoded information value and the internal state of the context model. For example, for each information value that was coded, one stage of updating the context model is performed.

Далі надаються приклади для кодування ілюстративної підмножини, яка складається з 8 інформаційних величин. Літера "р позначає декодування інформаційної величини і літера позначає оновлення моделі контексту. У випадку І! С-РІРЕ виконується тільки декодування інформаційної величини без оновлень моделі контексту: роеррррррNext, examples are provided for coding an illustrative subset, which consists of 8 information quantities. The letter "p" denotes the decoding of the information quantity and the letter denotes the update of the context model. In the case of I!S-RIRE, only the decoding of the information quantity is performed without updates of the context model: roerrrrr

У випадку НЕ-РІРЕ після декодування кожної інформаційної величини виконується оновлення моделі контексту:In the case of NON-RIRE, after decoding each information quantity, the context model is updated:

БбиБбивбивБибибвбививиBbyBbybbyBbybybbylive

Для того, щоб дещо знизити складність, оновлення моделі контексту може виконуватися після послідовності інформаційних величин (у цьому прикладі після кожних 4 інформаційних величин виконуються оновлення цих 4 інформаційних величин):In order to slightly reduce the complexity, the update of the context model can be performed after a sequence of information quantities (in this example, after every 4 information quantities, updates of these 4 information quantities are performed):

ББрБ;БиппиБрвББийциBBrB; BippiBrvBBiytsi

Тобто, селектор 402 може конфігуруватися для символів наперед визначеного типу для виконання вибору серед ентропійних декодерів 322 в залежності від моделі ймовірності, зв'язаної з наперед визначеним типом символу, разом з або без оновлення відповідної моделі ймовірності так, що частота, з якою виконується вибір для символів наперед визначеного типу разом з оновленням, нижча в режимі низької складності, ніж у високоефективному режимі.That is, the selector 402 may be configured for symbols of a predetermined type to perform a selection among the entropy decoders 322 depending on the probability model associated with the predetermined symbol type, with or without updating the corresponding probability model such that the frequency at which the selection is performed for characters of a predefined type with update, is lower in low-complexity mode than in high-complexity mode.

У цьому випадку після декодування 4 інформаційних величин слідують 4 етапи оновлення на основі 4 тільки що декодованих інформаційних величин. Відзначається, що ці чотири етапи оновлення можуть виконуватися за один єдиний етап шляхом використання спеціальної таблиці пошуку. Ця таблиця пошуку зберігає для кожної можливої комбінації з 4 інформаційних величин і кожного можливого внутрішнього стану моделі контексту одержуваний новий стан післяIn this case, the decoding of 4 information quantities is followed by 4 update stages based on the 4 newly decoded information quantities. It is noted that these four update steps can be performed in a single step by using a special lookup table. This lookup table stores for each possible combination of the 4 information quantities and each possible internal state of the context model the resulting new state after

Зо чотирьох традиційних етапів оновлення.Of the four traditional stages of renewal.

В певному режимі оновлення з багатьма інформаційними величинами використовується для синтаксичного елемента соеїї відпітісапі Пад. Для інформаційних величин усіх інших синтаксичних елементів не використовується оновлення моделі контексту. Кількість інформаційних величин, які кодуються перед виконанням етапу оновлення з багатьма елементами вибірки, встановлюється рівною п. Коли кількість інформаційних величин множини не ділиться на п, то 1-п-1 інформаційних величин залишаються в кінці підмножини після останнього оновлення з багатьма елементами вибірки. Для кожної з цих інформаційних величин традиційне оновлення з однією інформаційною величиною виконується після кодування усіх цих інформаційних величин. Кількість п може бути будь-яким додатнім числом, більшим за 1. Інший режим може бути ідентичним з попереднім режимом за виключенням того, що оновлення з багатьма інформаційними величинами виконується для довільних комбінацій соєїї 5ідпітісапі Чад, соеїї арх адгеаїенті і соеїї арз адгеаїегаг (тільки замість соєїї 5ідпітісапі Пад).In a certain mode, the update with many information values is used for the syntactic element of the soei vidpitisapi Pad. For information values of all other syntactic elements, context model updating is not used. The number of information quantities, which are encoded before performing the step of updating with many elements of the sample, is set equal to n. When the number of information quantities of the set is not divisible by n, then 1-n-1 information quantities remain at the end of the subset after the last update with many elements of the sample. For each of these information quantities, a traditional update with one information quantity is performed after encoding all of these information quantities. The number n can be any positive number greater than 1. The other mode can be identical to the previous mode except that the update with many information quantities is performed for arbitrary combinations of soei 5idpitisapi Chad, soei arch adgeaienti and soei arz adgeaiegag (only instead of soyei 5idpitisapi Pad).

Таким чином, цей режим повинен бути складнішим, ніж інший. Усі інші синтаксичні елементи (де не використовується оновлення з багатьма інформаційними величинами) можуть ділитися на дві окремі підмножини, де для однієї з підмножин використовується оновлення з єдиною інформаційною величиною, а для іншої підмножини не використовується оновлення моделі контексту. Будь-які можливі окремі підмножини є дійсними (включаючи порожню підмножину).Thus, this mode should be more difficult than the other. All other syntactic elements (where multi-valued update is not used) can be divided into two separate subsets, where one subset uses single-valued update and the other subset does not use context model update. Any possible distinct subsets are valid (including the empty subset).

В альтернативному варіанті виконання оновлення з багатьма інформаційними величинами може базуватися тільки на останніх т інформаційних величинах, які кодуються безпосередньо перед етапом оновлення з багатьма інформаційними величинами, т може бути будь-яким натуральним числом, меншим за п. Таким чином, декодування може виконуватися наступним чином: рБрБрБипвБрррипрБрррииррь в... 3 п-4 і т-2.In an alternative variant, performing the multi-value update can be based only on the last t values encoded just before the multi-value update step, t can be any integer less than n. Thus, the decoding can be performed as follows : rBrBrBypvBrrriprBrrriirrr in... 3 n-4 and t-2.

Тобто, селектор 402 може конфігуруватися для символів наперед визначеного типу для виконання вибору серед ентропійних декодерів 322 в залежності від моделі ймовірності, зв'язаної з наперед визначеним типом символу, разом з оновленням відповідної моделі ймовірності, при цьому кожен п-й символ наперед визначеного типу базується на т найостанніших символів наперед визначного типу так, що відношення п/т більше в режимі бо низької складності, ніж у високоефективному режимі.That is, the selector 402 can be configured for symbols of a predetermined type to perform a selection among the entropy decoders 322 depending on the probability model associated with the predetermined symbol type, along with updating the corresponding probability model, where every nth symbol of the predetermined type is based on the t most recent symbols of the pre-defined type so that the p/t ratio is greater in the low-complexity mode than in the high-efficiency mode.

В подальшому переважному варіанті виконання для синтаксичного елемента соей 5ідпіїсапі Чад схема моделювання контексту, яка використовує локальний зразок, як описано вище для конфігурації НЕ-РІРЕ, може використовуватися для присвоєння моделей контексту інформаційним величинам синтаксичного елемента. Однак, для цих інформаційних величин не використовується оновлення моделі контексту.In a further preferred embodiment for the syntactic element soei 5idpiisapi Chad, a context modeling scheme that uses a local sample, as described above for the NE-RIRE configuration, may be used to assign context models to the information values of the syntactic element. However, context model updating is not used for these information quantities.

Окрім того, селектор 402 може конфігуруватися для символів наперед визначеного типу для вибору одного з ряду контекстів в залежності від кількості попередньо одержаних символів послідовності символів і для виконання вибору серед ентропійних декодерів 322 в залежності від моделі ймовірності, зв'язаної з вибраним контекстом, так, що кількість контекстів і/або кількість попередньо одержаних символів менша в режимі низької складності, ніж у високоефективному режимі.In addition, the selector 402 may be configured for symbols of a predetermined type to select one of a number of contexts depending on the number of previously received symbols of the symbol sequence and to perform a selection among the entropy decoders 322 depending on the probability model associated with the selected context, such that that the number of contexts and/or the number of prefetched symbols is less in the low-complexity mode than in the high-efficiency mode.

Ініціалізація моделі ймовірності, яка використовує 8-бітові ініціалізуючі величиниInitialize a probability model that uses 8-bit initialization values

Цей розділ описує процес ініціалізації внутрішнього стану моделей ймовірності з масштабованою складністю, використовуючи так звану 8-бітову ініціалізуючу величину замість двох 8-бітових величин як у випадку стандарту кодування відеоданих рівня техніки Н.265/АМС.This section describes the process of initializing the internal state of scaled complexity probability models using a so-called 8-bit initialization value instead of two 8-bit values as in the case of the H.265/AMS video data coding standard.

Він складається з двох частин, які співставні з парами ініці«алізуючих величин, використовуваними для моделей ймовірності в САВАС стандарту Н.264/АМО. Дві частини представляють два параметри лінійного рівняння для обрахунку початкового стану моделі ймовірності, представляючи конкретну ймовірність (наприклад, у формі РІРЕ індексу) з ОР: - Перша частина описує крутизну і вона використовує залежність внутрішнього стану від параметра дискретизації (ОР), який використовується під час кодування або декодування. - Друга частина визначає РІРЕ індекс при заданому ОР, а також маї!Мрзв.It consists of two parts, which are comparable to pairs of initializing values used for probability models in SAVAS standard N.264/AMO. The two parts represent the two parameters of the linear equation to calculate the initial state of the probability model, representing a specific probability (e.g. in the form of the RIP index) with the OR: - The first part describes the slope and it uses the dependence of the internal state on the sampling parameter (OR) used during encoding or decoding. - The second part determines the RIRE index at a given OR, as well as mai!Mrzv.

Два різні режими доступні для ініціалізації моделі ймовірності з використанням заданої ініціалізуючої величини. Перший режим є незалежною від ОР ініціалізацією. Він використовує тільки РІРЕ індекс і маІМр», визначені у другій частині ініціалізуючої величини для усіх ОР. Це ідентично випадку, де крутизна дорівнює 0. Другий режим є залежною від ОР ініціалізацією і він додатково використовує крутизну першої частини ініціалізуючої величини для зміни РІРЕ індекса і для визначення індексу деталізації. Дві частини 8-бітової ініціалізуючої величини зображені далі:Two different modes are available for initializing the probability model using a given initialization value. The first mode is initialization independent of OR. It uses only the RIRE index and maIMr" defined in the second part of the initialization value for all ORs. This is identical to the case where the steepness is equal to 0. The second mode is an OP-dependent initialization and it additionally uses the steepness of the first part of the initialization value to change the RIP index and to determine the detail index. The two parts of the 8-bit initialization value are shown below:

Коо)Coo)

Перша Частина Друга ЧастинаFirst Part Second Part

Індекс Крутизни РІРЕ Індекс ЙмовірностіSteepness Index RIRE Probability Index

Він складається з двох 4-бітових частин. Перша частина містить індекс, який вказує 1 з 16 різних наперед визначених величин крутизни, які зберігається в масиві. Наперед визначені величини крутизни складаються з 7 від'ємних величин крутизни (індекс крутизни 0-6): одна величина крутизни, яка дорівнює нулю (індекс крутизни 7), і 8 додатних величин крутизни (індекс крутизни 8-15). Величини крутизни вказані в Таблиці СIt consists of two 4-bit parts. The first part contains an index that specifies 1 of 16 different predefined slope values stored in the array. Predefined steepness values consist of 7 negative steepness values (steepness index 0-6): one steepness value that is equal to zero (steepness index 7), and 8 positive steepness values (steepness index 8-15). The values of the steepness are indicated in Table C

Таблиця СTable C

Кижни 91112 13 | 456Kyzhny 91112 13 | 456

КрутизниSteepness

Кримаи 29 | лов) і ле) оKrymai 29 | lov) and le) o

КрутизниSteepness

ІндексIndex

Кижни 1819 | 0 | и | 2 9 | м вKyzhny 1819 | 0 | and | 2 9 | m in

КрутизниSteepness

Усі величини масштабовані коефіцієнтом 256 для уникнення використання операцій з плаваючою точкою. Друга частина є РІРЕ індексом, який втілює висхідну ймовірність ма!Мро5-1 між інтервалом ймовірності р-0 і р-1. Іншими словами, РІРЕ кодер п повинен працювати при вищій моделі ймовірності, ніж РІРЕ кодер п - 1. Для кожної моделі ймовірності доступний одинAll values are scaled by a factor of 256 to avoid using floating point operations. The second part is the RIRE index, which embodies the upward probability of Ма!Мро5-1 between the probability interval р-0 and р-1. In other words, the RIRE encoder n must work with a higher probability model than the RIRE encoder n - 1. For each probability model, one is available

РІРЕ індекс ймовірнрсті і він ідентифікує РІРЕ кодер, чий Інтервал ймовірності містить ймовірність Руаїме, 7 для ОР-26.RIRE is a probability index and it identifies the RIRE coder whose Probability Interval contains the probability of Ruaime, 7 for ОР-26.

Таблиця ЮTable Yu

РІРЕ Індек жовті 10123 | 56RIRE Index yellow 10123 | 56

РР даю 37177 - ндекRR I give 37177 - ndec

Гкесинитсі НОТИ ПОСТИ НЕСТИ НЕТ ПЕС НТ ЕН НСGkesinitsi NOTES POSTS CARRY NO PES NT EN NS

Перетворення другої частини ініціалізуючої величини на РІРЕ кодери і маїМре: ОВ - перетворення унарного коду на код Райса, ТВ - потрійний двійковий код, ВР - двійковий ріре- код, ЕР - однакова ймовірність (некодована)Conversion of the second part of the initialization value to the RIP coder and maiMre: OB - conversion of the unary code to the Rice code, TV - triple binary code, BP - binary rrecode, ER - equal probability (uncoded)

ОР ї 8-бітова ініціалізуюча величина необхідні для обрахунку параметрів ініціалізації внутрішнього стану моделей ймовірності шляхом вирішення простого лінійного рівняння у формі у хх т " (ОР-ОРгеї) я 256 " р. Відзначається, що т визначає крутизну, яка береться з Таблиці С шляхом використання індексу крутизни (перша частина 8-бітової ініціалізуючої величини) і Б позначає РІРЕ кодер при ОРгеї-26 (друга частина 8-бітової ініціалізуючої величини: "РІРЕОР and an 8-bit initialization value are necessary to calculate the initialization parameters of the internal state of probability models by solving a simple linear equation in the form у хх т " (OR-ORгей) я 256 " р. It is noted that т determines the slope, which is taken from Table C by the use of the steepness index (the first part of the 8-bit initialization value) and B denotes the РИРЕ coder at ORGE-26 (the second part of the 8-bit initialization value: "РИРЕ

Індекс Ймовірності"). Потім, маїМР5У дорівнює 1 і ріреідх дорівнює (у - 2048) »» 8, якщо у більший за 2047. Інакше, маЇМР5 дорівнює 0 і ріреїдх дорівнює (2047 -у) »» 8. Індекс деталізації дорівнює ((у-2048) 6 255) " питоїаев) »» 8, якщо маіМР5 дорівнює 1. Інакше, індекс деталізації дорівнює ((2047-у) 5 255) " питеїаіев) »» 8. В обох випадках, питоїаіез дорівнює кількості станів САВАС ріре індекс, як вказано в Таблиці В.Probability Index"). Then, maiMR5U is equal to 1 and rreidh is (y - 2048) »» 8 if y is greater than 2047. Otherwise, maiMR5 is 0 and rireidh is (2047 -y) »» 8. The detail index is (( у-2048) 6 255) " pytoyaev) »» 8, if maiMR5 is equal to 1. Otherwise, the detail index is equal to ((2047-у) 5 255) " pytoyayev) »» 8. In both cases, pytoyaiez is equal to the number of states of SAVAS rire index as indicated in Table B.

Вищенаведена схема може не тільки використовуватися в комбінації з РІРЕ кодерами, але й також в зв'язку з вищезгаданими схемами САВАС. За відсутності РІРЕ кількість станів САВАС, тобто, станів ймовірності, між якими реалізується перехідний стан в оновленні ймовірності (роїаїє ситепіріпі) на РІРЕ індекс (тобто, відповідні найбільш значущі біти реїаїє ситепцуЦріп|) припадає потім тільки множина параметрів, які, фактично, реалізують кусково-лінійну інтерполяцію стану САВАС в залежності від ОР. Окрім того, ця кусково-лінійна інтерполяція може також практично усуватися у випадку, де параметр питоеїаіє5 використовує однакову величину для усіх РІРЕ індексів. Наприклад, встановлення питбіаїєз рівним 8 для усіх випадків надає загалом 16 " 8 станів і обрахунок індексу деталізації спрощується до (у-2048) б 255)»»5 для маїмМРБ, рівного 1, або ((2047-у)5255)»»25 для ма! МР, рівного 0. Для цього випадку перетворення представлення з використанням ма!мР5Б, РІРЕ індексу та індексу деталізації назад на представлення, використовуване оригінальним САВАС стандарту Н.264/АМС, є дуже простим. Стан САВАС заданий як (РІРЕ індекс «« 3) ж індекс деталізації. Цей аспект описується далі нижче відносно Фіг. 16.The above scheme can be used not only in combination with RIRE encoders, but also in connection with the aforementioned SAVAS schemes. In the absence of RIRE, the number of SAVAS states, i.e., probability states between which a transition state is realized in the probability update (probability update) on the RIRE index (i.e., the corresponding most significant bits of the RIRE system) is then only a set of parameters that, in fact, implement piecemeal - linear interpolation of the SAVAS state depending on the OR. In addition, this piecewise-linear interpolation can also be practically eliminated in the case where the parameter pytoeiaie5 uses the same value for all PIRE indices. For example, setting pitbiaies equal to 8 for all cases gives a total of 16 " 8 states and the calculation of the granularity index simplifies to (y-2048) b 255)»»5 for mymMRB equal to 1, or ((2047-y)5255)"»25 for ma!MR equal to 0. For this case, converting the representation using ma!mR5B, RIRE index and detail index back to the representation used by the original N.264/АМС SAVAS standard is very simple. SAVAS state is set as (RIRE index " 3) the detail index. This aspect is described further below in relation to Fig. 16.

Не дивлячись на те, що крутизна 8-бітової ініціалізуючої величини дорівнює нулю, або не дивлячись на те, що ОР дорівнює 26, необхідно обрахувати внутрішній стан шляхом використання лінійного рівняння з ОР процесу кодування або декодування. У випадку крутизни, яка дорівнює нулю, або такого ОР поточного процесу кодування, що дорівнює 26, друга частинаRegardless of the fact that the slope of the 8-bit initialization value is zero, or regardless of the fact that the OR is 26, it is necessary to calculate the internal state by using a linear equation with the OR of the encoding or decoding process. In the case of a steepness equal to zero, or such an OR of the current coding process equal to 26, the second part

Зо 8-бітової ініціалізуючої величини може безпосередньо використовуватися для ініціалізації внутрішнього стану моделі ймовірності. Інакше, десяткова частина одержуваного внутрішнього стану може потім використовуватися для визначення індексу деталізації у високоефективних кодуваннях за допомогою лінійної інтерполяції між межами спеціального РІРЕ кодера. У цьому переважному варіанті виконання лінійну інтерполяцію здійснюють простим множенням десяткової частини на загальну кількість індексів деталізації, доступних для поточного РІРЕ кодера і перетворенням результату на найближчий цілий індекс деталізації.The 8-bit initialization value can be directly used to initialize the internal state of the probability model. Alternatively, the decimal part of the resulting internal state can then be used to determine the granularity index in high-efficiency encodings by linear interpolation between the limits of a dedicated RIP encoder. In this preferred embodiment, linear interpolation is performed by simply multiplying the decimal part by the total number of granularity indices available to the current RIP encoder and converting the result to the nearest whole granularity index.

Процес ініціалізації внутрішнього стану моделей ймовірності може змінюватися відносно кількості РІРЕ станів індексу ймовірності. Зокрема, появі два рази однакового ймовірного режиму, який використовує РІРЕ кодер Е1, тобто, використання двох різних РІРЕ індексів для розрізнення між МР5, який становить 1 або 0, можна уникати наступним чином. Знову, процес може активуватися під час запуску синтаксичного аналізу частини масиву даних, а вхідні дані цього процесу можуть бути 8-бітовою ініціалізуючою величиною, як вказано в Таблиці Е, яка повинна, наприклад, передаватися в потоці бітів для кожної моделі контексту, яка ініціалізується.The internal state initialization process of probability models can vary with respect to the number of RIP states of the probability index. In particular, the occurrence of the same probable mode twice, which is used by the RIP encoder E1, that is, the use of two different RIP indexes to distinguish between MP5, which is 1 or 0, can be avoided as follows. Again, a process may be activated when parsing a portion of the data array, and the input to this process may be an 8-bit initialization value, as specified in Table E, which should, for example, be passed in a bitstream for each context model being initialized.

Таблиця ЕTable E

Встановлення 8 бітів Ініціалізуючої Величини для моделі ймовірності в Перші 4 біти Останні 4 бітиSetting 8 bits of the Initializing Value for the probability model to First 4 bits Last 4 bits

Бітиto beat

Ініціалізуючої Б7 Бе Б5 ра рз ре р. БоInitializing B7 Be B5 ra rz re r. Bo

Величини ЙMagnitudes Y

Індекс крутизни Індекс ЙмовірностіSteepness index Probability index

Перші 4 біти визначають індекс крутизни і одержуються маскуванням бітів б4-б7. Для кожного індексу крутизни крутизна (т) уточнюється і відображається в Таблиці РЕ.The first 4 bits determine the steepness index and are obtained by masking bits b4-b7. For each steepness index, steepness (t) is specified and displayed in Table PE.

Таблиця ЕЕTable EE

Величини змінної т для Індексу крутизни зум 211294 |5|6|7|е|9| | п ел м крутизни т |-239|-143) -85 |-51| 31 |19| 11) 0|711/19| 31 51 | 85 | 143 | 239 | з95Values of the variable t for the Steepness Index zoom 211294 |5|6|7|е|9| | p el m steepness t |-239|-143) -85 |-51| 31 |19| 11) 0|711/19| 31 51 | 85 | 143 | 239 | from 95

Біти Бо-рз, останні 4 біти 8-бітової ініціалізуючої величини ідентифікують ргобіах (індекс ймовірності) і описують ймовірність при визначеній ОР. ргорідх 0 вказує найвищу ймовірність для символів з величиною 0 і, відповідно, ргорідх 14 вказує найвищу ймовірність для символів з величиною 1. Таблиця Сї показує для кожного ргобіах відповідний ріре кодер і його маїМреоBor-rz bits, the last 4 bits of the 8-bit initialization value identify the rgobiah (probability index) and describe the probability at the specified OR. row 0 indicates the highest probability for symbols with a value of 0 and, accordingly, row 14 indicates the highest probability for symbols with a value of 1. Table C shows for each row the corresponding coder and its maximum

Таблиця СTable C

Перетворення останньої 4-бітової частини ініціалізуючої величини на РІРЕ кодери і маІМре: ОВ - перетворенню унарного коду на код Райса, ТВ - потрійний двійковий код, ВР - двійковий ріре код, ЕР - однакова ймовірність (некодована) робіх | 0/1 |21|314151617| 8 | 9 | тю | 11 | 12 | 13 | 14 с мамо | 0 0|01|0|0101|0|0| 1 | 11 | 1111111Conversion of the last 4-bit part of the initializing value to RIRE encoders and maIMre: ОВ - transformation of unary code to Rice code, TV - triple binary code, ВР - binary RIRE code, ЕР - equal probability (uncoded) robih | 0/1 |21|314151617| 8 | 9 | tyu | 11 | 12 | 13 | 14 s mom | 0 0|01|0|0101|0|0| 1 | 11 | 1111111

За допомогою обох величин обрахунок внутрішнього стану може виконуватися шляхом використання лінійного рівняння такого як ухт " х256 " р, де т позначає крутизну, х позначаєWith the help of both quantities, the calculation of the internal state can be performed by using a linear equation such as ukht " x256 " p, where t denotes the slope, x denotes

ОР поточної частини масиву даних і Б одержується з ргобрідх, як вказано в наступному описі. Усі величини у цьому процесі масштабовані коефіцієнтом 256 для уникнення використання операцій з плаваючою точкою. Вихідні дані (у) цього процесу представляють внутрішній стан моделі ймовірності при поточній ОР і зберігаються у 8-бітовій пам'яті. Як зображено в ТаблиціThe OR of the current part of the data array and B is obtained from rgobridh, as indicated in the following description. All values in this process are scaled by a factor of 256 to avoid using floating point operations. The output (y) of this process represents the internal state of the probability model at the current OR and is stored in 8-bit memory. As shown in the Table

С, внутрішній стан складається з маІМР»5, ріреїах і геїіпеїдх.C, the internal state consists of maIMR»5, rireiah and heiipeidh.

Таблиця НTable N

Встановлення внутрішнього стану моделі ймовірності ні Перші 4 бітиSet the internal state of the probability model no First 4 bits

Біти ініціалізуючоївеличини!ї 07 | ре | р5 | б. | Юз | Б | б | ююBits of the initializing value 07 | re | p5 | b. | Yuz | B | b | i am

Присвоєння геїїпеїдх і ріреідх подібне до внутрішнього стану моделей ймовірності САВАС (реїаїеСт) і представлене в Таблиці І.The assignment of heijipeidh and rreidh is similar to the internal state of the SAVAS probability models (reiaiest) and is presented in Table I.

ТаблицяTable

Присвоєння ріреїах, геїїпеїах і резаїесСіх фірейх | 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 | 62Assignment of rireiah, geiiipeiah and rezaiesSikh fireih | 70 Г77771111111111111111112 teipleach /0,|1|210/11/2|33|4|516|0/|1|2|31 4 rzaiesh /0|1|2|331/4/51|61|7|8/ |9|t0/ 11 | 712) 13 | 14 staipeadh /0|1|2|34|5|I6|0/11|2|z33|ll/|5 61/78 5 teipeach (01/12/3141 51|61|7|819|t0/|11 72 | 13) firelykh 10611111 17 stepeakh (0112/3141 51|61|7| 819 |t710|11 72/13 14 | 15 o (rziaiesikh 1461|47|48|49)|50|51|521|53|54 )|55)|561|57|58 591 60 | 61 | 62

В переважному варіанті виконання ргобідх визначається при ОР-26. На основі 8-бітової ініціалізуючої величини внутрішній стан (маїМр5, ріреїйх і геїйпеійх) моделі ймовірності обробляється, як описано в наступному псевдокоді: п - (ргобіах «« 8) - т" 26In the preferred version, the execution of rgobidh is determined at ОР-26. On the basis of the 8-bit initialization value, the internal state (mayMr5, rireijh and geijpeijh) of the probability model is processed as described in the following pseudocode:

ТІСІхеїатв-тах (0, тіп (3839, (т " тах (0, тіп (51, б5ісеОРу)) )) - п-128) гетСіх5іате-їШІСіхеане 8 255 ргесСіхоїаїе-ШІСіхеїане »» 8 її (ргесСіхоаге « 8) ріреїдх-7-ргесСіхоае мамР5-0 ) вібе ріреїдх -ргесіхоїае-8 мамрРБ-ї1 |! оПбеї-13, 7,5, 7,10,14,16,1)TISIkheiatv-tah (0, tip (3839, (t " tah (0, tip (51, b5iseORu)) )) - p-128) hetSikh5iate-ySHISikheane 8 255 rgesSikhoiae-SHISikheiane »» 8 her (rgesSikhoage « 8) rireidh- 7-rgesSihoae mamR5-0 ) vibe rireidh -rgesikhoiae-8 mamrRB-i1 |! oPbeii-13, 7,5, 7,10,14,16,1)

Ії (ріреїдх - - 0) ( її (тетСіхоайе «- 127) гетСіх5іав-127-гетОіхоїае віве гетСіх5іаів-гтетоїхоїіае-128 геїїіпеїайх - (гтетсСіхоеайе «« 1) " ойвеї) »» 8 ) вібе її (мчаїМРБ - - 0) гетСіх5іаїв-255-гетОіхоїае геїіпеїдх - (тетСіхеїаївє " ойзейЦріреїах|) »» 8 )Ii (rireidh - - 0) ( her (tetSihoaye "- 127) getSih5iav-127-getOihoiae vive hetSih5iaiv-ghtetoihoiiae-128 geiiiipeiayh - (gtetsSikhoeiae "« 1) " oyvei) »" 8 ) vibe her (mchaiMRB - - 0) getSih5iaiv -255-getOihoiae geiipeidh - (tetSiheiaivye " oiseiTsrireiah|) »» 8 )

Як показано в псевдокоді геїїпе(йх обраховується лінійною інтерполяцією між інтервалом рірейх і дискретизацією з наданням відповідного геїїпе(йх. Зміщення специфікує загальнуAs shown in the pseudocode, geijpe(yh is calculated by linear interpolation between the range interval and discretization giving the corresponding geijpe(yh. The displacement specifies the general

Зо кількість геїїпеійх для кожного ріреїдх. Інтервал І7, 8) ШІСіхеаіе/256 ділиться навпіл. ІнтервалFrom the number of geiiipeiih for each rireidh. Interval I7, 8) SHISiheaie/256 is divided in half. Interval

І7, 7,5) перетворюється на ріреїдх 0 і маІМре5:0, а інтервал |7, 5, 8) перетворюється на ріреїдх-0 і маїМре-1. Фіг. 15 зображає процес одержання внутрішнього стану і відображає перетворенняІ7, 7,5) is transformed into the array of 0 and maIMre5:0, and the interval |7, 5, 8) is transformed into the array of 0 and maIMre-1. Fig. 15 depicts the process of obtaining the internal state and displays the transformation

ТІСІхеаів/256 на ретаїесіх.TISIheaiv/256 on retaies.

Відзначається, що крутизна вказує залежність ргобідх і ОР. Якщо зіореЇїдх 8-бітової ініціалізуючої величини дорівнює 7, то одержуваний внутрішній стан моделі ймовірності є таким же як і для усіх ОР (тому, процес ініціалізації внутрішнього стану залежить від поточної ОР частини масиву даних).It is noted that the steepness indicates the dependence of rhobidh and OR. If the zero of the 8-bit initialization value is 7, then the resulting internal state of the probability model is the same as for all ORs (therefore, the internal state initialization process depends on the current OR part of the data array).

Тобто, селектор 402 може ініціалізувати ріре індекси, які використовуються в декодуванні наступної частини потоку даних, такого як увесь потік або наступна частина масиву даних, використовуючи синтаксичний елемент, який вказує розмір кроку дискретизації ОР, використовуваного для дискретизації даних цієї частини, таких як рівні значущості коефіцієнта перетворення, які містяться в ньому, використовуючи цей синтаксичний елемент як індекс в таблиці, яка може бути спільною для обох режимів І С і НЕ. Таблиця, така як таблиця 0, може містити ріре індекси для кожного типу символу, для відповідного еталону ОР'єї або інші дані для кожного типу символу. В залежності від реальної ОР поточної частини селектор може обраховувати величину ріре індексу, використовуючи введення чисел а у відповідну таблицю, індексовану фактичною ОР і самою ОР, таке як множення а на (ОР-ОР"геї). Відмінністю в режиміThat is, the selector 402 may initialize the rire indices used in decoding the next part of the data stream, such as the entire stream or the next part of the data array, using a syntax element that indicates the size of the OR sampling step used to sample the data of that part, such as significance levels conversion factor contained in it, using this syntactic element as an index in a table that can be common to both IS and NE modes. A table, such as table 0, may contain sub-indexes for each symbol type, for the corresponding ORIE standard, or other data for each symbol type. Depending on the actual OR of the current part, the selector can calculate the value of the rire index, using the input of the numbers a in the corresponding table, indexed by the actual OR and the OR itself, such as multiplying a by (OR-OR"gei). The difference in the mode

ЇС ї НЕ є тільки: селектор обраховує результат просто з нижчою точністю у випадку С порівняно з режимом НЕ. Селектор може, наприклад, просто використовувати цілу частину результату обрахунку. В режимі НЕ залишок вищої точності, такий як дробова частина, використовується для вибору одного з доступних індексів деталізації для відповідного ріре індексу, як вказано нижчою точністю або цілою частиною. Індекс деталізації використовується в режимі НЕ (потенційно рідше також в режимі І С) для виконання адаптації ймовірності шляхом використання вищезгаданого дрейфу таблиці. При полишенні доступних індексів для поточного ріре індексу на верхній границі, потім вищий ріре індекс вибирають далі з мінімізацією індексу деталізації. При полишенні доступних індексів для поточного ріре індексу на нижній границі, потім наступний нижній ріре індекс вибирають далі з мінімізацією індексу деталізації до максимум доступного для нового ріре індексу. Ріре індекс разом з індексом деталізації визначають стан ймовірності, але для вибору серед часткових потоків, селектор просто використовує ріре індекс. Індекс деталізації просто служить для ближчого або точнішого відслідковування ймовірності.There are only OTHERS: the selector simply calculates the result with lower accuracy in the case of C compared to the NO mode. A selector can, for example, simply use a whole part of the calculation result. In NOT mode, the remainder of the higher precision, such as the fractional part, is used to select one of the available detail indices for the corresponding rire index, as indicated by the lower precision or the integer part. The granularity index is used in NO mode (potentially less often also in IS mode) to perform probability adaptation by using the aforementioned table drift. When leaving the available indices for the current rire index at the upper limit, then the higher rire index is chosen further with the minimization of the detail index. When leaving the available indices for the current lower index at the lower limit, then the next lower lower index is chosen further with the minimization of the detail index to the maximum available for the new lower index. The riere index together with the granularity index define the probability state, but to select among partial streams, the selector simply uses the riere index. The granularity index simply serves to track probability closer or more precisely.

Однак, вищенаведене обговорення також показало, що масштабована складність може досягатися незалежно від концепції кодування РІРЕ з Фіг. 7-10 або САВАС, використовуючи декодер, як зображено на Фіг. 12. Декодер з Фіг. 12 передбачений для декодування потоку даних 601, у якому кодуються мультимедійні дані, і містить перемикач режимів 600, сконфігурований для активування режиму низької складності або високоефективного режиму в залежності від потоку даних 601, а також десимволізатор 602, сконфігурований для десимволізації послідовності 603 символів, одержаних або безпосередньо або ентропійним декодуванням, наприклад з потоку даних 601, для одержання цілих синтаксичних елементів 604 з використанням функції перетворення, контрольованої контрольним параметром, для перетворення області слів символьної послідовності на кообласть цілих синтаксичних елементів. Реконструктор 605 конфігурується для відновлення мультимедійних даних 606 на основі цілих синтаксичних елементів. Десимволізатор 602 конфігурується для виконанняHowever, the above discussion has also shown that scalable complexity can be achieved independently of the RIP coding concept of FIG. 7-10 or SAVAS using a decoder as shown in FIG. 12. The decoder from Fig. 12 is provided for decoding a data stream 601 in which multimedia data is encoded, and includes a mode switch 600 configured to activate a low-complexity mode or a high-efficiency mode depending on the data stream 601, and a desymbolizer 602 configured to desymbolize a sequence 603 of symbols received or directly or by entropy decoding, for example from the data stream 601, to obtain whole syntactic elements 604 using a transformation function controlled by a control parameter to convert the region of words of a character sequence into a coregion of whole syntactic elements. The reconstructor 605 is configured to reconstruct the multimedia data 606 based on whole syntactic elements. Desymbolizer 602 is configured to execute

Зо десимволізації так, що контрольний параметр змінюється згідно з потоком даних з першою швидкістю у випадку високоефективного режиму, який активується, і контрольний параметр є сталим незалежно від потоку даних або змін, які залежать від потоку даних, але при другій швидкості, нижчій за першу швидкість, у випадку режиму низької складності, який активується, як вказано стрілююю 607. Наприклад, контрольний параметр може змінюватися згідно з попередньо десимволізованими символами.From desymbolization such that the control parameter varies according to the data stream at a first rate in the case of a high-efficiency mode that is activated, and the control parameter is constant regardless of the data stream or changes that depend on the data stream, but at a second rate lower than the first rate , in the case of a low-complexity mode, which is activated as indicated by arrow 607. For example, the control parameter may vary according to previously desymbolized symbols.

Деякі з вищезгаданих варіантів виконання використовували аспект з Фіг. 12. Синтаксичні елементи соеєїй арбе тіпиє3 і ММО в послідовності 327, наприклад, бінаризувалися в десимволізаторі 314 в залежності від режиму, вибраного, як вказано позицією 407, реконструктор 605 використовував ці синтаксичні елементи для відновлення. Очевидно, що обидва аспекти з Фіг. 11 і 19 легко поєднуються, але аспект з Фіг. 12 може також об'єднуватися з іншими кодувальними середовищами.Some of the aforementioned embodiments used the aspect of FIG. 12. The syntactic elements of soeeii arbe tipie3 and MMO in sequence 327, for example, were binarized in the desymbolizer 314 depending on the mode selected, as indicated by position 407, the reconstructor 605 used these syntactic elements to restore. Obviously, both aspects of Fig. 11 and 19 are easily combined, but the aspect of FIG. 12 can also be combined with other encoding environments.

Дивіться, наприклад, вищевказане кодування різниці векторів руху. Десимволізатор 602 може конфігуруватися так, що функція перетворення використовує усічений унарний код для виконання перетворення в першому інтервалі області цілих синтаксичних елементів нижче критичної величини і комбінацію префікса у формі усіченого унарного коду для критичної величини і суфікса у формі кодового слова МІ С в другому інтервалі області цілих синтаксичних елементів включно і з перевищенням критичної величини, при цьому декодер може містити ентропійний декодер 608, сконфігурований для одержання кількості перших інформаційних величин усіченого унарного коду з потоку даних 601 з використанням ентропійного декодування із змінною оцінкою ймовірності і ряду других інформаційних величин кодового слова МІ С з використанням байпасного режиму із сталою однаковою ймовірністю. В режимі НЕ ентропійне кодування може бути складнішим, ніж при кодуванні в режимі ІС, як вказано стрілкою 609.See, for example, the motion vector difference encoding above. The desymbolizer 602 can be configured so that the conversion function uses a truncated unary code to perform the conversion in the first interval of the region of integer syntactic elements below the critical value and a combination of a prefix in the form of a truncated unary code for the critical value and a suffix in the form of a code word MI C in the second interval of the region of integers syntactic elements, including exceeding the critical value, while the decoder may contain an entropy decoder 608, configured to obtain the number of first information values of the truncated unary code from the data stream 601 using entropy decoding with a variable probability estimate and a number of second information values of the codeword MI C with using bypass mode with constant equal probability. In NO mode, entropy coding can be more complex than when coding in IS mode, as indicated by arrow 609.

Тобто, адаптивність до контексту і/або адаптація ймовірності можуть застосовуватися в режиміThat is, adaptability to the context and/or adaptability of the probability can be applied in the mode

НЕ ї уникатися в режимі С або складність може масштабуватися в інших термінах, як визначено вище відносно різних варіантів виконання.NOT to be avoided in mode C or the difficulty may scale in other terms as defined above for different implementations.

Кодер, який підключається до декодера з Фіг. 11, для кодування мультимедійних даних з одержанням потоку даних зображений на Фіг. 13. Він може містити ввідний засіб 500, сконфігурований для сигналізації в потоці даних 501 активування режиму низької складності або високоефективного режиму, конструктор 504, сконфігурований для попереднього кодування 60 мультимедійних даних 505 з одержанням послідовності 506 синтаксичних елементів,The encoder, which is connected to the decoder of Fig. 11, for encoding multimedia data with the reception of the data stream shown in FIG. 13. It may contain an input means 500 configured to signal in the data stream 501 the activation of a low-complexity mode or a high-efficiency mode, a constructor 504 configured to pre-encode 60 multimedia data 505 to obtain a sequence 506 of syntactic elements,

символізатор 507, сконфігурований для символізації послідовності 506 синтаксичних елементів з одержанням послідовності 508 символів, певну кількість ентропійних кодерів 310, кожен з яких сконфігурований для перетворення часткових послідовностей символів на кодові слова потоку даних, і селектор 502, сконфігурований для надсилання кожного символу послідовності 508 символів до вибраного одного з певної кількості ентропійних кодерів 310, при цьому селектор 502 конфігурується для виконання вибору в залежності від активованого режиму, вибраного серед режиму низької складності і високоефективного режиму, як вказано стрілкою 511.a symbolizer 507 configured to symbolize a sequence 506 of syntactic elements to yield a sequence 508 symbols, a number of entropy encoders 310 each configured to convert partial sequences of symbols into codewords of a data stream, and a selector 502 configured to send each symbol of the sequence 508 symbols to selected one of a certain number of entropy encoders 310, wherein the selector 502 is configured to perform a selection depending on the activated mode, selected from a low complexity mode and a high efficiency mode, as indicated by arrow 511.

Перемежовувач 510 може необов'язково передбачатися для перемежовування кодових слів кодерів 310.The interleaver 510 may optionally be provided to interleave the codewords of the encoders 310.

Кодер, який підключений до декодера з Фіг. 12, для кодування мультимедійних даних з одержанням потоку даних зображений на Фіг. 14 як той, що містить ввідний засіб 700, сконфігурований для сигналізації в потоці даних 701 активування режиму низької складності або високоефективного режиму, конструктор 704, сконфігурований для попереднього кодування мультимедійних даних 705 з одержанням послідовності 706 синтаксичних елементів, які включають цілий синтаксичний елемент, і символізатор 707, сконфігурований для символізації цілого синтаксичного елемента з використанням функції перетворення, контрольованої контрольним параметром, для перетворення області цілих синтаксичних елементів на кообласть слів символьної послідовності, при цьому символізатор 707 конфігурується для виконання символізації так, що контрольний параметр змінюється згідно з потоком даних з першою швидкістю у випадку високоефективного режиму, який активується, і контрольний параметр є сталим незалежно від потоку даних або змін в залежності від потоку даних, але з другою швидкістю, нижчою за першу швидкість, у випадку режиму низької складності, який активується, як зображено стрілююю 708. Результат символізації є кодування з одержанням потоку даних 701.The encoder, which is connected to the decoder of Fig. 12, for encoding multimedia data with the reception of the data stream shown in Fig. 14 as comprising an input means 700 configured to signal in a data stream 701 the activation of a low-complexity mode or a high-efficiency mode, a constructor 704 configured to pre-encode the multimedia data 705 to obtain a sequence 706 of syntactic elements that comprise an entire syntactic element, and a tokenizer 707 configured to symbolize an entire syntax element using a conversion function controlled by a control parameter to convert a region of integer syntax elements into a co-region of words of a character sequence, wherein the symbolizer 707 is configured to perform symbolization such that the control parameter varies according to the data stream at a first rate in the case of a high-efficiency mode, which is activated, and the control parameter is constant regardless of the data flow or changes depending on the data flow, but with a second rate lower than the first rate, in the case of a low-complexity mode, which ac tive as shown by arrow 708. The result of the symbolization is encoding to produce a data stream 701.

Знову слід нагадати, що варіант виконання з Фіг. 14 легко перетворюється на вищезгаданий варіант виконання адаптивного до контексту двійкового арифметичного кодування/декодування: селектор 509 і ентропійні кодери 310 повинні об'єднуватися в адаптивний до контексту двійковий арифметичний кодер, який повинен безпосередньо видавати потік даних 401 і вибирати контекст для інформаційної величини, який на даний момент одержується з потоку даних. Це особливо справедливо для адаптивності до контексту і/або адаптивності до ймовірності. Обидві функції/адаптивності можуть деактивовуватися або розроблятися більш послабленими під час режиму низької складності.It should be recalled again that the variant of execution from Fig. 14 is easily converted into the aforementioned implementation of context-adaptive binary arithmetic coding/decoding: the selector 509 and entropy encoders 310 should be combined into a context-adaptive binary arithmetic coder, which should directly output the data stream 401 and select the context for the information quantity that on the current moment is obtained from the data stream. This is especially true for context adaptive and/or probability adaptive. Both features/adaptives can be disabled or developed more toned down during low difficulty mode.

Вище коротко зазначено, що здатність перемикати режими, пояснена відносно деяких з вищенаведених варіантів виконання, може, згідно з альтернативними варіантами виконання, не братися до уваги. Для прояснення цього факту, робиться посилання на фіг. 16, яка підсумовує вищенаведений опис до такої міри, до якої просте видалення здатності перемикати режими відрізняє варіант виконання з Фіг. 16 від вищеописаних варіантів виконання. Більше того, наступний опис буде розкривати переваги, які одержуються з ініціалізації оцінок ймовірності контекстів з використанням менш точних параметрів для крутизни і зміщення порівняно з, наприклад, стандартом Н.264.It is briefly stated above that the ability to switch modes explained with respect to some of the above embodiments may, according to alternative embodiments, not be taken into account. To clarify this fact, reference is made to fig. 16, which summarizes the above description to the extent that the simple removal of the ability to switch modes distinguishes the embodiment from FIG. 16 from the above-described implementation options. Moreover, the following description will reveal the advantages obtained from initializing the probability estimates of contexts using less precise parameters for slope and displacement compared to, for example, the H.264 standard.

Зокрема, Фіг. 16 зображає декодер для декодування відеоданих 405 з потоку даних 401, у який кодуються горизонтальні і вертикальні компоненти різниць векторів руху з використанням бінаризацій горизонтальних і вертикальних компонентів, при цьому бінаризації зрівнюють усічений унарний код горизонтальних і, відповідно, вертикальних компонентів в першому інтервалі області горизонтальних і вертикальних компонентів нижче критичної величини, і комбінацію префікса у формі усіченого унарного коду і критичну величину та суфікс у формі експоненціального коду Голомба горизонтальних і, відповідно, вертикальних компонентів в другому інтервалі області горизонтальних і вертикальних компонентів включно з і вище критичної величини, при цьому критична величина дорівнює 2, а експоненціальний код Голомба має порядок 1. Декодер містить ентропійний декодер 409, сконфігурований для одержання ряду інформаційних величин 326 бінаризацій з потоку даних 401 з використанням двійкового ентропійного декодування шляхом вибору контексту серед різних контекстів і оновлення станів ймовірності, зв'язаних з різними контекстами, залежними від попередньо декодованих частин потоку даних 401. Для більшої точності, як описано вище, ентропійний декодер 409 може конфігуруватися для одержання ряду інформаційних величин 326 бінаризацій з потоку даних 401 з використанням двійкового ентропійного декодування, такого як вищезгадана схемаIn particular, Fig. 16 shows a decoder for decoding video data 405 from a data stream 401, in which the horizontal and vertical components of the differences of the motion vectors are encoded using binarizations of the horizontal and vertical components, while the binarizations equalize the truncated unary code of the horizontal and, accordingly, vertical components in the first interval of the region of the horizontal and vertical components below the critical value, and a combination of a prefix in the form of a truncated unary code and a critical value and a suffix in the form of an exponential Golomb code of horizontal and, accordingly, vertical components in the second interval of the area of horizontal and vertical components including and above the critical value, while the critical value is 2, and the exponential Golomb code is of order 1. The decoder includes an entropy decoder 409 configured to obtain a series of binarizations 326 from the data stream 401 using binary entropy decoding by context selection among different contexts and updating the probability states associated with the different contexts depending on the previously decoded portions of the data stream 401. For greater accuracy, as described above, the entropy decoder 409 can be configured to obtain a number of information quantities 326 binarizations from the data stream 401 with using binary entropy decoding such as the above scheme

САВАС, або двійкового РіІРЕ декодування, тобто, використовуючи конструкцію, яка використовує декілька паралельно працюючих ентропійних декодерів 322 разом з відповідним селектором/присвоювачем. Десимволізатор 314 дебінаризує результати бінаризацій бо синтаксичних елементів різниці векторів руху для одержання цілих величин горизонтальних і вертикальних компонентів різниць векторів руху, а реконструктор 404 відновлює відеодані на основі цілих чисел горизонтальних і вертикальних компонентів різниць векторів руху.SAVAS, or binary RiIRE decoding, that is, using a design that uses several entropy decoders 322 working in parallel together with the appropriate selector/assignor. The desymbolizer 314 debinarizes the results of the binarizations of the syntactic elements of the motion vector difference to obtain integer values of the horizontal and vertical components of the motion vector differences, and the reconstructor 404 restores the video data based on the integer values of the horizontal and vertical components of the motion vector differences.

Для детальнішого пояснення цієї процедури, коротке посилання робиться на фіг. 18. Позиція 800 ілюстративно вказує одну різницю векторів руху, тобто, вектора, який представляє залишок прогнозування між прогнозованим вектором руху і реальним/відновленим вектором руху. Також зображені горизонтальні і вертикальні компоненти 802х і 802у. Вони могли б виражатися в положеннях пікселів, тобто, в кроках пікселя, або положеннях субпікселів, таких як половина кроку пікселя або його четверта частина, або подібне. Горизонтальні і вертикальні компоненти 802х, у є цілими величинами. їх область проходить від нуля до нескінченності. Знаком можна оперувати окремо і тут він далі не розглядається. юІншими словами, наведений тут опис фокусується на величині різниць векторів руху 802х, у. Область зображена в позиції 804.For a more detailed explanation of this procedure, brief reference is made to FIG. 18. Position 800 illustrates one difference of the motion vectors, ie, a vector that represents the prediction residual between the predicted motion vector and the real/recovered motion vector. The horizontal and vertical components of the 802x and 802u are also shown. They could be expressed in terms of pixel positions, i.e., in pixel steps, or subpixel positions, such as half a pixel step or a quarter thereof, or the like. The horizontal and vertical components of 802x, y are integer values. their domain extends from zero to infinity. The sign can be operated on separately and is not considered further here. In other words, the description given here focuses on the magnitude of the differences of the motion vectors 802x, y. The area is depicted in position 804.

Справа від осі 804 області Фіг. 19 зображає зв'язані з можливими величинами компонентів 802х, у, розташованими по вертикалі один над іншим, результати бінаризацій, на які перетворюється відповідна можлива величина (бінаризується). Як можна побачити, нижче критичної величини, яка дорівнює 2, знаходиться просто усічений унарний код 806, тоді як результат бінаризації має як суфікс також експоненціальний код Голомба 808 з можливих величин, які дорівнюють або більші за критичну величину, яка дорівнює 2, для продовження бінаризації для решти цілої величини, яка перевищує значення, що дорівнює критичній величині мінус 1. Для усіх цих інформаційних величин надається просто два контексти: один для першого положення інформаційної величини результатів бінаризацій горизонтальних і вертикальних компонентів 802х, у, і додатковий один контекст для другого положення інформаційної величини усіченого унарного коду 806 як горизонтальних, так і вертикальних компонентів 802х, у. Для положення інформаційної величини експоненціального коду Голомба 808, ентропійним декодером 409 використовується рівноймовірний байпасний режим. Тобто, припускається, що обидві інформаційні величини мають однакову ймовірність появи. Оцінка ймовірності для цих інформаційних величин є фіксованою. Порівняно з цим, оцінка ймовірності, зв'язана з тільки що згаданими двома контекстами інформаційних величин усіченого унарного коду 806, неперервно адаптується під час декодування.To the right of the axis 804, the region of FIG. 19 depicts the results of binarizations associated with the possible values of the components 802x, y, located vertically one above the other, into which the corresponding possible value is converted (binarized). As can be seen, below the critical value of 2 is simply a truncated unary code 806, while the binarization result is also suffixed with an exponential Golomb code 808 of possible values equal to or greater than the critical value of 2 to continue the binarization for the rest of the integer quantity that exceeds the value equal to the critical quantity minus 1. For all these information quantities, simply two contexts are provided: one for the first position of the information quantity of the results of the binarizations of the horizontal and vertical components 802x, y, and an additional one context for the second position of the information quantity values of the truncated unary code 806 of both horizontal and vertical components 802x, y. For the position of the information value of the exponential Golomb code 808, the entropy decoder 409 uses the probabilistic bypass mode. That is, it is assumed that both information quantities have the same probability of occurrence. The probability estimate for these information quantities is fixed. Compared to this, the probability estimate associated with the just mentioned two information value contexts of the truncated unary code 806 is continuously adapted during decoding.

Перед детальнішим описом, як ентропійний декодер 409 міг би втілюватися згідно зBefore describing in more detail how the entropy decoder 409 could be embodied in accordance with

Зо вищенаведеним описом для виконання тільки що згаданих завдань, опис тепер фокусується на можливому втіленні реконструктора 404, який використовує різниці векторів руху 800 і їх цілі величини, у тому вигляді, у якому вони одержуються десимволізатором 314 шляхом повторної бінаризації інформаційних величин кодів 106 і 108, яка зображена на Фіг. 18 з використанням стрілки 810. Зокрема, реконструктор 404 може, як описано вище, одержує з потоку даних 401 інформацію, яка стосується під розбиття поточно відновленої картинки на блоки, серед яких принаймні деякі з них піддаються прогнозуванню з компенсацією руху. Фіг. 19 зображає картинку, яка ілюстративно відновлюється в компоненті 820, і блоки тільки що згаданого під розбиття картинки 120, для якої використовується прогнозування з компенсацією руху для прогнозування контенту картинки в блоці 822. Як описано відносно Фіг. 2А-2С, існують різні можливості для підрозбиття і одержання розмірів блоків 122. Для уникнення передачі для різниці векторів руху 800 для кожного з цих блоків 122, реконструктор 404 може використовувати концепцію злиття, згідно з якою потік даних додатково передає інформацію про злиття на додаток до інформації про підрозбиття або, за відсутності інформації про підрозбиття, на додаток до того факту, що підрозбиття є фіксованим. Інформація про злиття сигналізує реконструктору 404 який з блоків 822 формує групи для злиття. Завдяки цьому заходу реконструктор 404 може застосовувати певну різницю векторів руху 800 до усієї групи блоків 822 для злиття. Зазвичай, на кодувальній стороні передача інформації про злиття знаходить компроміс між надлишком передачі інформації про підрозбиття (якщо такий є), надлишком передачі інформації про злиття і надлишком передачі різниці векторів руху, який послаблюється із збільшенням розміру груп для злиття. З іншого боку, зростаюча кількість блоків на групу для злиття зводить адаптацію різницю векторів руху для цієї групи для злиття до реальних потреб в окремих блоках відповідної групи для злиття, таким чином надаючи менш точні прогнози різниць векторів руху цих блоків з компенсацією руху і потребуючи більшого надлишку передачі інформації для передачі залишку прогнозування у формі, наприклад, рівня значущості коефіцієнта перетворення. Відповідно, на кодувальній стороні належним чином знаходять компроміс. Однак, в будь-якому випадку, концепція злиття надає різниці векторів руху для груп для злиття, які проявляють меншу просторову інтеркореляцію. Дивіться, наприклад,With the above description to accomplish the tasks just mentioned, the description now focuses on a possible embodiment of a reconstructor 404 that uses the differences of the motion vectors 800 and their integer values, as they are obtained by the desymbolizer 314 by re-binarizing the information values of the codes 106 and 108, which is shown in Fig. 18 using the arrow 810. In particular, the reconstructor 404 may, as described above, receive from the data stream 401 information related to the division of the currently reconstructed picture into blocks, among which at least some of them are subject to prediction with motion compensation. Fig. 19 depicts a picture that is illustratively reconstructed in component 820 and blocks of the just-mentioned partitioned picture 120 that uses motion-compensated prediction to predict picture content in block 822. As described with respect to FIG. 2A-2C, there are various possibilities for subdividing and resizing the blocks 122. To avoid transmission for the difference of motion vectors 800 for each of these blocks 122, the reconstructor 404 may use a fusion concept whereby the data stream additionally transmits fusion information in addition to subdivision information or, in the absence of subdivision information, in addition to the fact that the subdivision is fixed. The information about the merger signals the reconstructor 404, which from the blocks 822 forms groups for the merger. With this measure, the reconstructor 404 can apply a certain difference of the motion vectors 800 to the entire group of blocks 822 for fusion. Typically, on the coding side, the fusion information transfer finds a trade-off between subdivision information transfer redundancy (if any), fusion information transfer redundancy, and motion vector difference transfer redundancy, which decreases as the size of the fusion groups increases. On the other hand, the increasing number of blocks per fusion group reduces the adaptation of the motion vector difference for that fusion group to the actual needs of the individual blocks of the corresponding fusion group, thus providing less accurate predictions of the motion vector differences of these motion-compensated blocks and requiring more redundancy transfer information to transfer the forecast residual in the form of, for example, the significance level of the transformation coefficient. Accordingly, a compromise is properly found on the coding side. However, in any case, the fusion concept provides motion vector differences for fusion groups that exhibit less spatial intercorrelation. See for example

Фіг. 19, яка показує шляхом затінення приналежність до певної групи для злиття. Очевидно, що реальний рух контенту картинки в цих блоках був таким подібним, що кодувальна сторона бо вирішила об'єднати відповідні блоки. Однак, кореляція з рухом контенту картинки в інших групах для злиття є низькою. Відповідно, обмеження на використання просто одного контексту на інформаційну величину усіченого унарного коду 806 негативно не впливає на ефективність ентропійного кодування, оскільки концепція злиття вже в достатній мірі забезпечує просторову інтеркореляцію між рухом сусідніх контентів картинки. Контекст може просто вибиратися на основі того факту, що інформаційна величина є частиною бінаризації компонента 802х, у різниці векторів руху і на основі положення інформаційної величини, яке є або 1 або 2 завдяки критичній величині, яка дорівнює двом. Відповідно, інші вже декодовані інформаційні величини/синтаксичні елементи/тма компоненти 802х, у не впливають на вибір контексту.Fig. 19, which shows by shading the belonging to a certain group for the merger. It is obvious that the real movement of the content of the picture in these blocks was so similar that the encoding party decided to combine the corresponding blocks. However, the correlation with the motion of the picture content in the other fusion groups is low. Accordingly, the restriction on the use of just one context per information value of the truncated unary code 806 does not negatively affect the efficiency of entropy coding, since the concept of fusion already sufficiently provides spatial intercorrelation between the movement of neighboring picture contents. The context can simply be chosen based on the fact that the information quantity is part of the binarization of the 802x component, in the difference of the motion vectors, and based on the position of the information quantity, which is either 1 or 2 due to a critical value of two. Accordingly, other already decoded information values/syntactic elements/tma components of 802x, y do not affect the choice of context.

Подібним чином, реконструктор 404 може конфігуруватися для зменшення інформаційного контенту, який передається у формі різниць векторів руху додатково (окрім просторового і/або тимчасового прогнозу векторів руху) шляхом використання концепції багатогіпотезного прогнозування, згідно з якою, перш за все, для кожного блока або групи для злиття генерується список предикторів векторів руху з подальшою явною або неявною передачею в потоці даних інформації про індекс предиктора, який на практиці використовується для прогнозування різниці векторів руху. Дивіться, наприклад, незатінений блок 122 на Фіг. 20. Реконструктор 404 може надавати різні предиктори для вектора руху цього блока, як, наприклад, прогнозуючи просторово вектор руху, як, наприклад, зліва, зверху, у формі комбінації попередніх двох напрямів і, таким чином, вперед, і тимчасово прогнозуючи вектор руху з вектора руху близько розташованої частини попередньо декодованої картинки відеозображення, і додаткові комбінації вищезгаданих предикторів. Ці предиктори зберігаються прогнозованим чином реконструктором 404, який передбачається на кодувальній стороні. Деяка інформація передається до цього кінця в потоці даних і використовується реконструктором. Тобто, деякий натяк міститься в потоці даних щодо того, який предиктор з цього упорядкованого списку предикторів слід реально використовувати як предиктор для вектора руху цього блока. Цей індекс може явно передаватися в потоці даних для цього блока. Однак, також можна, щоб індекс спершу прогнозувався, а потім просто передавався його прогноз. Також існують інші можливості. В будь-якому випадку, тільки що згадана схема прогнозування надає можливість дуже точного прогнозування вектора руху поточного блока і, відповідно, послаблюється вимога до інформаційного контенту, яка накладається на різницю векторів руху. Відповідно, обмеженняSimilarly, the reconstructor 404 can be configured to reduce the information content that is transmitted in the form of motion vector differences additionally (besides the spatial and/or temporal prediction of the motion vectors) by using the concept of multi-hypothesis prediction, according to which, first of all, for each block or group for merging, a list of predictors of motion vectors is generated with subsequent explicit or implicit transfer of information about the predictor index in the data stream, which is used in practice to predict the difference of motion vectors. See, for example, the unshaded block 122 in FIG. 20. The reconstructor 404 may provide different predictors for the motion vector of this block, such as spatially predicting the motion vector, such as left, top, in the form of a combination of the previous two directions, and thus forward, and temporally predicting the motion vector from vector of movement located near the part of the pre-decoded picture of the video image, and additional combinations of the above-mentioned predictors. These predictors are stored in a predictive manner by the reconstructor 404, which is assumed on the coding side. Some information is passed to this end in the data stream and used by the reconstructor. That is, some hint is contained in the data stream as to which predictor from this ordered list of predictors should actually be used as the predictor for this block's motion vector. This index may be explicitly passed in the data stream for this block. However, it is also possible for the index to be predicted first, and then simply to transmit its prediction. There are also other possibilities. In any case, the prediction scheme just mentioned provides the possibility of very accurate prediction of the motion vector of the current block and, accordingly, the requirement for information content imposed on the difference of the motion vectors is relaxed. Accordingly, restrictions

Зо адаптивного до контексту ентропійного кодування просто двома інформаційними величинами усіченого унарного коду і зниження критичної величини до 2, як описано відносно фіг. 18, а також вибір порядку експоненціального коду Голомба рівним 1, негативно не впливає на ефективність кодування, оскільки різниці векторів руху мають, завдяки високій ефективності прогнозування, частотну гістограму, згідно з якою більші величини компонентів 802х, у різниці векторів руху рідше використовуються. Навіть відмова від будь-якого розрізнення горизонтальних і вертикальних компонентів узгоджується з ефективним прогнозом, оскільки прогноз має тенденцію рівноцінно гарно використовуватися в обох напрямках з високою точністю. Суттєво відзначити, що у вищенаведеному описі усі деталі, вказані на Фіг. 1-15, також здатні переноситися на об'єкти, зображені на Фіг. 16, такі як, наприклад, настільки, наскільки це стосується функцій десимволізатора 314, реконструктора 404 і ентропійного декодера 409. Тим не менше, для повноти, деякі з цих деталей знову вказуються нижче.From context-adaptive entropy coding, the unary code is simply truncated by two information values and the critical value is reduced to 2, as described in relation to fig. 18, as well as the selection of the order of the Golomb exponential code equal to 1, does not negatively affect the coding efficiency, since the differences of the motion vectors have, due to the high prediction efficiency, a frequency histogram, according to which the larger values of the 802x components in the difference of the motion vectors are less often used. Even abandoning any distinction between horizontal and vertical components is consistent with an effective forecast, since the forecast tends to perform equally well in both directions with high accuracy. It is important to note that in the above description, all the details shown in Fig. 1-15, are also capable of being transferred to the objects depicted in Figs. 16, such as, for example, as far as the functions of desymbolizer 314, reconstructor 404, and entropy decoder 409 are concerned. However, for completeness, some of these details are stated again below.

Для кращого розуміння тільки що описаної схеми прогнозування, дивіться Фіг. 20. Як тільки що описано, конструктор 404 може одержувати різні предиктори для поточного блока 822 або поточної групи блоків для злиття, при цьому ці предиктори зображені векторами 824, зображеними суцільними лініями. Предиктори можуть одержуватися просторовим і/або тимчасовим прогнозуванням, де, додатково, операції арифметичного осереднення або подібне можуть використовуватися так. що окремі предиктори можуть одержуватися реконструктором 404 у такий спосіб, що вони корелюються між собою. Незалежно від способу одержання векторів 826 реконструктор 404 послідовно передає або сортує ці предиктори 126 в упорядкований список. Це вказано цифрами 1-4 на Фіг. 21. Бажано, щоб процес сортування був здатен унікально визначатися так, щоб кодер і декодер могли працювати синхронно. Потім, тільки що згаданий індекс може явно або неявно одержуватися реконструктором 404 для поточного блока або групи для злиття з потоку даних. Наприклад, другий предиктор "2" може вибиратися, а реконструктор 404 додає різницю векторів руху 800 до цього вибраного предиктора 126, таким чином надаючи в решті решт відновлений вектор руху 128, який потім використовується для прогнозування шляхом прогнозування з компенсацією руху контенту поточного блока/групи для злиття. У випадку групи для злиття, повинно бути можливим, щоб реконструктор 404 містив додаткові різниці векторів руху, передбачені для блоків групи для злиття, для подальшої деталізації вектора руху 128 відносно окремих блоків групи для злиття.For a better understanding of the prediction scheme just described, see Fig. 20. As just described, the constructor 404 can obtain different predictors for the current block 822 or the current group of blocks to be merged, with these predictors represented by vectors 824 shown in solid lines. Predictors may be obtained by spatial and/or temporal prediction, where, in addition, arithmetic averaging operations or the like may be used as follows. that individual predictors can be obtained by reconstructor 404 in such a way that they are correlated with each other. Regardless of the method of obtaining the vectors 826, the reconstructor 404 sequentially transmits or sorts these predictors 126 into an ordered list. This is indicated by numbers 1-4 in Fig. 21. Preferably, the sorting process can be uniquely defined so that the encoder and decoder can work synchronously. Then, just mentioned index can be explicitly or implicitly obtained by the reconstructor 404 for the current block or group to be merged from the data stream. For example, a second predictor "2" may be selected, and the reconstructor 404 adds the difference motion vectors 800 to this selected predictor 126, thus providing a final reconstructed motion vector 128, which is then used to predict by motion-compensated prediction the content of the current block/group for merging In the case of a merge group, it should be possible for the reconstructor 404 to include additional motion vector differences provided for the merge group blocks to further refine the motion vector 128 relative to the individual merge group blocks.

Таким чином, продовжуючи далі описувати втілення об'єктів, зображених на Фіг. 16, можна, щоб ентропійний декодер 409 конфігурувався для одержання усіченого унарного коду 806 з потоку даних 401 з використанням бінарного арифметичного декодування або бінарного РІРЕ кодування. Обидві концепції були описані вище. Окрім того, ентропійний декодер 409 може конфігуруватися для використання різних контекстів для двох положень інформаційної величини усіченого унарного коду 806 або, альтернативно, навіть однакового контексту для обох інформаційних величин. Ентропійний декодер 409 міг би конфігуруватися для виконання оновлення стану ймовірності. Ентропійний декодер 409 міг би робити це для інформаційної величини, поточно одержаної з усіченого унарного коду 806, шляхом переходу з поточного стану ймовірності, зв'язаного з контекстом, вибраним для поточно одержаної інформаційної величини, у новий стан ймовірності в залежності від поточно одержаної інформаційної величини. Дивіться вищенаведені таблиці Мехі біаїє І Р5 і Мехі біаїеє МРБ5, таблиця пошуку для яких формується ентропійним декодером на додаток до інших вищеописаних етапів 0-5. У вищенаведеному обговоренні поточний стан ймовірності був позначений як роїаїє ситепі. Він визначається для відповідного контексту, який представляє інтерес. Ентропійний декодер 409 може конфігуруватися для бінарного арифметичного декодування інформаційної величини, яка на даний момент одержується з усіченого унарного коду 806 шляхом дискретизації величини ширини поточного інтервалу ймовірності, тобто, АФ, яка представляє поточний інтервал ймовірності, для одержання індексу 4 |пдех інтервалу ймовірності, і шляхом виконання підрозбиття інтервалу шляхом індексації вхідної величини таблиці серед вхідних величин таблиці з використанням індексу інтервалу ймовірності і індексу стану ймовірності, тобто р віаїє, який, у свою чергу, залежить від поточного стану ймовірності, зв'язаного з контекстом, вибраним для інформаційної величини, яка поточно одержується, для одержання підрозбиття поточного інтервалу ймовірності на два часткові інтервали. У вищеописаних варіантах виконання ці часткові інтервали зв'язувалися з найбільш ймовірним і найменш ймовірним символом. Як описано вище, ентропійний декодер 409 може конфігуруватися для використання восьмибітового представлення для величини АК ширини поточного інтервалу ймовірності з відбором, наприклад, двох або трьох найбільш значущих бітів восьмибітового представлення і дискретизацією величини ширини поточного інтервалу ймовірності. Ентропійний декодер 409Thus, continuing further to describe the embodiment of the objects shown in Fig. 16, the entropy decoder 409 may be configured to obtain a truncated unary code 806 from the data stream 401 using binary arithmetic decoding or binary RIP encoding. Both concepts were described above. In addition, the entropy decoder 409 can be configured to use different contexts for the two information value positions of the truncated unary code 806 or, alternatively, even the same context for both information values. The entropy decoder 409 could be configured to perform a probability state update. Entropy decoder 409 could do this for the information quantity currently obtained from the truncated unary code 806 by transitioning from the current probability state associated with the context selected for the currently obtained information quantity to a new probability state depending on the currently obtained information quantity . See the above tables of Mexibia I P5 and Mexibia MRB5, for which the lookup table is formed by the entropy decoder in addition to the other steps 0-5 described above. In the above discussion, the current state of probability has been labeled as roiaie sitepi. It is defined for the relevant context of interest. The entropy decoder 409 may be configured to binary arithmetically decode the information quantity currently obtained from the truncated unary code 806 by discretizing the width of the current probability interval, i.e., AF, which represents the current probability interval, to obtain the index 4 |pdeh of the probability interval, and by performing interval partitioning by indexing the input value of the table among the input values of the table using the probability interval index and the probability state index, i.e. p viaie, which in turn depends on the current probability state associated with the context selected for the information quantity, which is currently obtained, to obtain a subdivision of the current probability interval into two partial intervals. In the above-described embodiments, these partial intervals were associated with the most probable and least probable symbol. As described above, the entropy decoder 409 can be configured to use an eight-bit representation for the AK value of the current probability interval width by selecting, for example, the two or three most significant bits of the eight-bit representation and sampling the value of the current probability interval width. Entropy decoder 409

Зо може додатково конфігуруватися для вибору серед двох часткових інтервалів на основі величини стану зміщення зсередини поточного інтервалу ймовірності, зокрема У, для оновлення величини АК ширини поточного інтервалу ймовірності і величини стану зміщення, і для виведення значення інформаційної величини, яка поточно одержується, використовуючи вибраний частковий інтервал, і для виконання повторної нормалізації оновленої величини В ширини поточного інтервалу ймовірності і величини М стану зміщення, включаючи продовження зчитування бітів з потоку даних 401. Ентропійний декодер 409 може, наприклад, конфігуруватися для бінарного арифметичного декодування інформаційної величини з експоненціального коду Голомба шляхом поділу навпіл величини ширини поточного інтервалу ймовірності для одержання підрозбиття поточного інтервалу ймовірності на два часткові інтервали. Поділ навпіл відповідає оцінці ймовірності, яка фіксується рівною 0,5. Він може втілюватися простим зміщенням бітів. Ентропійний декодер може додатково конфігуруватися для кожної різниці векторів руху для одержання усіченого унарного коду горизонтальних і вертикальних компонентів відповідної різниці векторів руху з потоку даних 401 перед експоненціальним кодом Голомба горизонтальних і вертикальних компонентів відповідної різниці векторів руху. Завдяки цьому заходу ентропійний декодер 409 може використовувати таку більшу кількість інформаційних величин, які разом формують рядок інформаційних величин, для яких оцінка ймовірності фіксується, зокрема становить 0,5. Це може прискорювати процедуру ентропійного декодування, З іншого боку, ентропійний декодер 409 може надавати перевагу збереженню порядку серед різниць векторів руху шляхом, перш за все, одержання горизонтальних і вертикальних компонентів однієї різниці векторів руху, а потім просто продовженням одержувати горизонтальні і вертикальні компоненти наступної різниці векторів руху. Завдяки цьому заходу вимоги до пам'яті, які накладаються на декодувальний засіб, тобто, декодер з Фіг. 16, послаблюються, оскільки десимволізатор 314 може починати дебінаризацію різниць векторів руху негайно без очікування на перегляд подальших різниць векторів руху. Це дозволяється вибором контексту: оскільки просто саме один контекст доступний на положення інформаційної величини коду 806, просторовий взаємозв'язок не слід перевіряти.Zo can be further configured to select between two partial intervals based on the magnitude of the offset state from within the current probability interval, specifically Y, to update the AK value of the width of the current probability interval and the magnitude of the offset state, and to output the value of the information quantity that is currently obtained using the selected partial interval, and to perform a re-normalization of the updated value B of the width of the current probability interval and the value M of the offset state, including continuing to read bits from the data stream 401. The entropy decoder 409 may, for example, be configured to binary arithmetically decode the information value from the exponential Golomb code by bisection values of the width of the current probability interval to obtain a subdivision of the current probability interval into two partial intervals. Dividing in half corresponds to the probability estimate, which is fixed at 0.5. It can be implemented by a simple shift of bits. The entropy decoder can be further configured for each motion vector difference to obtain a truncated unary code of the horizontal and vertical components of the corresponding motion vector difference from the data stream 401 before the exponential Golomb code of the horizontal and vertical components of the corresponding motion vector difference. Thanks to this measure, the entropy decoder 409 can use such a larger number of information quantities that together form a string of information quantities for which the probability estimate is fixed, in particular, is 0.5. This may speed up the entropy decoding procedure. On the other hand, the entropy decoder 409 may prefer to preserve order among the motion vector differences by first obtaining the horizontal and vertical components of one motion vector difference and then simply continuing to obtain the horizontal and vertical components of the next difference motion vectors. Due to this measure, the memory requirements imposed on the decoding means, i.e., the decoder of FIG. 16, are mitigated because the desymbolizer 314 can begin debinarizing motion vector differences immediately without waiting for further motion vector differences to be viewed. This is allowed by the context selection: since only one context is available per position of the information value of the code 806, the spatial relationship should not be checked.

Реконструктор 404 може, як описано вище, просторово і/або тимчасово прогнозувати горизонтальні і вертикальні компоненти векторів руху для одержання предикторів 126 для горизонтальних і вертикальних компонентів вектора руху і для відновлення горизонтальних і бо вертикальних компонентів векторів руху шляхом деталізації предикторів 826 з використанням горизонтальних і вертикальних компонентів різниць векторів руху, як, наприклад, просто шляхом додавання різниці векторів руху до відповідного предиктора.The reconstructor 404 can, as described above, spatially and/or temporally predict the horizontal and vertical components of the motion vectors to obtain predictors 126 for the horizontal and vertical components of the motion vector and to reconstruct the horizontal and vertical components of the motion vectors by detailing the predictors 826 using the horizontal and vertical components of the motion vector differences, such as simply by adding the motion vector difference to the corresponding predictor.

Окрім того, реконструктор 404 може конфігуруватися для прогнозування горизонтальних і вертикальних компонентів векторів руху різними способами для одержання упорядкованого списку предикторів для горизонтальних і вертикальних компонентів векторів руху, для одержання індексу списку з потоку даних і для відновлення горизонтальних і вертикальних компонентів векторів руху шляхом деталізації предиктора, на який вказує індекс списку предикторів, з використанням горизонтальних і вертикальних компонентів різниць векторів руху.In addition, the reconstructor 404 can be configured to predict the horizontal and vertical components of the motion vectors in various ways to obtain an ordered list of predictors for the horizontal and vertical components of the motion vectors, to obtain the index of the list from the data stream, and to recover the horizontal and vertical components of the motion vectors by parsing the predictor, which is indicated by the index of the list of predictors, using the horizontal and vertical components of the differences of the motion vectors.

Окрім того, як вже було описано вище, реконструктор 404 може конфігуруватися для відновлення відеоданих з використанням прогнозування з компенсацією руху шляхом застосування горизонтальних і вертикальних компонентів 802х, у векторів руху при просторовій гранулярності, визначеній підрозбиттям відеокартинок в блоках, при цьому реконструктор 404 може використовувати синтаксичні елементи, які зливаються, присутні в потоці даних 401, для групування блоків в групи для злиття і для застосування цілих величин горизонтальних і вертикальних компонентів 802х, у різниць векторів руху, одержаних бінаризатором 314, в елементах груп для злиття.Additionally, as described above, reconstructor 404 may be configured to reconstruct video data using motion-compensated prediction by applying horizontal and vertical components 802x to motion vectors at a spatial granularity determined by subdividing video images into blocks, wherein reconstructor 404 may use syntactic merging elements are present in the data stream 401 for grouping the blocks into groups for merging and for applying the integer values of the horizontal and vertical components 802x to the differences of the motion vectors obtained by the binarizer 314 in the elements of the merging groups.

Реконстурктор 404 може одержувати підрозбиття відеокартинок в блоках з частини потоку даних 401, який не включає синтаксичні елементи, які зливаються. Реконструктор 404 може також адаптувати горизонтальні і вертикальні компоненти наперед визначеного вектора руху для усіх блоків відповідної групи для злиття або деталізувати їх горизонтальними і вертикальними компонентами різниць векторів руху, зв'язаних з блоками групи для злиття.Reconstructor 404 can receive a subdivision of video pictures in blocks from a part of the data stream 401 that does not include syntactic elements that are merged. The reconstructor 404 may also adapt the horizontal and vertical components of the predetermined motion vector for all blocks of the corresponding fusion group or detail them with the horizontal and vertical components of the differences of the motion vectors associated with the blocks of the fusion group.

Тільки для повноти, Фіг. 17 зображає кодер, який підключається до декодера з Фіг. 16. Кодер з Фіг. 17 містить конструктор 504, символізатор 507 і ентропійний кодер 513. Кодер містить конструктор 504, сконфігурований для прогнозованого кодування відеоданих 505 шляхом прогнозування з компенсацією руху, яке використовує вектори руху, і шляхом прогнозувального кодування векторів руху шляхом прогнозування векторів руху, і шляхом визначення цілих величин 506 горизонтальних і вертикальних компонентів різниць векторів руху для представлення похибки прогнозування спрогнозованих векторів руху; символізатор 507, сконфігурований для бінаризації цілих величин для одержання результатів бінаризацій 508For completeness only, Fig. 17 shows an encoder that connects to the decoder of FIG. 16. The encoder from Fig. 17 includes a constructor 504, a symbolizer 507, and an entropy encoder 513. The encoder includes a constructor 504 configured to predictively encode video data 505 by motion-compensated prediction that uses motion vectors, and by predictive motion coding by predicting motion vectors, and by determining integers 506 horizontal and vertical components of motion vector differences to represent the prediction error of the predicted motion vectors; symbolizer 507 configured to binarize integers to obtain the results of binarizations 508

Зо горизонтальних і вертикальних компонентів різниць векторів руху, при цьому результати бінаризацій зрівнюють усічений унарний код горизонтальних і вертикальних компонентів, відповідно, в першому інтервалі області горизонтальних і вертикальних компонентів нижче критичної величини, і комбінацію префікса у формі усіченого унарного коду для критичної величини і суфікса у формі експоненціального коду Голомба горизонтальних і вертикальних компонентів, відповідно, в другому інтервалі області горизонтальних і вертикальних компонентів включно і з перевищенням критичної величини, де критична величина дорівнює двійці, а експоненціальний код Голомба має порядок одиниця; і ентропійний кодер 513, сконфігурований для кодування для горизонтальних і вертикальних компонентів різниць векторів руху усіченого унарного коду з одержанням потоку даних з використанням адаптивного до контексту бінарного ентропійного кодування виключно з одним контекстом на положення інформаційної величини усіченого унарного коду, який є спільним для горизонтальних і вертикальних компонентів різниць векторів руху, і експоненціального коду Голомба з використанням сталого рівноймовірного байпасного режиму. Подальші деталі можливого втілення безпосередньо переносяться з опису, який стосується декодера з Фіг. 16, до кодера з Фіг. 17.From the horizontal and vertical components of the differences of the motion vectors, while the binarization results equalize the truncated unary code of the horizontal and vertical components, respectively, in the first interval of the region of the horizontal and vertical components below the critical value, and the combination of the prefix in the form of the truncated unary code for the critical value and the suffix in in the form of the exponential Golomb code of horizontal and vertical components, respectively, in the second interval of the area of horizontal and vertical components, including exceeding the critical value, where the critical value is equal to two, and the exponential Golomb code has the order of one; and an entropy encoder 513 configured to encode for the horizontal and vertical difference components of the motion vectors of the truncated unary code with the resulting data stream using context-adaptive binary entropy coding with only one context per position information value of the truncated unary code common to the horizontal and vertical components of the differences of the motion vectors, and the exponential Golomb code using a stable equiprobable bypass mode. Further details of a possible embodiment are directly carried over from the description relating to the decoder of FIG. 16, to the encoder from Fig. 17.

Хоча деякі аспекти були описані в контексті пристрою, зрозуміло, що ці аспекти також представляють опис відповідного способу, де блок або пристрій відповідає етапу способу або ознаці етапу способу. Аналогічно, аспекти, описані в контексті етапу способу, також представляють опис відповідного блока або вузла, або ознаки відповідного пристрою. Деякі або усі етапи способу можуть виконуватися за допомогою (або використанням) апаратних засобів, як, наприклад, мікропроцесора, програмованого комп'ютера або електронної схеми. В деяких варіантах виконання деякі або більша кількість найбільш важливих етапів способу можуть виконуватися таким пристроєм.Although some aspects have been described in the context of a device, it is understood that these aspects also represent a description of a corresponding method, where the block or device corresponds to a step of the method or a feature of the step of the method. Similarly, aspects described in the context of a method step also represent a description of a corresponding block or node, or feature of a corresponding device. Some or all of the steps of the method may be performed with (or using) hardware, such as a microprocessor, programmable computer, or electronic circuitry. In some embodiments, some or more of the most important steps of the method can be performed by such a device.

Кодований сигнал винаходу може зберігатися в середовищі для збереження цифрової інформації або може передаватися в передавальне середовище, таке як середовище безпровідної передачі даних або проводове передавальне середовище, таке як Інтернет.The coded signal of the invention may be stored in a digital storage medium or may be transmitted in a transmission medium such as a wireless data transmission medium or a wired transmission medium such as the Internet.

В залежності від певних вимог для втілення, варіанти виконання винаходу можуть втілюватися в апаратних або в програмних засобах. Втілення може здійснюватися з використанням середовища для зберігання цифрової інформації, наприклад дискети, ОМО,Depending on certain requirements for implementation, variants of the invention can be embodied in hardware or in software. The embodiment can be carried out using a medium for storing digital information, for example, diskettes, OMO,

Віне-Вау, СО, ВОМ, РВОМ, ЕРВОМ, ЕЕРВКОМ або ФЛЕШ-пам'яті, які зберігають в собі бо електронно зчитувані керувальні сигнали, які взаємодіють (або здатні взаємодіяти) з програмованою комп'ютерною системою так, що виконується відповідний спосіб. Тому, дані з середовища для зберігання цифрової інформації можуть зчитуватися комп'ютером.Vine-Wau, SO, PTO, RVOM, ERVOM, EERVKOM or FLASH memories that store electronically readable control signals that interact (or are capable of interacting) with a programmable computer system so that a suitable method is executed. Therefore, data from the medium for storing digital information can be read by a computer.

Деякі варіанти виконання згідно з винаходом містять носій даних, який містить електронно зчитувані керувальні сигнали, які здатні взаємодіяти з програмованою комп'ютерною системою так, що виконується один з описаних тут способів.Some embodiments of the invention include a data carrier that contains electronically readable control signals that are capable of interacting with a programmable computer system in one of the ways described herein.

Загалом, варіанти виконання представленого винаходу можуть втілюватися як комп'ютерна програма з програмним кодом, який активується для виконання одного із способів, коли вона виконується на комп'ютері, Програмний код може, наприклад, зберігатися на зчитуваному машиною носії.In general, embodiments of the present invention may be embodied as a computer program with program code that is activated to perform one of the methods when it is executed on a computer. The program code may, for example, be stored on a machine-readable medium.

Інші варіанти виконання включають комп'ютерну програму для виконання одного з описаних тут способів, яка зберігається на здатному до читання машиною носії.Other embodiments include a computer program for performing one of the methods described herein, which is stored on a machine-readable medium.

Іншими словами, варіант виконання способу винаходу є, тому, комп'ютерною програмою, яка має програмний код для виконання одного з описаних тут способів, коли вона виконується на комп'ютері.In other words, an embodiment of the method of the invention is, therefore, a computer program that has program code to perform one of the methods described herein when executed on a computer.

Подальшим варіантом виконання винаходу є, тому, носій даних (або середовище для зберігання цифрової інформації або здатне до читання комп'ютером середовище), який містить записану на собі комп'ютерну програму для виконання одного з описаних тут способів. Носій даних, середовище для зберігання цифрової інформації або середовище із записаною інформацією типово є матеріальними і/або неперехідними.A further embodiment of the invention is, therefore, a data carrier (or a medium for storing digital information or a computer-readable medium) that contains a computer program recorded on it to perform one of the methods described here. A data carrier, digital information storage medium, or recording medium is typically tangible and/or non-transitory.

Подальший варіант виконання винаходу є, тому, потоком даних або послідовністю сигналів, які представляють комп'ютерну програму для виконання одного з описаних тут способів. Потік даних або послідовність сигналів може, наприклад, конфігуруватися для передачі за допомогою з'єднання зв'язку, наприклад по Інтернету.A further embodiment of the invention is, therefore, a stream of data or a sequence of signals that represent a computer program for performing one of the methods described here. A stream of data or a sequence of signals can, for example, be configured to be transmitted using a communication connection, such as the Internet.

Подальший варіант виконання включає засіб обробки, наприклад комп'ютер, або програмований логічний пристрій, сконфігурований або адаптований для виконання одного з описаних тут способів.A further embodiment includes a processing device, such as a computer or programmable logic device, configured or adapted to perform one of the methods described herein.

Подальший варіант виконання включає комп'ютер, який має встановлену на ньому комп'ютерну програму для виконання одного з описаних тут способів.A further embodiment includes a computer having a computer program installed on it to perform one of the methods described herein.

Подальший варіант виконання згідно з винаходом включає пристрій або систему,A further embodiment according to the invention includes a device or system,

Зо сконфігуровану для передачі (наприклад, електронно або оптично) комп'ютерної програми для виконання одного з описаних тут способів до приймача. Приймач може, наприклад, бути комп'ютером, мобільним пристроєм, запам'ятовуючим пристроєм або подібним. Пристрій або система може, наприклад, включати файловий сервер для передачі комп'ютерної програми до приймача.From configured to transmit (eg, electronically or optically) a computer program to perform one of the methods described herein to a receiver. The receiver can be, for example, a computer, a mobile device, a storage device or the like. The device or system may, for example, include a file server for transferring the computer program to the receiver.

В деяких варіантах виконання програмований логічний пристрій (наприклад, здатні до перепрограмування користувачем компоненти масиву) може використовуватися для виконання деяких або усіх функцій описаних тут способів. В деяких варіантах виконання здатні до перепрограмування користувачем компоненти масиву можуть взаємодіяти з мікропроцесором для виконання одного з описаних тут способів. Загалом, способи переважно виконуються будь- яким апаратним засобом.In some embodiments, a programmable logic device (eg, user-reprogrammable array components) may be used to perform some or all of the functions of the methods described herein. In some embodiments, user-reprogrammable array components may interact with a microprocessor to perform one of the methods described herein. In general, the methods are preferably performed by any hardware.

Вищеописані варіанти виконання є просто ілюстрацією принципів представленого винаходу.The above-described embodiments are merely illustrative of the principles of the present invention.

Зрозуміло, що модифікації і варіанти описаних тут схем і деталей стануть очевидними для фахівців у цій галузі. Тому, наміром є обмеження об'єму правового захисту тільки наступною формулою винаходу, а не спеціальними деталями, представленими у вигляді опису і пояснення варіантів виконання.It is clear that modifications and variations of the schemes and details described here will become apparent to those skilled in the art. Therefore, the intention is to limit the scope of legal protection only by the following claims, and not by special details, presented in the form of a description and explanation of implementation options.

Claims (1)

ФОРМУЛА ВИНАХОДУFORMULA OF THE INVENTION 1. Декодер для декодування відеоданих з потоку даних, у якому закодовані різниці векторів руху з використанням бінаризацій різниць векторів руху, які зрівнюють усічений унарний код в першому інтервалі області різниць векторів руху нижче критичної величини, і комбінацію префікса у формі усіченого унарного коду для критичної величини і суфікса у формі експоненціального коду Голомба в другому інтервалі області різниць векторів руху включно і з перевищенням критичної величини, при цьому критична величина дорівнює двійці, а експоненціальний код Голомба має порядок одиниця, при цьому декодер містить ентропійний декодер, сконфігурований для одержання усіченого унарного коду з потоку даних з використанням адаптивного до контексту бінарного ентропійного декодування з точно одним контекстом на положення інформаційної величини усіченого унарного коду, експоненціального коду Голомба з використанням сталого рівноймовірного байпасного режиму для одержання бо бінаризацій різниць векторів руху; 5О0 десимволізатор, сконфігурований для дебінаризації результатів бінаризацій різниць векторів руху для одержання цілих величин різниць векторів руху; реконструктор, сконфігурований для відновлення відеоданих на основі цілих величин різниць векторів руху.1. A decoder for decoding video data from a data stream, in which motion vector differences are encoded using motion vector difference binarizations that equate a truncated unary code in the first interval of the motion vector difference region below a critical value, and a combination of a prefix in the form of a truncated unary code for the critical value and a suffix in the form of an exponential Golomb code in the second interval of the motion vector difference region, including exceeding a critical value, while the critical value is two, and the exponential Golomb code has an order of one, and the decoder includes an entropy decoder configured to obtain a truncated unary code with data stream using context-adaptive binary entropy decoding with exactly one context per position of the information value of the truncated unary code, the exponential Golomb code using the stable equiprobable bypass mode for obtaining binarizations of the differences of motion vectors; 5О0 desymbolizer, configured for debinarization of the results of binarizations of differences of motion vectors to obtain integer values of differences of motion vectors; a reconstructor configured to reconstruct video data based on integer differences of motion vectors. 2. Декодер за п. 1, який відрізняється тим, що ентропійний декодер (409) сконфігурований для одержання усіченого унарного коду (806) з потоку даних (401) з використанням бінарного арифметичного декодування або бінарного ентропійного декодування з розбиттям інтервалу ймовірності.2. Decoder according to claim 1, characterized in that the entropy decoder (409) is configured to obtain a truncated unary code (806) from the data stream (401) using binary arithmetic decoding or binary entropy decoding with partitioning of the probability interval. З. Декодер за п. 1 або п. 2, який відрізняється тим, що ентропійний декодер (409) сконфігурований для використання різних контекстів для двох положень інформаційної величини усіченого унарного коду 806.Q. The decoder of claim 1 or claim 2, wherein the entropy decoder (409) is configured to use different contexts for the two information value positions of the truncated unary code 806. 4. Декодер за будь-яким із пп. 1-3, який відрізняється тим, що ентропійний декодер (409) сконфігурований для виконання оновлення стану ймовірності для інформаційної величини, поточно одержаної з усіченого унарного коду (806), шляхом переходу з поточного стану ймовірності, зв'язаного з контекстом, вибраним для поточно одержаної інформаційної величини, до нового стану ймовірності залежно від поточно одержаної інформаційної величини.4. A decoder according to any one of claims 1-3, characterized in that the entropy decoder (409) is configured to perform an update of the probability state for the information quantity currently obtained from the truncated unary code (806) by transitioning from the current probability state, associated with the context selected for the currently received information quantity to a new probability state depending on the currently received information quantity. 5. Декодер за будь-яким із пп. 1-4, який відрізняється тим, що ентропійний декодер (409) сконфігурований для бінарного арифметичного декодування інформаційної величини, поточно одержаної з усіченого унарного коду (806), шляхом дискретизації величини ширини поточного інтервалу ймовірності, яка представляє поточний інтервал ймовірності, для одержання індексу інтервалу ймовірності і шляхом виконання підрозбиття інтервалу шляхом індексації вхідної величини таблиці серед вхідних величин таблиці з використанням індексу інтервалу ймовірності і індексу стану ймовірності залежно від поточного стану ймовірності, зв'язаного з контекстом, вибраним для поточно одержаної інформаційної величини, для одержання підрозбиття поточного інтервалу ймовірності на два часткові інтервали.5. A decoder according to any one of claims 1-4, characterized in that the entropy decoder (409) is configured to binary arithmetically decode the information value currently obtained from the truncated unary code (806) by discretizing the value of the width of the current probability interval, which represents the current probability interval, to obtain the probability interval index and by performing a subdivision of the interval by indexing the table input value among the table input values using the probability interval index and the probability state index depending on the current probability state associated with the context selected for the currently received information values, to obtain a subdivision of the current probability interval into two partial intervals. 6. Декодер за п. 5, який відрізняється тим, що ентропійний декодер (409) сконфігурований для використання 8-бітового представлення для величини ширини поточного інтервалу ймовірності і для одержання 2 або 3 найбільш значущих бітів 8-бітового представлення при дискретизації величини ширини поточного інтервалу ймовірності. Зо 7. Декодер за п. 5 або п. б, який відрізняється тим, що ентропійний декодер (409) сконфігурований для вибору серед двох часткових інтервалів на основі величини стану зміщення зсередини поточного інтервалу ймовірності, для оновлення величини ширини інтервалу ймовірності і величини стану зміщення, і для виведення величини поточно одержаної інформаційної величини, використовуючи вибраний частковий інтервал, і для виконання повторної нормалізації оновленої величини ширини інтервалу ймовірності і величини стану зміщення, включаючи продовження зчитування бітів з потоку даних (401).6. The decoder of claim 5, wherein the entropy decoder (409) is configured to use an 8-bit representation for the width of the current probability interval and to obtain the 2 or 3 most significant bits of the 8-bit representation when sampling the width of the current probability interval . 7. Decoder according to claim 5 or point b, characterized in that the entropy decoder (409) is configured to select between two partial intervals based on the magnitude of the offset state from within the current probability interval, to update the value of the width of the probability interval and the magnitude of the offset state, and to output the value of the currently received information value using the selected partial interval, and to perform re-normalization of the updated value of the width of the probability interval and the value of the offset state, including continuing to read bits from the data stream (401). 8. Декодер за будь-яким із пп. 5-7, який відрізняється тим, що ентропійний декодер (409) сконфігурований в сталому рівноймовірному байпасному режимі для бінарного арифметичного декодування інформаційної величини з експоненціального коду Голомба шляхом поділу навпіл величини ширини поточного інтервалу ймовірності для одержання підрозбиття поточного інтервалу ймовірності на два часткові інтервали.8. A decoder according to any one of claims 5-7, characterized in that the entropy decoder (409) is configured in a permanent, equal-probability bypass mode for binary arithmetic decoding of an information quantity from an exponential Golomb code by halving the width of the current probability interval to obtain a subdivision of the current probability interval into two partial intervals. 9. Декодер за будь-яким із пп. 1-8, який відрізняється тим, що ентропійний декодер (409) сконфігурований для одержання для кожної різниці векторів руху усіченого унарного коду відповідної різниці векторів руху з потоку даних перед експоненціальним кодом Голомба відповідної різниці векторів руху.9. The decoder according to any one of claims 1-8, characterized in that the entropy decoder (409) is configured to obtain for each difference of motion vectors of the truncated unary code the corresponding difference of motion vectors from the data stream before the exponential Golomb code the corresponding difference of motion vectors. 10. Декодер за будь-яким із пп. 1-9, який відрізняється тим, що реконструктор сконфігурований для просторового і/або тимчасового прогнозування векторів руху для одержання предикторів для векторів руху і для відновлення векторів руху шляхом деталізації предикторів з використанням різниць векторів руху.10. Decoder according to any one of claims 1-9, characterized in that the reconstructor is configured for spatial and/or temporal prediction of motion vectors to obtain predictors for motion vectors and to restore motion vectors by detailing the predictors using differences of motion vectors. 11. Декодер за будь-яким із пп. 1-10, який відрізняється тим, що реконструктор сконфігурований для прогнозування векторів руху різними способами для одержання упорядкованого списку предикторів для векторів руху, для одержання індексу списку з потоку даних і для відновлення векторів руху шляхом деталізації предиктора списку предикторів, на який вказує індекс списку, з використанням різниць векторів руху.11. Decoder according to any one of claims 1-10, characterized in that the reconstructor is configured to predict the motion vectors in various ways to obtain an ordered list of predictors for the motion vectors, to obtain an index of the list from the data stream, and to recover the motion vectors by parsing the predictor of the list of predictors pointed to by the index of the list, using the differences of motion vectors. 12. Декодер за п. 10 або п. 11, який відрізняється тим, що реконструктор сконфігурований для відновлення відеоданих з використанням прогнозування з компенсацією руху шляхом застосування векторів руху.12. Decoder according to claim 10 or claim 11, characterized in that the reconstructor is configured to restore the video data using prediction with motion compensation by applying motion vectors. 13. Декодер за п. 12, який відрізняється тим, що реконструктор сконфігурований для відновлення відеоданих з використанням прогнозування з компенсацією руху шляхом бо застосування векторів руху при просторовій гранулярності, визначеній підрозбиттям відеокартинок на блоки, при цьому реконструктор виконаний з можливістю використання синтаксичних елементів, які зливаються і присутні в потоці даних, для групування блоків в групи для злиття і для застосування цілих величин різниць векторів руху, одержаних десимволізатором, в елементах груп для злиття.13. Decoder according to claim 12, characterized in that the reconstructor is configured to restore video data using prediction with motion compensation by applying motion vectors at a spatial granularity determined by subdividing video images into blocks, while the reconstructor is configured to use syntactic elements that merge and are present in the data stream to group blocks into groups for merging and to apply integer values of the differences of the motion vectors obtained by the desymbolizer in the elements of groups for merging. 14. Декодер за п. 13, який відрізняється тим, що реконструктор сконфігурований для одержання підрозбиття відеокартинок в блоках з частини потоку даних з виключенням синтаксичних елементів, які зливаються.14. The decoder according to claim 13, which is characterized in that the reconstructor is configured to obtain a subdivision of video pictures in blocks from part of the data stream excluding syntactic elements that are merged. 15. Декодер за п. 13 або п. 14, який відрізняється тим, що реконструктор сконфігурований для прийняття наперед визначеного вектора руху для усіх блоків відповідної групи для злиття або для деталізації їх різницями векторів руху, зв'язаних з блоками групи для злиття.15. Decoder according to claim 13 or claim 14, characterized in that the reconstructor is configured to accept a predetermined motion vector for all blocks of the corresponding group for fusion or to detail them by differences of motion vectors associated with the blocks of the group for fusion. 16. Декодер за п. 1, який відрізняється тим, що потік даних має кодовану в нього карту глибин.16. Decoder according to claim 1, which differs in that the data stream has a depth map encoded in it. 17. Кодер для кодування відеоданих з одержанням потоку даних, який містить конструтор, сконфігурований для прогнозованого кодування відеоданих за допомогою прогнозування з компенсацією руху з використанням векторів руху і шляхом прогнозованого кодування векторів руху шляхом прогнозування векторів руху і шляхом визначення цілих величин різниць векторів руху для представлення похибки прогнозування спрогнозованих векторів руху; символізатор, сконфігурований для бінаризації цілих величин для одержання результатів бінаризацій різниць векторів руху, при цьому бінаризації зрівноважують усічений унарний код різниць векторів руху в першому інтервалі області різниць векторів руху нижче критичної величини, і комбінацію префікса у формі усіченого унарного коду для критичної величини і суфікса у формі експоненціального коду Голомба різниць векторів руху в другому інтервалі області різниць векторів руху включно і з перевищенням критичної величини, при цьому критична величина дорівнює двійці, а експоненціальний код Голомба має порядок одиниця; і ентропійний кодер, сконфігурований для кодування усіченого унарного коду з одержанням потоку даних з використанням адаптивного до контексту бінарного ентропійного кодування з точно одним контекстом на положення інформаційної величини усіченого унарного коду, експоненціального коду Голомба з використанням сталого рівноймовірного байпасного режиму.17. An encoder for encoding video data with receiving a data stream, which includes a constructor configured to predictively encode video data by motion-compensated prediction using motion vectors and by predictive motion vector coding by predicting motion vectors and by determining integer differences of motion vectors for representation forecasting errors of predicted motion vectors; a symbolizer configured to binarize integers to obtain the results of motion vector difference binarizations, wherein the binarization equates the truncated unary code of the motion vector differences in the first interval of the motion vector difference region below the critical value, and a combination of a prefix in the form of a truncated unary code for the critical value and a suffix in in the form of the exponential Golomb code of the differences of the motion vectors in the second interval of the area of the differences of the motion vectors, including when the critical value is exceeded, while the critical value is equal to two, and the exponential Golomb code has the order of one; and an entropy encoder configured to encode the truncated unary code with the resulting data stream using context-adaptive binary entropy coding with exactly one context per information value position of the truncated unary code, an exponential Golomb code using a constant probabilistic bypass mode. 18. Кодер за п. 17, який відрізняється тим, що ентропійний кодер сконфігурований для кодування усіченого унарного коду з одержанням потоку даних з використанням арифметичного Зо кодування або бінарного ентропійного кодування з розбиттям інтервалу ймовірності.18. The coder according to claim 17, characterized in that the entropy coder is configured to encode the truncated unary code to obtain the data stream using arithmetic Zo coding or binary entropy coding with partitioning of the probability interval. 19. Кодер за п. 17 або п. 18, який відрізняється тим, що ентропійний кодер сконфігурований для використання різних контекстів для двох положень інформаційної величини усіченого унарного коду.19. Encoder according to claim 17 or claim 18, characterized in that the entropy encoder is configured to use different contexts for the two positions of the information value of the truncated unary code. 20. Кодер за будь-яким із пп. 17-19, який відрізняється тим, що ентропійний кодер сконфігурований для виконання оновлення стану ймовірності для інформаційної величини, поточно кодованої з усіченого унарного коду, шляхом переходу з поточного стану ймовірності, зв'язаного з контекстом, вибраним для інформаційної величини, яка поточно кодується, в новий стан ймовірності залежно від інформаційної величини, яка поточно кодується.20. The encoder of any one of claims 17-19, wherein the entropy encoder is configured to perform an update of the probability state for the information quantity currently encoded from the truncated unary code by transitioning from the current probability state associated with the context, selected for the information quantity that is currently being encoded into a new probability state depending on the information quantity that is currently being encoded. 21. Кодер за будь-яким із пп. 17-20, який відрізняється тим, що ентропійний кодер сконфігурований для бінарного арифметичного кодування інформаційної величини, яка поточно кодується з усіченого унарного коду, шляхом дискретизації величини ширини поточного інтервалу ймовірності, яка представляє поточний інтервал ймовірності, для одержання індексу інтервалу ймовірності і шляхом виконання під розбиття інтервалу шляхом індексації вхідної величини таблиці серед вхідних величин таблиці з використанням індексу інтервалу ймовірності і індексу стану ймовірності залежно від поточного стану ймовірності, зв'язаного з контекстом, вибраним для інформаційної величини, яка поточно кодується, для одержання підрозбиття поточного інтервалу ймовірності на два часткові інтервали.21. An encoder according to any one of claims 17-20, characterized in that the entropy encoder is configured to binary arithmetically encode the information quantity that is currently encoded from the truncated unary code by discretizing an amount of the width of the current probability interval that represents the current probability interval, to obtain the probability interval index and by performing interval partitioning by indexing the table input value among the table input values using the probability interval index and the probability state index depending on the current probability state associated with the context selected for the information value currently being encoded, to obtain a subdivision of the current probability interval into two partial intervals. 22. Кодер за п. 21, який відрізняється тим, що ентропійний кодер сконфігурований для використання 8-бітового представлення для величини ширини поточного інтервалу ймовірності і для одержання 2 або 3 найбільш значущих бітів 8-бітового представлення при дискретизації величини ширини поточного інтервалу ймовірності.22. The encoder of claim 21, wherein the entropy encoder is configured to use an 8-bit representation for the width of the current probability interval and to obtain the 2 or 3 most significant bits of the 8-bit representation when sampling the width of the current probability interval. 23. Кодер за п. 21, який відрізняється тим, що ентропійний кодер сконфігурований для вибору серед двох часткових інтервалів на основі цілої величини інформаційної величини, яка поточно кодується, для оновлення величини ширини інтервалу ймовірності і зміщення інтервалу ймовірності з використанням вибраного часткового інтервалу і для виконання повторної нормалізації величини ширини інтервалу ймовірності і зміщення інтервалу ймовірності, включаючи продовження запису бітів в потік даних.23. The encoder of claim 21, wherein the entropy encoder is configured to select between two partial intervals based on an integer value of the information quantity currently being encoded, to update the width of the probability interval and to shift the probability interval using the selected partial interval and to perform re-normalization of the value of the width of the probability interval and the displacement of the probability interval, including the continuation of writing bits to the data stream. 24. Кодер за п. 21, який відрізняється тим, що ентропійний кодер сконфігурований для бінарного арифметичного кодування інформаційної величини з експоненціального коду24. The encoder according to claim 21, which is characterized in that the entropy encoder is configured for binary arithmetic encoding of the information value from the exponential code Голомба шляхом поділу навпіл величини ширини поточного інтервалу ймовірності для одержання підрозбиття поточного інтервалу ймовірності на два часткові інтервали.Golomb by halving the width of the current probability interval to obtain a subdivision of the current probability interval into two partial intervals. 25. Кодер за будь-яким із пп. 17-24, який відрізняється тим, що ентропійний кодер сконфігурований для кодування для кожної різниці векторів руху усіченого унарного коду відповідної різниці вектора руху з одержанням потоку даних перед експоненціальним кодом Голомба відповідної різниці векторів руху.25. An encoder according to any one of claims 17-24, characterized in that the entropy encoder is configured to encode for each motion vector difference a truncated unary code of the corresponding motion vector difference, obtaining a data stream before the exponential Golomb code of the corresponding motion vector difference. 26. Кодер за будь-яким із пп. 17-25, який відрізняється тим, що конструктор сконфігурований для просторового і/або тимчасового прогнозування векторів руху для одержання предикторів для векторів руху і для визначення різниць векторів руху для деталізації предикторів стосовно векторів руху.26. An encoder according to any one of claims 17-25, characterized in that the constructor is configured to spatially and/or temporally predict motion vectors to obtain predictors for motion vectors and to determine motion vector differences to detail predictors with respect to motion vectors. 27. Кодер за будь-яким із пп. 17-26, який відрізняється тим, що конструктор сконфігурований для прогнозування векторів руху різними способами для одержання упорядкованого списку предикторів для векторів руху, для визначення індексу списку і для введення інформації, яка вказує його, в потік даних, і для визначення різниць векторів руху для деталізації предиктора, на який вказує індекс списку предикторів, стосовно векторів руху.27. An encoder according to any one of claims 17-26, characterized in that the constructor is configured to predict the motion vectors in various ways to obtain an ordered list of predictors for the motion vectors, to determine the index of the list, and to inject information indicating it into the stream data, and to determine the differences of the motion vectors to detail the predictor pointed to by the index of the predictor list with respect to the motion vectors. 28. Кодер за будь-яким із пп. 17-27, який відрізняється тим, що конструктор сконфігурований для кодування відеоданих з використанням прогнозування з компенсацією руху шляхом застосування векторів руху при просторовій гранулярності, визначеній підрозбиттям відеокартинок на блоки, при цьому конструктор виконаний з можливістю визначення і введення в потік даних синтаксичних елементів, які зливаються, для групування блоків в групи для злиття і для застосування цілих величин різниць векторів руху, підданих бінаризації за допомогою символізатора, в елементах груп для злиття.28. An encoder according to any one of claims 17-27, characterized in that the constructor is configured to encode video data using prediction with motion compensation by applying motion vectors at a spatial granularity determined by subdividing video images into blocks, while the constructor is configured to determine and entering into the data stream syntactic elements to be merged to group the blocks into groups for merging and to apply integer differences of motion vectors subjected to binarization using the symbolizer in the elements of the groups for merging. 29. Кодер за п. 28, який відрізняється тим, що конструктор сконфігурований для кодування підрозбиття відеокартинок в блоках в частині потоку даних з виключенням синтаксичних елементів, які зливаються.29. Encoder according to claim 28, which is characterized in that the constructor is configured to encode the subdivision of video pictures in blocks in part of the data stream with the exception of syntactic elements that merge. 30. Кодер за п. 29, який відрізняється тим, що конструктор сконфігурований для прийняття наперед визначеного вектора руху для усіх блоків відповідної групи для злиття або для деталізації їх різницями векторів руху, зв'язаних з блоками групи для злиття.30. Encoder according to claim 29, characterized in that the constructor is configured to accept a predetermined motion vector for all blocks of the corresponding group for fusion or to detail them by differences of motion vectors associated with blocks of the group for fusion. 31. Кодер за п. 17, який відрізняється тим, що потік даних має кодовану в нього карту глибин. Зо 32. Спосіб декодування відеоданих з потоку даних, у який кодуються різниці векторів руху, з використанням бінаризацій різниць векторів руху, при цьому бінаризації зрівнюють усічений унарний код різниць векторів руху в першому інтервалі області різниць векторів руху нижче критичної величини, і комбінацію префікса у формі усіченого унарного коду для критичної величини і суфікса у формі експоненціального коду Голомба різниць векторів руху в другому інтервалі області різниць векторів руху включно і з перевищенням критичної величини, при цьому критична величина дорівнює двійці, а експоненціальний код Голомба має порядок одиниця, у якому одержують усічений унарний код з потоку даних з використанням адаптивного до контексту бінарного ентропійного декодування з точно одним контекстом на положення інформаційної величини усіченого унарного коду, експоненціального коду Голомба з використанням сталого рівноймовірного байпасного режиму для одержання результатів бінаризацій різниць векторів руху; дебінаризують результати бінаризацій різниць векторів руху для одержання цілих величин різниць векторів руху; відновлюють відеодані на основі цілих величин різниць векторів руху.31. An encoder according to claim 17, characterized in that the data stream has a depth map encoded therein. Zo 32. A method of decoding video data from a data stream in which the differences of motion vectors are encoded, using binarizations of the differences of motion vectors, while the binarization equates the truncated unary code of the differences of motion vectors in the first interval of the area of the differences of motion vectors below the critical value, and a prefix combination in the form of the truncated unary code for the critical value and a suffix in the form of the exponential Golomb code of the differences of the motion vectors in the second interval of the area of the differences of the motion vectors including exceeding the critical value, while the critical value is equal to two, and the exponential Golomb code has the order of one, in which the truncated unary code is obtained a code from a data stream using context-adaptive binary entropy decoding with exactly one context per information value position of a truncated unary code, an exponential Golomb code using a stable equiprobable bypass mode to obtain the results of binarizations of motion vector differences; debinarize the results of the binarization of the differences of the motion vectors to obtain integer values of the differences of the motion vectors; restore video data based on the integer values of the differences of motion vectors. 33. Спосіб кодування відеоданих з одержанням потоку даних, у якому прогнозовано кодують відеодані за допомогою прогнозування з компенсацією руху з використанням векторів руху і шляхом прогнозованого кодування векторів руху шляхом прогнозування векторів руху, і шляхом визначення цілих величин різниць векторів руху для представлення похибки прогнозування спрогнозованих векторів руху; бінаризують цілі величини для одержання результатів бінаризацій різниць векторів руху, при цьому бінаризації зрівнюють усічений унарний код різниць векторів руху в першому інтервалі області різниць векторів руху нижче критичної величини, і комбінацію префікса у формі усіченого унарного коду для критичної величини і суфікса у формі експоненціального коду Голомба різниць векторів руху в другому інтервалі області різниць векторів руху включно і з перевищенням критичної величини, при цьому критична величина дорівнює двійці, а експоненціальний код Голомба має порядок одиниця; і кодують усічений унарний код з одержанням потоку даних з використанням адаптивного до контексту бінарного ентропійного кодування з точно одним контекстом на положення інформаційної величини усіченого унарного коду, експоненціального коду Голомба з використанням сталого рівноймовірного байпасного режиму.33. A method of encoding video data with a data stream, in which the video data is coded predictively by motion-compensated prediction using motion vectors and by predictive encoding of motion vectors by motion vector prediction and by determining the integer differences of the motion vectors to represent the prediction error of the predicted vectors movement; integer values are binarized to obtain the results of binarizations of motion vector differences, while binarization equalizes the truncated unary code of motion vector differences in the first interval of the area of motion vector differences below the critical value, and the combination of a prefix in the form of a truncated unary code for a critical value and a suffix in the form of an exponential Golomb code of the differences of the motion vectors in the second interval of the area of the differences of the motion vectors, including when the critical value is exceeded, while the critical value is equal to two, and the exponential Golomb code has the order of one; and encode a truncated unary code with the resulting data stream using context-adaptive binary entropy coding with exactly one context per information value position of the truncated unary code, an exponential Golomb code using a constant probabilistic bypass mode. 34. Комп'ютерочитаний носій даних, який зберігає комп'ютерну програму, яка має програмний код для виконання, при її виконанні на комп'ютері, способу за п. 32.34. A computer-readable data carrier that stores a computer program that has program code for executing, when executed on a computer, the method of claim 32. 35. Комп'ютерочитаний носій даних, який зберігає комп'ютерну програму, яка має програмний код для виконання, при її виконанні на комп'ютері, способу за п. 33.35. A computer-readable data carrier that stores a computer program that has program code for performing, when executed on a computer, the method according to claim 33. 36. Носій цифрових даних, який зберігає потік даних, в який кодовано відеодані шляхом прогнозованого кодування відеоданих за допомогою прогнозування з компенсацією руху з використанням векторів руху і шляхом прогнозованого кодування векторів руху шляхом прогнозування векторів руху, їі шляхом визначення цілих величин різниць векторів руху для представлення похибки прогнозування спрогнозованих векторів руху; бінаризації цілих величин для одержання результатів бінаризацій різниць векторів руху, при цьому бінаризації зрівнюють усічений унарний код різниць векторів руху в першому інтервалі області різниць векторів руху нижче критичної величини, і комбінацію префікса у формі усіченого унарного коду для критичної величини і суфікса у формі експоненціального коду Голомба різниць векторів руху в другому інтервалі області різниць векторів руху включно і з перевищенням критичної величини, при цьому критична величина дорівнює двійці, а експоненціальний код Голомба має порядок одиниця; і кодування усіченого унарного коду з одержанням потоку даних з використанням адаптивного до контексту бінарного ентропійного кодування з точно одним контекстом на положення інформаційної величини усіченого унарного коду, і експоненціального коду Голомба з використанням сталого рівноймовірного байпасного режиму.36. A digital data carrier that stores a data stream into which video data is encoded by predictive coding of video data using motion-compensated prediction using motion vectors and by predictive coding of motion vectors by predicting motion vectors and by determining integer differences of motion vectors for representation forecasting errors of predicted motion vectors; binarization of integer values to obtain the results of binarizations of motion vector differences, while binarization equalizes the truncated unary code of motion vector differences in the first interval of the area of motion vector differences below the critical value, and the combination of a prefix in the form of a truncated unary code for a critical value and a suffix in the form of an exponential Golomb code of the differences of the motion vectors in the second interval of the area of the differences of the motion vectors, including when the critical value is exceeded, while the critical value is equal to two, and the exponential Golomb code has the order of one; and coding of the truncated unary code with the reception of the data stream using context-adaptive binary entropy coding with exactly one context per position of the information value of the truncated unary code, and the exponential Golomb code using the constant probabilistic bypass mode. 37. Носій цифрових даних за п. 36, який відрізняється тим, що потік даних має кодовану в нього карту глибин. гл ц жі КУ г : і ї Ї : і : миши нини вини сохккхюккюкю мене : ; ї З ї Н ї :37. The digital data carrier of claim 36, wherein the data stream has a depth map encoded therein. гл ц жи КУ г : и и Й : i : the mice are now guilty sohkkkhyukkyukyu me : ; i Z i N i : Фіг. 1Fig. 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 ї ї ї : ї ї Е ІЗ Я ї ї ї ІЗ : ї ї ї о КК я я чу. ШЕУ КУ ї-е х х хS E u SE MU PO ok uk Kk Жх I х KZ хи ж Же оке ХК мкаА КМ nn EE ихх х Ж Ko i EK. Keya sho U xx OK ii yiv ke SYA SYA SHEU ZE BI z RUDE U ukyah IH Z GK vi i roz he ha o eya Y i i: i I i Z oven kn kn EE EK ZK Ek IZ u 5 i IZ Z KVU х и: х их их ККУ х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х х And what? Х Х 3 из и х ИЗ Е У х и U: 8 хи SI: И Z kg SIK I g М.Х x Z и и ЕЗ х КУ ИЗ и х Z xx Ж и « х E КК и 3 ИЗ х Deuo A km x : Gokzniy ki i ne a IZ xx EH : 3 i x : I i i i x IZ i i Y IZ KU EE ZKU t 3 i EZ Z xx : Ku Her Z EE: Z I V x esoroyufeyuuyuv u x x х ЖЕ у и и ЕЗ Ж xx Из их х 3 де их Е: З Z х І ХЕ І З Z nn nyny pn y U х и и х ИЗ х х х Х КЗ их Х х х ИZ Ж ЕЗ х ИZ U gZ N KU E i: 3 х х х ЕЗ х Н 3 KU х х их ЕЗ ЕЗ Х КЗ х Н х Ку х и х 8 х х х КЖ ЕЗ Э З : 3 Х х х х Хх Ж х и g ЕЗі і ЕЗ КЗі х EZ хі і х Х і Ez х КЗ і х Z EZ КЗ і х і І : і КZ х х х і ИЗ 5 ИЗ Z KK A NN IN NK A KK KK Re y BE VAH SK i KK ho He Me I i i E KOJH Kuk uk KK mk sec k Ka i Z 5 ZHE shk fozhh x Z MIRA ik U m Be MI U sia ne: zahh i: i i : U I i KZ Kok p nn p in B Y IZ U 5 g. | E | ! MORE . х Из и х и и и и и и и и и и и и и и и и и и и и и и и и и и и и и и и и и и и и и и и и и и и и и и и и и и и и и и и и и и и и their lives their lives Z i Her Ka IZ X IZ x i z i s 3 su x Z i x S : a x i IZ i i 5 x i i i i EK Ko V U : do y : : nn ih nn viv yo Change You in p h i х U : IZ V Z her Z I EVEIA : Z : Z EZ IZ i : EZ i : 3 i i Z IZ x IZ t i i i i i 3 i i x Hey xxxy "ih hu women Hanna nan lush mac N EZ IZ KZ x N Z i i i i IZ i Vu EZ x N N x i i i i x. i u x i 4 X i i kkkkkkkK ni i nen ni kn ZU 3 X x E i Z Y 2 Her i Y V x X i: i 3 N N I i i i XX AJ VAD V x moh. Duhu i i i nim i V z z Ma: I KZ 8 IZ h i i I 1 i vu K « x x t IZ IZ i IZ i K t IZ i IZ IZ Z 3 (Z 3 ho KK fe ХK Kuk eco Kuk a Kon Kk corner ! Their х 5 и и и х З и и х Her 3 и и и : и и E ИЗ I и и и ИZ : и и и о КК я я чу. SHEU KU y-e х х х У х. Х нн кн и зн нин нн Зо ан З Зо зи З : ; Ї ї З З: ЕЇ Н : : і ! : : щ- току ї ІЗ 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 п аа Б ї к І ї ШУ х РІЗ г Ки ХК длнахужююих межу ккал ї й х :In h. Khnn kni znnin nn Zoan Z Zozi Z : ; И и З Z: ЕИ Н : : и ! : : sh- toku i IZ 2 of 3 T U : i x soi Z N i Z Z Z 3 EN V Ka 3 i x IZ i IZ 3 3 s Za 3 IZ i x 7 iH U 7 i a o IZ ihoh ho ZKMIM hm ХК ожх ме же сум hm Uk dm ud horror duh duh ho KE he we ! : Yi! і Gl z І і t and іх КЗ і і і х і Z: 3; their 4: th and 3 3 ІІ іі і х 3 1 3 N ИЗ 3 ИЗ 3 і і і і 1 3 3: і 1 3 ИЗ х B t і U Z іya іh 3: з 3 s. : ГЗ : и Ж хх жо хх хох he ех охоху m meh hemu he хх o У fМю M ож хх же хх хх сх духы. Uh - і IC і Z і 1 і Z і N en ny vn pn pen Mo di NN NM, : I 1 KZ h і ih I I EI V E I Beh eko syu hezh Mem oyu і Z I: і Z Z N X Hers Hers Hers Hers Hers Hers Hers Hers Hers Hers Hers And NOT and and . chne i : i kh і і і і Х Х : і х х х х і і і і і і і х о 5 і "3 ИЗ х ИZ kha і х і хе. Fe eh soyu yuhokh ravennennny fennet similar ХК о ежохюю Dec xxx euk so Uh Zhuk lyum A i IZ i i T i U Il I iit ko 3 IZ : i IZ i 3 IZ schu i i i i i i i i i i i i i i i i i 3 IZ Z Z i s p CHK : : : and 1 : | i, VIII 5 I V Z : U ini: i : : EI i Her : : THI H i i H I i i N 3 ronnykh o po sn v ko : i i IZ i N : Z IZ I V N Z A IZ 3 1: Ї X ez 5 her and: From her x her x and her s ions her t: from her 3 7 her and her her: from her them them and her and her 2 of the day. . i p i nn i KN uh i Ii chu Zhe i i teh i NE x Um J 2 ho i Ka po ZY DMK ODU UM MM r DUMU U Mu Z Z U i i i i chi i : N i : ! Z E B IZ M IZ 3 IZ i i N still B ; ! and : | ; N : і Z Z і І N N хіі на хі ; Х х З зу у й У 5 Й: В В: З: Я и и и че; E E E E ! ! i i 1 IZ i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i rutu ry IZ i IZ x I Her Ex IZ i their Her I i Z U IZ i 3 i i i i 3 ii V i i i i i i i i i i i i i i i i i i i i i N IZ IZ Ek nen keen nn Ann Zv no Ziadkkkknnnnnn IZ i ii ii ii ii ii ii iii 3 ; X XI I HY HY HY HY HY HY I C 3 I: Her H 5; and | 3 u y IZ I N o r Kk i KK dk xxxh zuhhuyu xx shuyuhuyuuh heheyuu Zyuyuyuu skhuyuyu. I'm burning et syuhyeuyuh хжжежх Жмххюх сххххю ххххх сххжхху чк КК. sya with EM KU X NO y ih U xEh y x x SYKzhchj y x Ж ТК Х хе х 1129 и a У и TA. ie KYA ih roya yi Ki A ih RKK tya h schu TI yi ke Ko z 1 i KIZH: I kh yi Kai ve E pn 1 p aa B yi k I yi SHU x RIZ g Ky ХK dlnahuzhyuyuh mezu kkal y y x: -. 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 ї Е Ї «її х ї ї ІЗ пе ї х КО Моне ще ї : ї ї ї ї х ї ї ? Й не Й В : ї ї Мо сюєсюю схеєюхх ххеєєхх сесеюую. ххууєю селсуюу сууєхєух хуюює Ужхухє сеууухх Ужхуюух сухих ЖЖЖЮХ екю сесужюю хе межею Х-. 14 Ye nyavati I : kN: r KK u y hi 0 Aries VNyY Vo i g zhh s i uzh ducks cy ky: - y TTVI MAT UKTKtH ih U n «mya szhzhzhzhh TUBAH fr vzht tue vvv vv vv vzhv vv vzhyttya x tolk yytyuch tkaly nn nik den pek KUN Z z -e pledy UNO E zm de I V i 1 I z VN IZ IZ h mukh : I i Z i sta izh i yin ih N i i ih den E i 7 Tu v i i KU dannnnianlyazhynnazhknnlnnalnannncnninyak y zhni nyny ky I N yi K yi N : і E і і і і і і і і і І і і і ИЗ і і і ИЗ 1 univ nn nn І і х І І Ho. 1: i teki 1: ИЗ X ХККНОМЕЦИК х и и и х Z I и и ИZ ti 3 Z из изунектихмуУ cha gУх 3 и тех и з i: ЗBMMO TKU KНХ i у и У и и Ій Н: и И ME Z i I x : panna ri i I i i 5 i what i IZ i I i i still i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i I drink: I drink, I drink, I drink, I drink, I drink. 3rd N u N i i i i i NNI GZK 1 i i i i Hokhkhlennyi UMA MIMO mm hek kyu yuyu yuyuyutnyah yi yi : 1 M ! Geya Y t i 1 IZ i i I i i i IZ i : i i i : z 5 N GO : in Mk um uyu uyuutyunyH : z i scha : f: " ge In days MAAAAAAHAAAAH AL AAAAAAAAAAAAAAAAAAA NAANU x Y 1 i i Mk ih і і «tka І НУ І X nn nn nn y i V v V iZ X shk KK ih kh ih 3 і N :1E і і Z х хх х a х ZK ts MAE з Х ИЗ хі: і Ж teh х хAyaMm IN Х Z IZ cha i IZ Z 1 x vm I U z imu ! Ha KZ a. In TZHAH yo e che che 5 x they are and u i i i1dv i lne tyuy deti vanna navan 1: i I i Z I z roiMmU x і ух ща Жі і х : у Задтни міх і і - : В : TENTY VYNIK and uzzhlylyamnyh Z t Ya ki : 5 pOobEtsoneni : o Shk. t Z ИМК УКИТУМУТТКХ і х Her press З і M; і g zkkko vu GE KEN Dunkunnchkyun Y ek Z vn i From the very m chik KZ U IZ ED ESCAPE KUKA KUTI t (U Zh uchumm x x x x i x. Rash x i ECZ ! i r TK t Eh i x i i i i i hi 5 J i 1 :5x i и и UyaКХ GKU a VU Monazheyuyullyachityuyutkchkkkhkkkkkkkeekyuyuny y : her EZYA KI 15 EZU y is 1 5 U y Ko 1. EK N yi EE 1 th spirit Uyu yuyu yuyuyuyuyuyuyuyuyuyuyuyuyuyuyu zhk kyuuzhikyeut, KU 1 J U yu ih GKU kh ih kh hi kh N N y KE y y y y y xx GU Her V IZ i : 5 x t y M chata Z U : I se gne NYA ME 11 Wife ECON KTKN I'm Ben Her 7 th E Y "her h h y YZ pe y h KO Monet still y : y y y y y y y ? Y ne Y V : y y Mo syuesyyu sheyeyuuh khheeehhh seseyuuyu. ххуюю селсуюу suуехеух хуюєе Uzhhuhe seuuuhh Uzhhuyuuh dry ЖЖХХХ ekyu sesujuyu he he border X Фіг. 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 К Її тут З тв ї ї БЕЖ х сін Ї : с се А ї ЯНА й аа тА гл Мн ОТ МІМ ЕІ І ОХ шиFig. 5 mch Z: SEU same U same x i sh y. N X xx X xx XX until GZK Kk children F; Spring and - -th KK; ia Kk. i di i She pAAANA AND TANK still women Z "t i nku - ENN 7. z B: HOW the attack of the earth nni zas U i E changes zn zannnnknnnk WITH і і вним Disappeared changes: zni MAE I і і 3 іі I ИЗ і і і і і і Ж х і і і Ii M х szlyi і і х і і І х т ХЕ і і і з: hurts Х і і і і і Х Х і і і і х Z Э: Х і і EE o signs of ZYCHU х: IZ 1 IZ IZ 5 : i x VU DON Za TI IZ IZ IZ i 5: i i ih rf. their Ii EE IZ i i Z x 1 i i EN - is 1: i IZ i i i i 5 i i i i Z zzhzhovi ; cha ssny 3 ИЗ 3 і і н і v i o Кк в і н nn pen mn EM ИЗ : ИЗ і KE Hi SZZ і і ИZ і 3: И і і х З іх 3 У ИЗ хі 5 і і і 1 і і I he M koh IZ h i IZ i i i U I i i I i x ET I ZE Z ZE i i i i i i ENN i N i i I IK Z i NNYA her 1 i i i Z: i i i KU x ische ho x x (Z i x и и и и и и х 3 ИК КА и ИЗ и и и и и и и и и и и и и и И и и и и и и и и и и И И и и и и и и и и и И И и и и и и и и и И И и и и и и и и и И И и и и и и и и и І и и и и и х УК хх 3 и ИЗ и и х КУ 5: У Z U и SEU и и х и M: и и и и х х Кк SKU и и и и и х.и х и и и и и и и и и х.и х и и и ю и и mice SHY Z zhk GU 5. th their th how Z th : U : II DE OV SHY I av SHK ZKU : N Z N SCHI x I u 5 TA 8 her GA ik u p ZI N N I her her si dk iz- z nn oon zny nn Ko zze zn min sna nan worthy of knowing znan y y U N I So U nu 1 i x IZ Z ii yi N gu ka KU ih kh. kh yi yi yi yi 3 : "eh . xx Y 1 OF 1 OF THEM 5 y y y y Z ddlllldaad lyadllllALA Mllyana kh y Ho ukyuyuyuyuinyayannknnyayuya be yayu Meyuzhyunnyayai mn o u y y y ho FROM I Her y h ET ich h is ho: ХЕ s ikh she Ka і ех х 1 K Her here Z тв і і BEЖ х syn І : s se A і ЯНА і aa tA gl Mn OT MIM EI I OH shi Фіг. 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 Н Її жмивМ: і Її : нн В ИН Хнллллутуюувььчьмиьих нн п і В КК а а : ХоженЕ - - зжжжж ужжюжх жжжюх ттрю тжтня пнжяю няння Х Ін еп при в МирУУУюО ІМЕННІ Джо ох пасує пн ХО Вени иХ М Й іЗуцачиМFig. 6 ZE BU me PIMITESHTCHEDMCHNI fu y x pesto p sli y shPeMeMTN o o deti to that: cartridge EIVYOMMKNOO buk umi EKZ t v IGut BZh m i I N GO I "KU MI Ky 1 th s schu men Ka zu h ke i 3 N 5 sg; -u3:u Z mul tu ha N I I Ni I U U : ve I: і U zhutetttuyuyettttettssnyi y M ih IM h IK sia IH pak hi MIZlyshch h her h KI V SN i MAYA U rn nyuntu A dnkchnnnnky x ho KV UK Kiyuchima NN KOZH 3 u r mn u Days: shchi x ii DENKOBVYMH i N nidshkkomik poshchytso i i U Zh ouschchnstya suti vino i V fu B SHYN sf shi v V M V POM vus so Na VN 1 ha i i i i i i UC, i 10th century і - і ххі і І ІЗ і і т хUEU і 5 4 Khoekchzhhyyuyuyuyuyuktknalananinyi sutg nty ah M yuyuyuyuyuyuutttyyutttttktitttttttttn nan I ve S GU TMM SYA same GYAU hLAHMHH uh Z yi I 1 tif 7 lij 7 hi Ta H 131 NE N M : chI1 ti i: 131 mo i iie i REYA gupehe mch: I h o sZ t, Io OK a V VYN o U she h shchi? Modsnnnnnia zh shluh ect: Z N dy U um nannia xx nn y y TUBE KR rf i To peshshchiyy y 3 EN i - : y h at - I 1 Her iz. DON'T GO TO THE DAILY DAY SHOWER FOR THOSE WHO ARE FAT AND FROM ZNU SAI II II: en an mk p we V S M. by these 1 Gi y for Bo AVshO РRO levu IBPyaM nyano y Ko 0 I 1 ROB i : 5 spik nyMy 3 117 х их х Х о 1. 1114 hum In M her hm nu Her 13: х heh х : : и ENN y VES th byumyh EN: th 1 Mo, 1 x t U: 1 SOKOSNNY EN with i and i azh iii turyuh straight; KZ KZ hi "VZ t i nn Sy ov ZK b eguh masli ee : і EN NE VEN "ny 2 pat - tut і 3 - i hro rehy V : ІЙ : хх і U nm numo en 1 Ve і mo і IC : іOKMNENIMU o o : ; x x : Ko EN More a x that x o Her relatives KO o dlllllllalalaaz uyu aa ny x ke A " x Ж UMNYAM o M-- g Du 3 х и и ; y y y y : Y y yy i 0 dakkii N y y y : Her . b ts Z N ioMAplKTeNI na znane Zufet M Den V DE KOTMA M p nYu PE enie ZEM KONIM LH CI UMH . y y 1 "ayu lyut N y Her p y. 7 y : : Я sda her 3 Н Her zhmyvM: and Her : nn V YN Khnllllutuyuuvichmiiih nn p i V KK a a : KhozhenE - - зжжжж ужжюжх жжжюх ттрю жтня пнжяю няня X In ep pri in MirUUUUO IMENNI Joe oh pasue pn HO Veni iH M Y iZutsachiM Фіг. 7Fig. 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 пенокРОЙ ті Хонсю м нин псутннном Во фей НІБИ НИМ УМХ КИТ МЮ ТМ Н : з фе ВУ : ідекодер Труна І : ан а В Моб нтютююуюитяя нн а в и а ан а м о ДН ИМЕ их ОХ345 ts ped DiKODEIANS Il houmatouhodiehkh lIh NYY Y Ekh ih "1 pihokhikhe im ( piky M pyudkvmshCinoO x SIMTMELEMYT 7 uch also KUN p a a ze, ZHEEMOSHUKH i N pk "xx U oi 1 UM KY beating inn Kel Z okluemuatuchchiY Ye ukla ho pla H I nary and VU veni he podsheh du shulkh Zkklyutizhiyu - y E opy mu y KU x yi yi fo nehkok shimi v la NM early E 1 Bu zd IZ su X y N pk Y io Balichm LlyaM ! HEY y He 4 TA VC ddalklyalyalyadlllyalalalaya i и и и и и и и х Д МУ: 1 I zaho it kolyunnh и и и х ра X е ц емимимфнучнмы юк е о врфоемаценмо чих и конс ВдвиДковне Н и пипивкоовых и и 7 и 7 s и ек и ma den nn ne Ky tsgimmmy mit Биicht her SUMMU and peyemaok When IN ve Kn war rennia; HOME U Type Mph KE Her; Xia y y M Z ATUUE y MNMA 1 I (I ALREADY knew how to torment the boundaries of AN y MU Piy y. aa a IN her, nam nn, pa kana nn m pa se meshe var r lot Kv U KU her, Koh ruch Ge KZ pa pa a a Her ek xx vi: "ru kh zzZza la IZ i GOAT SU 3 SE ; BYA U yi 51 1: OVU KK and KU: U y t, thing! BAN: 7 х Х ; ги IХ пицоццюначи 1. ку в; и: phobia ЯМ ЗИМИ ЛНИМ И Н и В х Э Кавн МВ ро ня a p a and CHI ZY and pnrzmetrm | me o fdoimkskvyi I 00 fiakovMy N i V y peshoi yisoeniyai u zmi y Rog t fr y izh--2---FUvotkovov un Mt U ty shchy sen dn life KM TE: Zv IZ theo x I 5 IZ iroham u N NU y Ou y : PI MIE y y i Z g i nn pi Z ZY NI IK SOAP OH nation o o o: : x N yi K 1: i V VN i Ok: i zah ha rzhdaKyH t B ORRora o foisyu meze. nku BU: them: kl ypil Those mUmaiiKinii tre OT her; Because TEKU NKyY IN: In " de Himldechemy i y y y y y 1: sbMMoMyyyh 1:51 x t h TzhYUYUMYEM go s rIEkri " " " mimUTUMUUTI nn me mo y s her N INT U y h oy y ky PE I N oda p o ZNA vm You, I, Those, or I, it's OK: F 7 B IZ valid 7? OR uU U N ih N py RO MBMZHIINMAMKM 1: rih Z Z V X x : her I: hu h a uh o : kn NI Ni o o M pa h pe Od: DOMU Uodholya n KV IMK IY and go yi Z Y І po і і шііхіМтки Н N Укукратуміаі . : sects di tik Ba M N 1 penokROI ti Honsyu m nin psutnnnom Vo fey NIBY NIM UMH KYT MU TM N : z fe VU : idecoder Coffin I : an a V Mob ntyutyuyuyuityaya nn a v i a an a m o DN YME ih OH У. я до А а ІЕХНВИМН І МК. м пефоркнувкя дитин Ме пи че іЖклНДінииМіх БУ ія шеУМемо Тк шт До нн Тем пвххкакииних пцичикU. I to A a IEHNVIMN I MK. m peforknuvkya children Me pi che iZhklNDiniiMih BU ia sheUMemo Tk sht Do nn Tem pvkhkakiinyh pcychik Фіг. 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 ж сага мІсІнЗ цик Река мищ і би жиди Мем зЗКенМміл Мп ОоКУ Дитя, вимкпдн порядок секасьшання с емтя вокново зоаслзкОовВоки полку СНТНЄ, сміх мУкТті вими мим В частими декобукюнивося м порнску о КК.Fig. 8 and ex. Kk she EK BU ag BI KZ MI KMT ih B ZO ZEKU, ZK che IZ E: В; и: гг и г Й Й КИ Her Her и и M и : I и и ю х х х х х х х х х х х х х , пек х х З х х и Н Ук фу и ТК t t IN TK TK t et U U ZH ZK U TU U ke DUHU, Z I Z U Z 3 nan kn o no nn nn nn ns their x u her her essay 7 I i Kk her 33 i xx what i PI x THEM doku Mi kiguuehykhm I 33 ne che IM ZHKV ho tomi ihshMm her ziv nn and dami kumu MTV I SCHO pishi RO VEMETTVATOKU 1 TI KAMYU MM Her FAH Z ZU UTYK, TUT Z edeszhuchmh ZKichis IH IZ y Ex 1 in Hu NMU kzhkov ak z 11 и MIMIKU MIMO FROM Ж Х ррУрх ЕК. 11 ї г 1 ТО БКІЩЕ ж 31 ї ї х Ву 53 ТІ Її х ІЗ І ЕІ Д Мнкнкюжккнкннжкккккквжкккккюютююкюююююєкююккюююююююввжкккккююююююккютккюююввжккюкуюююююююююєютююююжююх кю кжкккюкюдюькиаявткю как КК КАВУ КВК ж АЖКК КК КАЖУ АККК Кк ажкккккжжниних З 3 нн т ТТ ТК НКТ НН КК ТТ КК КК ух гий ТК НІХ 44 i 515 414 i id da i 39 CHI: ak hi Rol shchi Ed ku payu uch Kk dyh Tk dl t: Al Id NV N la y : I Y ХІ х ЖХ х ky y : КИ - г 7 их - Е и S : hee : ; NO; : : No 2 U i U i x X x x, x x x x x x o A x - I I no I. х тях Х х х - х х х з х о Ж хо Н N m . i x ho Y det dityayayattnya i fnttttutttt tt t DK t tif unkyakchzh nannies niku natychnya tk i pzhzhnikinknjanyat un nn ; Z Z i Me se i . DA KO NN and masses ovo HO XXX : These si Uma kechnn sa shchi tayat di an vi pi shki Kk k KE one: t gpyVVY OZ (ML BA ip IM KN NU I k 1 Z mak RAMENOIM o dev Tk vach" su Ka zdani Mk IN V ME ethers VnztouNYO 0 See the mouth! h ps U MK AND THEIR vtsuts: i di tele U i i i i : I : OH EMV |: ODN a t PE M V 1: OPO: 3 POMYVVo odi o Z na i WE AAAAH ALANA klala ALALAAAALAAAAAAA I AALAAHAAAAAATAY U Bolt M Os KN u Ni PI TI a SO KI Po SYA pshvket data Zk - -35 same saga mIsinZ tsik Reka mishch and would be Jews Mem zZKenMmil Mp OOKU Child, turned off the order of sekasshenya s emtya window zoaslzkOovVoky regiment SNTNE, smih mUkTti vimy mim In frequent decobukyunivosya m porn about CC. Фіг. 10Fig. 10
UAA201703792A 2011-06-16 2012-06-18 DECODER AND ENCODER, METHOD OF DECODING AND CODING OF VIDEO DATA, READABLE DATA MEDIA FOR PERFORMING DECODING AND CODING, AS WELL AS WELL UA124408C2 (en)

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 (en) 2021-09-15

Family

ID=77666015

Family Applications (1)

Application Number Title Priority Date Filing Date
UAA201703792A UA124408C2 (en) 2011-06-16 2012-06-18 DECODER AND ENCODER, METHOD OF DECODING AND CODING OF VIDEO DATA, READABLE DATA MEDIA FOR PERFORMING DECODING AND CODING, AS WELL AS WELL

Country Status (1)

Country Link
UA (1) UA124408C2 (en)

Similar Documents

Publication Publication Date Title
RU2758981C2 (en) Entropy encoding of motion vector differences
KR20130140840A (en) Entropy encoding and decoding scheme
UA124408C2 (en) DECODER AND ENCODER, METHOD OF DECODING AND CODING OF VIDEO DATA, READABLE DATA MEDIA FOR PERFORMING DECODING AND CODING, AS WELL AS WELL
RU2776910C1 (en) Entropy encoding of differences in motion vectors
RU2779898C1 (en) Context initialization in entropy coding