UA123987C2 - Ініціалізація контексту в ентропійному кодуванні - Google Patents
Ініціалізація контексту в ентропійному кодуванні Download PDFInfo
- Publication number
- UA123987C2 UA123987C2 UAA201701791A UAA201701791A UA123987C2 UA 123987 C2 UA123987 C2 UA 123987C2 UA A201701791 A UAA201701791 A UA A201701791A UA A201701791 A UAA201701791 A UA A201701791A UA 123987 C2 UA123987 C2 UA 123987C2
- Authority
- UA
- Ukraine
- Prior art keywords
- value
- probability
- information
- entropy
- bit
- Prior art date
Links
- 230000009466 transformation Effects 0.000 claims description 69
- 230000036961 partial effect Effects 0.000 claims description 56
- 238000000034 method Methods 0.000 claims description 53
- 238000005070 sampling Methods 0.000 claims description 41
- 230000008569 process Effects 0.000 claims description 25
- 230000007704 transition Effects 0.000 claims description 8
- 238000006073 displacement reaction Methods 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 5
- 230000002123 temporal effect Effects 0.000 claims description 5
- 238000000638 solvent extraction Methods 0.000 claims description 4
- 241001377938 Yara Species 0.000 claims 2
- 235000013379 molasses Nutrition 0.000 claims 2
- 235000010469 Glycine max Nutrition 0.000 claims 1
- 244000068988 Glycine max Species 0.000 claims 1
- 241001320695 Hermas Species 0.000 claims 1
- 241000435574 Popa Species 0.000 claims 1
- 230000006378 damage Effects 0.000 claims 1
- 210000000720 eyelash Anatomy 0.000 claims 1
- 210000003296 saliva Anatomy 0.000 claims 1
- 238000006748 scratching Methods 0.000 abstract 1
- 230000002393 scratching effect Effects 0.000 abstract 1
- 230000002194 synthesizing effect Effects 0.000 abstract 1
- 239000000872 buffer Substances 0.000 description 119
- 238000006243 chemical reaction Methods 0.000 description 44
- 235000019580 granularity Nutrition 0.000 description 19
- 239000013598 vector Substances 0.000 description 18
- 230000008859 change Effects 0.000 description 16
- 238000004422 calculation algorithm Methods 0.000 description 14
- 230000006978 adaptation Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 12
- 230000003595 spectral effect Effects 0.000 description 12
- 241000209094 Oryza Species 0.000 description 10
- 235000007164 Oryza sativa Nutrition 0.000 description 10
- 230000015654 memory Effects 0.000 description 10
- 235000009566 rice Nutrition 0.000 description 10
- 238000011156 evaluation Methods 0.000 description 9
- 230000003044 adaptive effect Effects 0.000 description 8
- 230000015572 biosynthetic process Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000002829 reductive effect Effects 0.000 description 8
- 238000012360 testing method Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000009467 reduction Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000000873 masking effect Effects 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 230000009897 systematic effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 235000019587 texture Nutrition 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 241000824268 Kuma Species 0.000 description 1
- 241001214257 Mene Species 0.000 description 1
- 101150107341 RERE gene Proteins 0.000 description 1
- 101100460147 Sarcophaga bullata NEMS gene Proteins 0.000 description 1
- 241000269319 Squalius cephalus Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000002238 attenuated effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 239000012536 storage buffer Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4031—Fixed length to variable length coding
- H03M7/4037—Prefix coding
- H03M7/4043—Adaptive prefix coding
- H03M7/4068—Parameterized codes
- H03M7/4075—Golomb codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4006—Conversion to or from arithmetic code
- H03M7/4012—Binary arithmetic codes
- H03M7/4018—Context adapative binary arithmetic codes [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/42—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/174—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Sealing Devices (AREA)
- Diaphragms And Bellows (AREA)
Abstract
Декодер для декодування відеоданих з потоку даних, у якому кодуються синтаксичні елементи, з використанням результатів бінаризацій синтаксичних елементів, містить ентропійний декодер, сконфігурований для одержання ряду інформаційних величин результатів бінаризацій з потоку даних з використанням бінарного ентропійного декодування шляхом вибору контексту серед різних контекстів і шляхом оновлення станів ймовірності, зв'язаних з різними контекстами, залежно від попередньо декодованих частин потоку даних, десимволізатор, сконфігурований для дебінаризації результатів бінаризацій синтаксичних елементів для одержання цілих величин синтаксичних елементів, реконструктор, сконфігурований для відновлення відеоданих на основі цілих величин синтаксичних елементів з використанням параметра дискретизації, при цьому ентропійний декодер сконфігурований для розрізнення 126 станів ймовірності і для ініціалізації станів ймовірності, зв'язаних з різними контекстами, згідно з лінійним рівнянням параметра дискретизації, при цьому ентропійний декодер сконфігурований для одержання крутизни і зміщення лінійного рівняння для кожного з різних контекстів з першої і другої чотирибітових частин відповідної 8-бітової ініціалізуючої величини.
Description
К. І уми чхдаамх Ку дфорненю секізУ мк й маптрисоки с своя Гаман нина рий й
ЩОЗІТЯТт дрююті Мене х ікаризатор Ма ухкнма ся В ка зві г мфермлихькя ЗУ 3
М дух В ШЕ Пров ї Мао за пюсюхох х р захи юмор; 1 239 о х МУ х Би хмагамжема ї оо: и Е - - З пллддАААЛАЛАЛХІ я пятятт вином й КІ рваний о-щ5 в сІВ'ЯККя я ; І покозих З і вишни 7 р тт тнлля Зх ллк вану КК «Іеудно я вохевя йно оно Фодстецвй ккотіх бітів З г й Ж БОГУ ді ТЕ лескя 333 фодлюинянян 0 2 ОХ ї кн пи ЗИ щи ї: Зо ї | г лі а а я І Ї рись З В 5 Зю й 322 ? зов
Зсермамке пепаметря З 1 ТЕ ше рр ше --блнллляялхннн п ПИ Ї і о, удкикмик Іде ВЕ ВИКОВИК і й М рю рев Гі ренні ТОК ферт лекодер петрчавуютчий пехів біко У пише лий бек "а М Е Е НН и півнів бен ї зуконнх Н КІ ЩІ : Ун-З85
КЗ секти --ї т, «(ї ременюх Й 1 Кк: - ж « схожою! Р . « совно т це і и к й уекаькткно ОВ ма ЕН " .
КК В жо Ще КО зв
АКА ті ретттеттнснскя |, пи 45 як! щі ЯЗ т, ї Ц й ефе тп З їх ! і деїковнй ТЕ АКя 5ю Ні МЕ Ні ща ! Її бередмий СК ша ума алллляня є
Ї Ї капокею ГЕ кнкеен 3 МК У тет ння
Н т «фер М шин с фрлкля КК КИниіВ ПОМ ОВ Оу : З усне Ся ІДКОДеН тИслюве,
Усні гло слле пло зл МОВНИХ мемодисммх оон ні нн нкіхюоежукх май щи ялоа ик у постдоеають неровмицаних вки
Фіг. 8
Представлений винахід стосується концепції ентропійного кодування для кодування відеоданих. В рівні техніки відомо багато відеокодеків. Головним чином, ці кодеки зменшують кількість даних, необхідних для представлення відеоконтенту, тобто, вони стискають дані. В ентропійному кодуванні суттєво кодувати символи, використовуючи оцінку ймовірності, яка якомога ближче відповідає реальній статистиці символів. Оцінка ймовірності зв'язує величину ймовірності з кожною можливою величиною, яку можуть припускати символи для кодування. У випадку бінарного ентропійного кодування, наприклад, символи є бінарними і просто існують дві такі можливі величини. У випадку кодування відеоданих, символи, які кодуються, належать різним синтаксичним елементам, які виконують різні завдання для опису відеоконтенту: існують різниці векторів руху, режими кодування, рівні значущості коефіцієнта перетворення, які представляють прогнозування залишкової величини і так далі. Перш за все, усі ці синтаксичні елементи мають різний інтервал можливих величин і навіть ті, які визначаються на одному і тому ж інтервалі можливих величин, найбільш ймовірно мають різну частотну гістограму на цьому інтервалі можливих величин. Відповідно, символи/інформаційні величини рядків символів/рядків інформаційних величин символізації/бінаризації цих синтаксичних елементів також мають різні статистичні дані, які стосуються розподілу ймовірностей по алфавіту символів. Відповідно, використовується адаптивне до контексту ентропійне кодування: спершу надаються різні контексти, кожен з яких зв'язаний з різною оцінкою ймовірності. Відповідно, допустимо, наприклад, присвоювати інформаційним величинам різних синтаксичних елементів різні контексти. Навіть просторові залежності між інформаційними величинами/символами синтаксичних елементів, які стосуються сусідніх ділянок зображення відеоданих, можуть використовуватися для вибору серед різних наданих контекстів. Завдяки цьому заходу можна класифікувати інформаційні величини/символи по групам, символьна статистика яких змінюється подібним чином для різного відеоконтенту. Окрім цього, однак, оцінки ймовірностей, пов'язані з цими контекстами, безперервно адаптуються до реальної символьної статистики під час кодування.
Це безпосередньо випливає з вищезгаданого опису, який важливий для бережного конструювання контекстів і для належної ініціалізації оцінок ймовірностей контекстів.
Наприклад, якщо кількість контекстів повинна бути занадто великою, то адаптація оцінок
Зо ймовірностей повинна бути неможливою завдяки занадто низькій частоті символів в окремому контексті. З іншого боку, якщо кількість контекстів є занадто малою, то символи, зібрані в окремих контекстах, мають, фактично, різні статистичні дані і оцінка ймовірності не буде точно наближатися до реальних символьних статистичних даних усіх цих символів у відповідному контексті. Настільки, наскільки це стосується ініціалізації оцінки ймовірності, те ж саме може досягатися з виконання деякої тренувальної фази, на якій відповідна суміш відеоконтентів піддається кодуванню для дослідження статистичних методів одержання вибірок синтаксичних елементів. У цьому випадку вона використовувалась, наприклад, в кодеці Н.264, при цьому така статистика символів різних контекстів кодеку Н.264 частково відображає залежність від параметра дискретизації ОР, який кодер вибирає для окремих фрагментів відеоданих.
Відповідно, в кодеці Н.264 використовувалась залежна від параметра дискретизації ініціалізація оцінки ймовірності. Зокрема, кодек Н.264 визначає пару величин для кожного контексту, а саме залежний від параметра дискретизації лінійний коефіцієнт, тобто, крутизну, а також величину зміщення, тобто, незалежне від параметра дискретизації значення ініціалізації. Обидві величини визначали у 8-бітовій системі.
Існує постійне бажання додатково підвищити ефективність кодування відеоданих і, відповідно, повинна бути вигідною можливість додатково покращити визначене вище адаптивне до контексту бінарне ентропійне кодування з точки зору ефективності, тобто, в термінах компромісу між ступінню стискання, з одного боку, і складністю втілення, з іншого боку.
Відповідно, задачею представленого винаходу є надання такої концепції кодування. Ця задача вирішується об'єктом доданих незалежних пунктів формули винаходу. Основне відкриття представленого винаходу випливає з виявленого винахідниками факту, що точність, при якій вищевказані крутизна і зміщення в адаптивному до контексту бінарному ентропійному кодуванні не повинні бути занадто великими для уникнення будь-якої тренувальної фази, у якій характерна суміш відеконтенту перевіряється для одержання пар величин крутизни і зміщення для окремого контексту, зупиняється на оптимізованих величинах, які, фактично, точніше представляють суміш фактично перевіреного відеоконтенту, ніж характерні величини статистичної сукупності відеоданих. Відповідно, винахідники представленого винаходу виявили, що вигідно зменшувати точність надання величин крутизни та зміщення для ініціалізації оцінки ймовірностей контекстів. Винахідники зрозуміли, наприклад, що це зниження не тільки веде до 60 зниження вимог до об'єму пам'яті, які накладаються на відеокодери і декодери для зберігання пар величин крутизни і зміщення для кожного контексту, а й також до незначного підвищення ефективності кодування при тестуванні ефективності кодування в полі.
Переважні варіанти виконання даного винаходу описуються далі з посиланням на креслення, на яких
Фіг. 1 зображає блок-схему кодера, згідно з варіантом виконання;
Фіг. 2а-2с схематично зображають різні підрозбиття масиву зразків, такого як підрозбиття картинки на блоки;
Фіг. З зображає блок-схему декодера, згідно з варіантом виконання;
Фіг. 4 детальніше зображає блок-схему кодера, згідно з варіантом виконання;
Фіг. 5 детальніше зображає блок-схему декодера, згідно з варіантом виконання;
Фіг. б схематично зображає перетворення блока з просторової області в спектральну область, одержуваний блок перетворення і його повторне перетворення;
Фіг. 7 зображає блок-схему кодера, згідно з варіантом виконання;
Фі. 8 зображає блок-схему декодера, придатного для декодування потоку бітів, генерованого кодером з Фіг. 8, згідно з варіантом виконання;
Фіг. 9 зображає схематичну діаграму, яка показує пакет даних з мультиплексованими частковими потоками бітів, згідно з варіантом виконання;
Фіг. 10 зображає схематичну діаграму, яка показує пакет даних з альтернативною сегментацією, яка використовує сегменти фіксованого розміру, згідно з подальшим варіантом виконання;
Фіг. 11 зображає декодер, який використовує режим перемикання, згідно з варіантом виконання;
Фіг. 12 зображає декодер, який використовує режим перемикання, згідно з подальшим варіантом виконання;
Фіг. 13 зображає кодер, який підключається до декодера з Фігури 11, згідно з варіантом виконання;
Фіг. 14 зображає кодер, який підключається до декодера з Фіг. 12, згідно з варіантом виконання;
Фіг. 15 зображає графічну залежність реїаїесіх і гшІСіхегатв/256;
Фіг. 16 зображає декодер, згідно з варіантом виконання представленого винаходу; і
Фіг. 17 зображає кодер, згідно з варіантом виконання представленого винаходу.
Відзначається, що, під час опису фігур, елементи, які з'являються на декількох з цих Фігур, позначені однаковим позиційним позначенням на кожній з них і повторний опис цих елементів настільки, наскільки це стосується функцій, уникається для уникнення непотрібних повторів.
Тим не менше, функції і описи, надані для однієї фігури, повинні також застосовуватися до інших Фігур, якщо чітко не вказано протилежне.
Далі, по-перше, описуються варіанти виконання загальної концепції кодування відеоданих стосовно Фіг. 1-17. Фіг. 1-6 належать до частини відеокодека, яка працює на синтаксичному рівні. Наступні фігури 8-17 належать до варіантів виконання для частини коду, яка належить до перетворення потоку синтаксичних елементів на потік даних і навпаки. Потім, спеціальні аспекти і варіанти виконання представленого винаходу описуються у формі можливих втілень загальної концепції, описаної щодо Фіг. 1-17.
Фіг. 1 зображає приклад для кодера 10, у якому можуть втілюватися аспекти представленого винаходу.
Кодер кодує масив інформаційних зразків 20 з одержанням потоку даних. Масив інформаційних зразків може представляти інформаційні зразки, які відповідають, наприклад, значенням світлоти, значенням кольору, значенням яскравості, значенням колірності або подібному. Однак, інформаційні зразки можуть також бути значеннями глибини у випадку масиву зразків 20, який є картою глибини, згенерованою, наприклад, часом датчика світла або
БО подібним.
Кодер 10 є блочним кодером. Тобто, кодер 10 кодує масив зразків 20 з одержанням потоку даних 30 у формі елементів з блоків 40. Кодування в елементах з блоків 40 необов'язково означає, що кодер 10 кодує ці блоки 40 цілюом незалежно один від іншого. Скоріше, кодер 10 може використовувати відновлення попередньо кодованих блоків для екстраполяції або інтрапрогнозування решти блоків і може використовувати гранулярність блоків для визначення параметрів кодування, тобто, для визначення способу кодування кожної ділянки масиву зразків, яка відповідає відповідному блоку.
Окрім того, кодер 10 є перетворювальним кодером. Тобто, кодер 10 кодує блоки 40 шляхом використання перетворення для перенесення зразків інформації в кожному блоці 40 з бо просторової області на спектральну область. Може використовуватися двовимірне перетворення, таке як ОСТ (дискретне косинусне перетворення) ЕЕТ (швидке перетворення
Фур'є) або подібне. Переважно, блоки 40 мають квадратну форму або прямокутну форму.
Підрозбиття масиву зразків 20 на блоки 40, зображене на Фіг. 1, просто служить для ілюстраційних цілей. Фіг. 1 зображає масив зразків 20, підрозбитий з одержанням стандартного двовимірного розташування квадратних або прямокутних блоків 40, які примикають один до іншого без налягання. Розмір блоків 40 може попередньо встановлюватися. Тобто, кодер 10 може не переносити інформацію про розмір блоків 40 в потоці даних 30 до декодувальної сторони. Наприклад, декодер може очікувати на наперед встановлений розмір блока.
Однак, можливі декілька альтернатив. Наприклад, блоки можуть налягати один на інший.
Налягання може, однак, обмежуватися до такої міри, що кожен блок має частину, на яку не налягає будь-який сусідній блок, або так, що на кожен зразок блоків налягає максимум один блок серед сусідніх блоків, розташованих суміжно з поточним блоком вздовж наперед встановленого напряму. Останнє повинно означати, що ліві і праві сусідні блоки можуть налягати на поточний блок для повного покривання поточного блоку, але вони можуть не налягати один на інший і те ж саме застосовується для сусідніх блоків у вертикальному і діагональному напрямі.
Як подальша альтернатива, підрозбиття масиву зразків 20 з одержанням блоків 40 може адаптуватися до контенту масиву зразків 20 кодером 10 за допомогою інформації про використовуване підрозбиття, яка переноситься до декодера потоком бітів 30.
Фігури 2а - 2с зображають різні приклади для підрозбиття масиву зразків 20 на блоки 40. фіг. 2а зображає підрозбиття на основі квадрадерева масиву зразків 20 на блоки 40 різних розмірів, при цьому відповідні блоки позначені позиціями 40а, 40Б, 40с і 404 із зростаючим розміром. У відповідності з підрозбиттям з Фіг. 2а масив зразків 20 спершу ділиться на стандартну двовимірну схему деревних блоків 4004, які, у свою чергу, мають індивідуальну інформацію про підрозбиття, пов'язану з нею, згідно з якою певний деревний блок 400 може додатково підрозбиватися згідно зі структурою квадрадерева або ні. Деревний блок зліва від блока 404 ілюстративно підрозбитий на менші блоки, у відповідності зі структурою квадрадерева. Кодер 10 може виконувати одне двовимірне перетворення для кожного з блоків, зображених суцільною і пунктирною лініями на Фіг. 2а. Іншими словами, кодер 10 може перетворювати масив 20 в
Ко) елементи підрозбиття блока.
Замість підрозбиття на основі квадрадерева може використовуватися більш загальне підрозбиття на основі мультидерева і кількість дочірніх вузлів на ієрархічному рівні може відрізнятися в різних ієрархічних рівнях.
Фіг. 265 зображає інший приклад для підрозбиття. У відповідності з Фіг. 265 масив зразків 20 спершу ділиться на макроблоки 40р, розташовані згідно зі стандартною двовимірною схемою без взаємного налягання з упиранням один в інший, де кожен макроблок 40р зв'язаний з інформацією про підрозбиття, згідно з якою макроблок не підрозбивається або, якщо підрозбивається, то підрозбивається стандартним двовимірним способом на однакові субблоки для досягання різних гранулярностей підрозбиття для різних макроблоків. Результатом є підрозбиття масиву зразків 20 на різного розміру блоки 40 з представниками різних розмірів, які вказані позиціями 40а, 405 апа 40а". Як і на Фіг. 2а кодер 10 виконує двовимірне перетворення на кожному з блоків, зображених на Фіг. 25 суцільними і пунктирними лініями. Фіг. 2с буде обговорюватися пізніше.
Фіг. З зображає декодер 50, який здатен декодувати потік даних 30, генерований кодером 10, для відновлення відновленого варіанта 60 масиву зразків 20. Декодер 50 одержує з потоку даних ЗО блок коефіцієнтів перетворення для кожного з блоків 40 і відновлює відновлений варіант 60 шляхом виконання оберненого перетворення на кожному з блоків коефіцієнтів перетворення.
Кодер 10 і декодер 50 можуть конфігуруватися для виконання ентропійного кодування/декодування для введення інформації про блоки коефіцієнтів перетворення і, відповідно, одержання цієї інформації з потоку даних. Деталі з цього приводу, у відповідності з різними варіантами виконання, описуються пізніше. Слід відзначити, що потік даних 30 необов'язково містить інформацію про блоки коефіцієнтів перетворення для усіх блоків 40 масиву зразків 20. Скоріше, підмножина блоків 40 може кодуватися іншим способом з одержанням потоку бітів 30. Наприклад, кодер 10 може приймати рішення утриматися від введення блока коефіцієнтів перетворення для певного блока з блоків 40 із введенням в потік бітів 30 альтернативних параметрів кодування, замість чого надавати можливість декодеру 50 прогнозувати або, інакше, поміщати відповідний блок у відновлений варіант 60. Наприклад, кодер 10 може виконувати аналіз текстури для поміщення блоків в масиві зразків 20, який може заповнюватися на декодувальній стороні декодером у вигляді синтезу текстури і вказує це, відповідним чином, в потоці бітів.
Як це обговорюється стосовно наступних фігур, блоки коефіцієнтів перетворення необов'язково представляють спектральне представлення області зразків первинної інформації відповідного блока 40 масиву зразків 20. Скоріше такий блок коефіцієнтів перетворення може представляти спектральне представлення області залишкових величин прогнозування відповідного блока 40. Фіг. 4 зображає варіант виконання для такого кодера. Кодер з фіг. 4 містить фазу перетворення 100, ентропійний кодер 102, фазу оберненого перетворення 104, предиктор 106 і блок віднімання 108, а також суматор 110. Блок віднімання 108, фаза перетворення 100 і ентропійний кодер 102 послідовно з'єднані в порядку, згаданому між входом 112 ї виходом 114 кодера з Фіг. 4. Фаза оберненого перетворення 104, суматор 110 і предиктор 106 з'єднані в порядку, згаданому між виходом фази перетворення 100 і інверсним входом блоку віднімання 108, при цьому вихід предиктора 106 також з'єднаний з подальшим входом суматора 110.
Кодер з Фіг. 4 зображає прогнозувальний перетворювальний блочний кодер. Тобто, блоки масиву зразків 20, який надходить на вхід 112, прогнозуються з попередньо кодованих і відновлених частин того ж масиву зразків 20 або попередньо кодованих і відновлених інших масивів зразків, які можуть передувати або прямувати за поточним масивом зразків 20 в даному часі. Прогнозування виконується предиктором 106. Блок віднімання 108 віднімає дані прогнозу від такого первинного блока, а фаза перетворення 100 виконує двовимірне перетворення на залишкових величинах прогнозування Двовимірне перетворення саме по собі або наступний захід всередині фази перетворення 100 може приводити до дискретизації коефіцієнтів перетворення в блоках коефіцієнтів перетворення. Дискретизовані блоки коефіцієнтів перетворення кодуються без втрат, наприклад, ентропійним кодуванням в ентропійному кодєрі 102 з виходом одержуваного потоку даних на виході 114. Фаза оберненого перетворення 104 відновлює дискретизований залишок, а суматор 110, у свою чергу, поєднує відновлений залишок відповідними даними прогнозування для одержання відновлених зразків інформації, на основі яких предиктор 106 може прогнозувати вищезгадані на даний момент кодовані прогнозувальні блоки. Предиктор 106 може використовувати різні режими прогнозування, такі як
Зо режими інтрапрогнозування і режими інтерпрогнозування, для прогнозування блоків, а параметри прогнозування направляються до ентропійного кодера 102 для введення в потік даних. Для кожного інтерпрогнозованого прогнозувального блока відповідні дані руху вводяться в потік бітів, за допомогою ентропійного кодера 114, для надання можливості декодувальній стороні повторно робити прогноз. Дані руху для прогнозувального блока картинки можуть використовувати синтаксичну частину, яка містить синтаксичний елемент, який представляє різницю векторів руху, яка диференціально кодує вектор руху для поточного прогнозувального блока відносно предиктора вектора руху, одержаного, наприклад, описаним способом з векторів руху сусідніх вже кодованих прогнозувальних блоків.
Тобто, у відповідності з варіантом виконання з Фіг. 4, блоки коефіцієнтів перетворення скоріше представляють спектральне представлення залишку масиву зразків, а ніж його інформаційні зразки. Тобто, у відповідності з варіантом виконання з Фіг. 4, послідовність синтаксичних елементів може надходити в ентропійний кодер 102 для ентропійного кодування з одержанням потоку даних 114. Послідовність синтаксичних елементів може містити синтаксичні елементи різниці векторів руху для інтерпрогнозувальних блоків і синтаксичні елементи, які стосуються карти значущості, яка вказує положення рівнів значущості коефіцієнта перетворення, а також синтаксичні елементи, які самі по собі визначають рівні значущості коефіцієнта перетворення для блоків перетворення.
Слід відзначити, що для варіанта виконання з Фіг. 4 існують декілька альтернатив, деякі з яких описані у вступній частині опису, який включений в опис Фіг. 4.
Фіг. 5 зображає декодер, здатний декодувати потік даних, генерований кодером з Фіг. 4.
Декодер з Фіг. 5 містить ентропійний декодер 150, фазу оберненого перетворення 152, суматор 154 і предиктор 156. Ентропійний декодер 150, фаза оберненого перетворення 152 і суматор 154 послідовно з'єднані між входом 158 і виходом 160 декодера з Фіг. 5 у згаданому порядку.
Подальший вихід ентропійного декодера 150 з'єднаний з предиктором 156, який, у свою чергу, з'єднаний між виходом суматора 154 та його подальшим входом. Ентропійний декодер 150 виділяє з потоку даних, який надходить в декодер з Фіг. 5 на вхід 158, блоки коефіцієнтів перетворення, де для блоків коефіцієнтів перетворення на фазі 152 застосовується обернене перетворення для одержання залишкового сигналу. Залишковий сигнал поєднується з прогнозом від предиктора 156 на суматорі 154 для одержання відновленого блока відновленого бо варіанта масиву зразків на виході 160. На основі відновлених варіантів предиктор 156 генерує прогнози, таким чином повторно створюючи прогнози, виконані предиктором 106 на кодувальній стороні. Для одержання тих же прогнозів, що використовуються на кодувальній стороні, предиктор 156 використовує параметри прогнозування, які ентропійний декодер 150 також одержує з потоку даних на вході 158.
Слід відзначити, що у вищеописаних варіантах виконання просторова гранулярність, з якою виконується прогнозування і перетворення залишку, не повинна бути рівною між собою. Це зображено на Фіг. 2С. Ця фігура зображає підрозбиття для прогнозувальних блоків прогнозувальної гранулярності суцільними лініями і залишкову гранулярність - пунктирними лініями. Як можна побачити, підрозбиття можуть вибиратися кодером незалежно одне від іншого. Для більшої точності, синтаксис потоку даних може передбачати визначення підрозбиття залишку незалежно від підрозбиття прогнозу. Альтернативно, підрозбиття залишку може бути продовженням підрозбиття прогнозу так, що кожен залишковий блок або дорівнює або є належною підмножиною прогнозувального блока. Це зображено на фіг. 2а і Фіг. 26, наприклад, де знову прогнозувальна гранулярність зображена суцільними лініями, а залишкова гранулярність - пунктирними лініями. Тобто, на Фіг. 2а-2с усі блоки, які мають позиційне позначення, повинні бути залишковими блоками, для яких повинно виконуватися двовимірне перетворення, тоді як блоки, вказані товщими суцільними лініями і охоплюють блоки 4ба, вказані пунктирними лініями, наприклад, повинні бути прогнозувальними блоками, для яких індивідуально виконується визначення параметрів прогнозування.
Вищезгадані варіанти виконання повинні перетворювати загалом такий блок (залишковий або первинний) зразків на кодувальній стороні з одержанням блока коефіцієнтів перетворення, який, у свою чергу, повинен інверсно перетворюватися на відновлений блок зразків на декодувальній стороні. Це зображено на фіг. 6. Фіг. б зображає блок зразків 200. У випадку фіг. б, цей блок 200 є ілюстративно квадратним і за розміром становить 4х4 зразки 202. Зразки 202 стандартно розташовані вздовж горизонтального напряму х і вертикального напряму у. Завдяки вищезгаданому двовимірному перетворенню Т блок 200 перетворюється на спектральну область, зокрема на блок 204 коефіцієнтів 206 перетворення, який має той же розмір що й блок 200. Тобто, блок перетворення 204 має стільки коефіцієнтів 206 перетворення, скільки блок 200 має зразків як в горизонтальному напрям, так і у вертикальному напрямі. Однак, оскільки
Зо перетворення Т є спектральним перетворенням, то положення коефіцієнтів 206 перетворення в блоці перетворення 204 не відповідають просторовим положенням, а скоріше спектральним компонентам контенту блока 200. Зокрема, горизонтальна вісь блоку перетворення 204 відповідає осі, вздовж якої спектральна, частота в горизонтальному напрямі монотонно зростає, тоді як вертикальна вісь відповідає осі, вздовж якої просторова частота у вертикальному напрямі монотонно зростає, де коефіцієнт перетворення компонента ОС розташований в куті - тут ілюстративно верхній лівий кут - блоку 204 так, що в нижньому правому куті розташований коефіцієнт 206 перетворення, який відповідає найвищій частоті як в горизонтальному, так і у вертикальному напрямі. Нехтуючи просторовим напрямом, просторова частота, якій належить певний коефіцієнт 206 перетворення, головним чином зростає від верхнього лівого кута до нижнього правого кута. Завдяки оберненому перетворенню Т"' блок перетворення 204 повторно переноситься з спектральної області на просторову область для повторного одержання копії 208 блока 200. У випадку відсутності дискретизації/втрати під час перетворення, відновлення повинно бути досконалим.
Як вже відзначалося вище, з Фіг. б можна побачити, що блок 200 більшого розміру збільшує спектральну роздільну здатність одержуваного спектрального представлення 204. З іншого боку, шум дискретизації має тенденцію до поширення по усьому блоку 208 і, таким чином, круті і дуже локалізовані об'єкти в блоках 200 мають тенденцію до появи відхилень повторно перетвореного блока відносно первинного блока 200 завдяки шуму дискретизації. Основною перевагою використання більших блоків є, однак, те, що відношення між кількістю значущих, тобто, ненульових (дискретизованих) коефіцієнтів перетворення, тобто рівнів, з одного боку, і кількістю несуттєвих коефіцієнтів перетворення, з іншого боку, може зменшуватися в більших блоках, порівняно з меншими блоками, таким чином забезпечуючи кращу ефективність кодування. Іншими словами, часто, рівні значущості коефіцієнта перетворення, тобто, коефіцієнти перетворення, не дискретизовані в нуль, рідко розподіляються по блоку перетворення 204. Завдяки цьому, у відповідності з варіантами виконання, описаними детальніше нижче, положення рівнів значущості коефіцієнта перетворення сигналізуються в потоці даних у вигляді карти значущості. Окремо від них величини значущого коефіцієнта перетворення, тобто, рівні значущості коефіцієнта перетворення у випадку коефіцієнтів перетворення, які дискретизуються, переносяться в потоці даних.
Усі описані вище кодери і декодери, таким чином, конфігуруються для певного синтаксису синтаксичних елементів. Тобто, вищезгадані синтаксичні елементи, такі як рівні значущості коефіцієнта перетворення, синтаксичні елементи, які стосуються карти значущості блоків перетворення, синтаксичні елементи даних руху, які стосуються інтерпрогнозувальних блоків і так далі, припускаються тими, що послідовно розташовані в потоці даних попередньо встановленим способом. Такий попередньо встановлений спосіб може представлятися у формі псевдокоду, як це робиться, наприклад, в стандарті Н.264 або інших відеокодеках.
Ще іншими словами, вищенаведений опис головним чином має справу з перетворенням мультимедійних даних, тут ілюстративних відеоданих, на послідовність синтаксичних елементів у відповідності з попередньо визначеною синтаксичною структурою, яка описує певні типи синтаксичних елементів, їх семантику і порядок серед них. Ентропійний кодер і ентропійний декодер з фіг. 4 і 5 можуть конфігуруватися для роботи і можуть структуруватися, як вказано далі. Те ж саме відповідає за виконання перетворення між послідовністю синтаксичних елементів і потоком даних, тобто, символьним або бітовим потоком.
Ентропійний кодер, згідно з варіантом виконання, зображений на Фіг. 7. Кодер без втрат перетворює потік синтаксичних елементів 301 на множину з двох або більшої кількості часткових бітових потоків 312.
В переважному варіанті виконання винаходу кожен синтаксичний елемент 301 зв'язується з категорією множини з однієї або більшої кількості категорій, тобто, типом синтаксичного елемента. Як приклад, категорії можуть специфікувати тип синтаксичного елемента. В контексті гібридного кодування відеоданих окрема категорія може зв'язуватися з режимами макроблочного кодування, режимами блочного кодування, індексами еталонної картинки, різницями векторів руху, ідентифікаторами підрозбиття, ідентифікаторами кодованих блоків, параметрами дискретизації, рівнями значущості коефіцієнта перетворення і так далі. В інших областях застосування, таких як аудіокодування, кодування мови, кодування тексту, кодування документа або кодування загальних даних, можливі різні категоризації синтаксичних елементів.
Загалом, кожен синтаксичний елемент може приймати величину із скінченої або зчисленної нескінченої множини величин, де множина можливих величин синтаксичних елементів може відрізнятися для різних категорій синтаксичних елементів. Наприклад, існують бінарні синтаксичні елементи, а також цілі синтаксичні елементи.
Для зниження складності алгоритму кодування і декодування, і для надання можливості виконання загальної схеми кодування і декодування для різних синтаксичних елементів і категорій синтаксичних елементів, синтаксичні елементи 301 перетворюються на упорядковані множини бінарних рішень і ці бінарні рішення потім обробляються простими алгоритмами бінарного кодування. Тому, бінаризатор 302 бієктивно перетворює величину кожного синтаксичного елемента 301 на послідовність (або рядок або слово) з двійкових кодів 303.
Послідовність двійкових кодів 303 представляє множину упорядкованих бінарних рішень.
Кожний двійковий код 303 або бінарне рішення може приймати одну величину з множини з двох величин, наприклад, одну з величин, вибрану з 0 і 1. Схема бінаризації може відрізнятися для різних категорій синтаксичних елементів. Схема бінаризації для окремої категорії синтаксичних елементів може залежати від множини можливих величин синтаксичних елементів і/або інших властивостей синтаксичного елемента для окремої категорії. Таблиця 1 зображає три ілюстративні схеми бінаризації для зчисленних нескінчених множин. Схеми бінаризації для зчисленних нескінчених множин можуть також застосовуватися для скінчених множин величин синтаксичних елементів. Зокрема, для великих скінчених множин величин синтаксичних елементів неефективність (одержувана з невикористаних послідовностей двійкових кодів) може бути нехтуваною, але універсальність таких схем бінаризації надає перевагу з точки зору складності та вимог до пам'яті. Для малих скінчених множин величин синтаксичних елементів часто вигідно (з точки зору ефективності кодування) адаптувати схему бінаризації до кількості можливих символьних величин.
Таблиця 2 зображає три ілюстративні схеми бінаризації для скінчених множин з 8 величин.
Схеми бінаризації для скінчених множин можна одержати з універсальних схем бінаризації для зчисленних нескінчених множин шляхом модифікації деяких послідовностей двійкових кодів у такий спосіб, що скінчені множини послідовностей двійкових кодів представляють код без резервування (і який потенційно повторно упорядковує послідовності двійкових кодів). Як приклад, схема бінаризації з використанням зрізаних унарних кодів в Таблиці 2 була створена шляхом модифікації послідовності двійкових кодів для синтаксичного елемента 7 бінаризації з використанням універсальних унарних кодів (дивіться Таблицю 1). Переупорядкована бінаризація з використанням експоненціальних кодів Голомба порядку 0 в Таблиці 2 створена 60 модифікацією послідовності двійкових кодів для синтаксичного елемента 7 бінаризації з використанням універсальних експоненціальних кодів Голомба порядку 0 (дивіться Таблицю 1) і повторним упорядкуванням послідовностей двійкових кодів (послідовність зрізаних двійкових кодів для символу 7 присвоєна символу 1). Для скінчених множин синтаксичних елементів також можна використовувати несистематичні/неуніверсальні схеми бінаризації, як ілюструється в останньому стовпчику Таблиці 2.
Таблиця 1:
Приклади бінаризації для зчисленних нескінчених множин (або великих скінчених множин).
Бінаризація з Бінаризація з Бінаризація з
Символьна величина використанням використанням використанням і експоненціальних кодів | експоненціальних кодів унарних кодів
Голомба порядку 0 Голомба порядку 1
Кл М: ПОН Є НОЯ Б С ВО б 77777771 00000001. 00011177 00010001
Таблиця 2:
Приклади бінаризації для скінчених множин.
Бінаризація з переупорядкована
Символьна використанням бінаризація з використанням Несистематична величина зрізаного унарного | експоненціальних зрізаних бінаризація коду кодів Голомба порядку 0 б 111111вю1
ЕП Сх ПОН КТ ООН СЕТ ПО ел СТетоте ето х ПОН КТ ЛЬ НКТ ООН Б Со Б НС НО
Кожен двійковий код 303 послідовності двійкових кодів, створеної бінаризатором 302, подається в присвоювач 304 параметрів у послідовному порядку. Присвоювач параметрів присвоює множину з одного або більшої кількості параметрів кожному двійковому коду 303 і видає двійковий код 3 відповідною множиною параметрів 305. Множина параметрів визначається точно одним і тим же способом в кодері і декодері. Множина параметрів може складатися з одного або більшої кількості наступних параметрів:
Зокрема, присвоювач 304 параметрів може конфігуруватися для присвоювання поточному двійковому коду 303 моделі контексту. Наприклад, присвоювач 304 параметрів може вибирати один з доступних індексів контексту для поточного двійкового коду 303. Доступна множина контекстів для поточного двійкового коду 303 може залежати від типу двійкового коду, який, у свою чергу, може визначатися типом/категорією синтаксичного елемента 301, в результаті бінаризації якого поточний двійковий код 303 є його частиною, а положення поточного двійкового коду 303 знаходиться в пізнішій бінаризації. Вибір контексту серед множини доступних контекстів може залежати від попередніх двійкових кодів і синтаксичних елементів, пов'язаних з ними. Кожен з цих контекстів має модель ймовірності, зв'язану з ним, тобто, засіб для оцінки ймовірності для поточної інформаційної величини набуття одного з двох можливих значень інформаційної величини. Модель ймовірності може, зокрема, бути засобом для оцінки ймовірності набуття поточною інформаційною величиною її менш ймовірного або більш ймовірного значення, при цьому модель ймовірності додатково визначається ідентифікатором, який специфікує оцінку, яке з двох можливих значень інформаційної величини представляє Її менш ймовірне або більш ймовірне значення поточного двійкового коду 303. У випадку просто одного контексту, який доступний для поточної інформаційної величини, вибір контексту може не виконуватися. Як буде описано детальніше нижче, присвоювач 304 параметрів може також виконувати адаптацію моделі ймовірності для адаптації моделей ймовірностей, зв'язаних з різними контекстами, до реальної статистики відповідних інформаційних величин, які належать відповідним контекстам.
Як буде також детальніше описуватися нижче, присвоювач 304 параметрів може працювати диференційно в залежності від високоефективного режиму (НЕ) або режиму низької складності (ІС), який активується. В обох режимах модель ймовірності зв'язує поточну інформаційну величину двійкового коду 303 з будь-яким з двійкових кодерів 310, як буде описано нижче, а режим роботи присвоювача 304 параметрів має тенденцію бути менш складним в режимі І С, однак, ефективність кодування зростає у високоефективному режимі внаслідок того, що присвоювач 304 параметрів, який зв'язує окремі інформаційні величини двійкового коду 303 з окремими кодерами 310, акуратніше адаптований до статистики інформаційних величин, таким чином оптимізуючи ентропію відносно режиму І б.
Кожна інформаційна величина з відповідною множиною параметрів 305, яка є виходом присвоювача 304 параметрів, подається до двійкового буферного селектора 306. Двійковий буферний селектор 306 потенційно модифікує значення вхідної інформаційної величини 305 на основі її значення і відповідних параметрів 305, і подає вихідну інформаційну величину 307 з потенційно модифікованим значенням до одного з двох або більшої кількості двійкових буферів 308. Двійковий буфер 308, до якого надсилається вихідна інформаційна величина 307, визначається на основі значення вхідної інформаційної величини 305 і/або величини відповідних параметрів 305.
В переважному варіанті виконання винаходу двійковий буферний селектор 306 не модифікує значення інформаційної величини, тобто, вихідна інформаційна величина 307 має завжди те ж значення що й вхідна інформаційна величина 305. В подальшому переважному варіанті виконання винаходу двійковий буферний селектор 306 визначає значення вихідної інформаційної величини 307 на основі значення вхідної інформаційної величини 305 і відповідне значення для оцінки ймовірності набуття поточною інформаційною величиною
Зо одного з двох її можливих значень. В переважному варіанті виконання винаходу значення вихідної інформаційної величини 307 встановлюється рівним значенню вхідної інформаційної величини 305, якщо значення для оцінки ймовірності набуття поточною інформаційною величиною одного з двох можливих її значень менше за (або менше або рівне) конкретне порогове значення; якщо значення для оцінки ймовірності набуття поточною інформаційною величиною одного з двох можливих її значень більше або рівне (або більше) конкретного порогового значення, то значення вихідної інформаційної величини 307 модифікується (тобто, воно встановлюється рівним протилежному значенню вхідної інформаційної величини). В подальшому переважному варіанті виконання винаходу значення вхідної інформаційної величини 307 встановлюється рівним значенню вхідної інформаційної величини 305, якщо значення для оцінки ймовірності набуття поточною інформаційною величиною одного з двох можливих її значень більше за (або більше або рівне) конкретне порогове значення; якщо значення для оцінки ймовірності набуття поточною інформаційною величиною одного з двох можливих її значень менше або рівне (або менше) конкретного пороговому значенню, то значення вихідної інформаційної величини 307 модифікується (тобто, воно встановлюється рівним протилежному значенню вхідної інформаційної величини). В переважному варіанті виконання винаходу значення порогу відповідає величині 0,5 для оціненої ймовірності набуття обох можливих значень інформаційної величини.
В подальшому переважному варіанті виконання винаходу двійковий буферний селектор 306 визначає значення вихідної інформаційної величини 307 на основі значення вхідної інформаційної величини 305 і відповідного ідентифікатора, який специфікує оцінку, завдяки якій одне з двох можливих значень інформаційної величини представляє менш ймовірне або більш ймовірне значення для поточної інформаційної величини. В переважному варіанті виконання винаходу значення вихідної інформаційної величини 307 встановлюється рівним значенню вхідної інформаційної величини 305, якщо ідентифікатор специфікує, що перше з двох можливих значень інформаційної величини представляє менш ймовірне (або більш ймовірне) значення для поточної інформаційної величини, а значення вихідної інформаційної величини 307 модифікується (тобто, воно встановлюється рівним протилежному значенню вхідної інформаційної величини), якщо ідентифікатор специфікує, що друге з двох можливих значень інформаційної величини представляє менш ймовірне (або більш ймовірне) значення для бо поточної інформаційної величини.
В переважному варіанті виконання винаходу двійковий буферний селектор 306 визначає двійковий буфер 308, до якого надсилається значення вихідної інформаційної величини 307, на основі відповідного значення для оцінки ймовірності набуття поточною інформаційною величиною одного з двох її можливих значень. В переважному варіанті виконання винаходу множина можливих значень для визначення оцінки ймовірності набуття поточною інформаційною величиною одного з двох її можливих значень є скінченою і двійковий буферний селектор 306 містить таблицю, яка точно зв'язує один двійковий буфер 308 з кожним можливим значенням для оцінки ймовірності набуття поточною інформаційною величиною одного з двох її можливих значень, де різні значення для визначення оцінки ймовірності набуття поточною інформаційною величиною одного з двох її можливих значень можуть зв'язуватися з одним і тим же двійковим буфером 308. В подальшому переважному варіанті виконання винаходу інтервал можливих значень для визначення оцінки ймовірності набуття поточною інформаційною величиною одного з двох її можливих значень ділиться на ряд інтервалів, двійковий буферний селектор 306 визначає індекс інтервалу для поточного значення для оцінки ймовірності набуття поточною інформаційною величиною одного з двох її можливих значень і двійковий буферний селектор 306 містить таблицю, яка точно зв'язує один двійковий буфер 308 з кожним можливим значенням для індексу інтервалу, де різні значення для індексу інтервалу можуть зв'язуватися з одним і тим же двійковим буфером 308. В переважному варіанті виконання винаходу вхідні інформаційні величини 305 з протилежними значеннями для оцінки ймовірності набуття поточною інформаційною величиною одного з двох її можливих значень (протилежні значення є ті, які представляють оцінки ймовірності Р і 1 - Р) надсилаються в один і той же двійковий буфер 308. В подальшому переважному варіанті виконання винаходу зв'язування значення для оцінки ймовірності набуття поточною інформаційною величиною одного з двох її можливих значень з окремим двійковим буфером адаптується з часом, наприклад, для гарантії того, що створені часткові потоки бітів мають подібні швидкості передачі бітів. Далі нижче, індекс інтервалу буде також називатися ріре індексом, тоді як ріре індекс разом з індексом деталізації і ідентифікатором, який вказує більш ймовірне значення інформаційної величини, індексують фактичну модель ймовірності, тобто, оцінку ймовірності.
В подальшому переважному варіанті виконання винаходу двійковий буферний селектор 306
Зо визначає двійковий буфер 308, до якого надсилають вихідну інформаційну величину 307, на основі відповідного значення для оцінки ймовірності набуття поточною інформаційною величиною її менш ймовірного або більш ймовірного значення. В переважному варіанті виконання винаходу множина можливих значень для оцінки ймовірності набуття поточною інформаційною величиною її менш ймовірного або більш ймовірного значення є скінченою і
З5 двійковий буферний селектор 306 містить таблицю, яка точно зв'язує один двійковий буфер 308 з кожним можливим значенням оцінки ймовірності набуття поточною інформаційною величиною її менш ймовірного або більш ймовірного значення, де різні значення для визначення оцінки ймовірності набуття поточною інформаційною величиною її менш ймовірного або більш ймовірного значення можуть зв'язуватися з одним і тим же двійковим буфером 308. В подальшому переважному варіанті виконання винаходу інтервал можливих значень для визначення оцінки ймовірності набуття поточною інформаційною величиною її менш ймовірного або більш ймовірного значення ділиться на ряд інтервалів, двійковий буферний селектор 306 визначає індекс інтервалу для поточного визначення оцінки ймовірності набуття поточною інформаційною величиною її менш ймовірного або більш ймовірного значення, а двійковий буферний селектор 306 містить таблицю, яка точно зв'язує один двійковий буфер 308 з кожним можливим значенням для індексу інтервалу, де різні значення для індексу інтервалу можуть зв'язуватися з одним і тим же двійковим буфером 308. В подальшому переважному варіанті виконання винаходу зв'язування значення для оцінки ймовірності набуття поточною інформаційною величиною її менш ймовірного або більш ймовірного значення з окремим двійковим буфером адаптується з часом, наприклад, для гарантії того, що створені часткові потоки бітів мають подібні швидкості передачі бітів.
Кожен з двох або більшої кількості двійкових буферів 308 з'єднаний точно з одним двійковим кодером 310 і кожен двійковий кодер з'єднаний тільки з одним двійковим буфером 308. Кожен двійковий кодер 310 зчитує інформаційні величини з відповідного двійкового буфера 308 і перетворює послідовність інформаційних величин 309 на кодове слово 311, яке представляє послідовність бітів. Двійкові буфери 308 представляють буфери, які працюють по принципу "першим надійшов-першим вийшов"; інформаційні величини, які подаються пізніше (у послідовному порядку) у двійковий буфер 308, не кодуються перед інформаційним величинами, які подаються раніше (у послідовному порядку) у двійковий буфер. Кодові слова 311, які є 60 виходом з окремого двійкового кодера 310, записуються в окремий частковий потік бітів 312.
Загальний алгоритм кодування перетворює синтаксичні елементи 301 на два або більшу кількість часткових потоків бітів 312, де кількість часткових потоків бітів дорівнює кількості двійкових буферів і двійкових кодерів. В переважному варіанті виконання винаходу двійковий кодер 310 перетворює змінну кількість інформаційних величин 309 на кодове слово 311 із змінною кількістю бітів. Однією перевагою вище-і нижчеописаних варіантів виконання винаходу є те, що кодування інформаційних величин може здійснюватися паралельно (наприклад, для різних груп значень ймовірності), що зменшує тривалість обробки для декількох втілень.
Іншою перевагою варіантів виконання винаходу є те, що кодування інформаційних величин, яке виконується двійковими кодерами 310, може спеціально розроблятися для різних множин параметрів 305. Зокрема, кодування і декодування інформаційних величин можуть оптимізуватися (з точки зору ефективності кодування і/або складності) для різних груп оцінених ймовірностей. З одного боку, це дозволяє послабити складність кодування/декодування і, з іншого боку, це дозволяє покращити ефективність кодування. В переважному варіанті виконання винаходу двійкові кодери 310 втілюють різні алгоритми кодування (тобто, перетворення послідовностей інформаційних величин на кодові слова) для різних груп значень оцінки ймовірності набуття поточною інформаційною величиною одного з її двох можливих значень. В подальшому переважному варіанті виконання винаходу двійкові кодери 310 втілюють різні алгоритми кодування для різних груп значень для оцінки ймовірності набуття поточною інформаційною величиною її менш ймовірного або більш ймовірного значення.
В переважному варіанті виконання винаходу двійкові кодери 310 (або один або більша кількість двійкових кодерів) представляють ентропійні кодери, які безпосередньо перетворюють послідовності вхідних інформаційних величин 309 на кодові слова 310. Такі перетворення можуть ефективно виконуватися і не вимагають складного арифметичного кодувального засобу. Обернене перетворення кодових слів на послідовності інформаційних величин (як це робиться в декодері) повинне бути унікальним для гарантії досконалого декодування вхідної послідовності, але перетворення послідовностей 309 інформаційних величин на кодові слова 310 необов'язково потребує бути унікальною, тобто, можна, щоб окрему послідовність інформаційних величин можна було перетворювати на більше ніж одну послідовність кодових слів. В переважному варіанті виконання винаходу перетворення послідовностей вхідних
Зо інформаційних величин 309 на кодові слова 310 є бієктивним. В подальшому переважному варіанті виконання винаходу двійкові кодери 310 (або один або більша кількість двійкових кодерів) представляють ентропійні кодери, які безпосередньо перетворюють послідовності вхідних інформаційних величин 309 змінної довжини на кодові слова 310 змінної довжини. В переважному варіанті виконання винаходу вихідні кодові слова представляють коди без надлишку, такі як загальні коди Хаффмана або канонічні коди Хаффмана.
Два приклади для бієктивного перетворення послідовностей інформаційних величин на коди без надлишку зображені в Таблиці 3. В подальшому переважному варіанті виконання винаходу вихідні кодові слова представляють надлишкові коди, придатні для виявлення помилки і виправлення помилки. В подальшому переважному варіанті виконання винаходу вихідні кодові слова представляють шифрувальні коди, придатні для шифрування синтаксичних елементів.
Таблиця 3:
Приклади для перетворень між послідовностями інформаційних величин і кодовими словами. послідовність інформаційних величин (порядок інформаційної величини зліва кодові слова (порядок бітів зліва направо) направо) послідовність інформаційних величин (порядок інформаційної величини зліва кодові слова (порядок бітів зліва направо) направо)
ЕТО: ПОН ОБ Се ПО
В подальшому переважному варіанті виконання винаходу двійкові кодери 310 (або один або більша кількість двійкових кодерів) представляють ентропійні кодери, які безпосередньо перетворюють послідовності вхідних інформаційних величин 309 змінної довжини на кодові слова 310 фіксованої довжини. В подальшому переважному варіанті виконання винаходу двійкові кодери 310 (або один або більша кількість двійкових кодерів) представляють ентропійні кодери, які безпосередньо перетворюють послідовності вхідних інформаційних величин 309 фіксованої довжини на кодові слова 310 змінної довжини.
Декодер, згідно з варіантом виконання винаходу, зображений на фігурі 8. Декодер виконує головним чином інверсні операції кодера таким чином, що (попередньо кодована) послідовність синтаксичних елементів 327 декодуються з множини з двох або більшої кількості часткових потоків бітів 324. Декодер містить два різні технологічні потоки: потік для інформаційних запитів, який копіює потік даних кодера, і потік даних, який представляє інверсію потоку даних кодера.
На Фіг. 8 стрілки, позначені пунктирними лініями, представляють потік інформаційних запитів, тоді як стрілки, позначені суцільною лінією, представляють потік даних. Стандартні блоки декодера головним чином копіюють стандартні блоки кодера, але виконують обернені операції.
Декодування синтаксичного елемента запускається запитом на надання нового декодованого синтаксичного елемента 313, який надсилається до бінаризатора 314. В переважному варіанті виконання винаходу кожен запит на надання нового декодованого синтаксичного елемента 313 зв'язується з категорією множини однієї або більшої кількості категорій. Категорія, яка зв'язується із запитом на надання синтаксичного елемента, є тією же що й категорія, яка була зв'язана з відповідним синтаксичним елементом під час кодування.
Бінаризатор 314 перетворює запит на надання синтаксичного елемента 313 на один або більшу кількість запитів на надання інформаційної величини, які надсилаються до присвоювача 316 параметрів. Як кінцеву відповідь на запит на надання інформаційної величини, який надсилається бінаризатором 314 до присвоювача 316 параметрів, бінаризатор 314 приймає декодовану інформаційну величину 326 від двійкового буферного селектора 318. Бінаризатор 314 порівнює прийняту послідовність декодованих двійкових кодів 326 з послідовностями
Зо двійкових кодів окремої схеми бінаризації для запрошеного синтаксичного елемента і, якщо прийнята послідовність декодованих двійкових кодів 326 відповідає результатам бінаризації синтаксичного елемента, то бінаризатор спорожнює свій двійковий буфер і видає декодований синтаксичний елемент як остаточну відповідь на запиту на надання нового декодованого символу. Якщо вже прийнята послідовність декодованих двійкових кодів не відповідає жодній з послідовностей двійкових кодів для схеми бінаризації для запрошеного синтаксичного елемента, то бінаризатор надсилає інший запит на надання інформаційної величини до присвоювач параметрів доти, доки послідовність декодованих двійкових кодів не відповідатиме одній з послідовностей двійкових кодів схеми бінаризації для запрошеного синтаксичного елемента. Для кожного запиту на надання синтаксичного елемента декодер використовує одну і ту ж схему бінаризації, яку використовували для кодування відповідного синтаксичного елемента. Схема бінаризації може відрізнятися для різних категорій синтаксичних елементів.
Схема бінаризації для окремої категорії синтаксичного елемента може залежати від множини можливих значень синтаксичного елемента і/або інших властивостей синтаксичних елементів для окремої категорії.
Присвоювач 316 параметрів присвоює множину з одного або більшої кількості параметрів кожному запиту на надання інформаційної величини і надсилає запит на надання інформаційної величини з відповідною множиною параметрів до двійкового буферного селектора. Множина параметрів, які присвоюються запрошеній інформаційній величині присвоювачем параметрів, є тією ж, що була присвоєна відповідній інформаційній величині під час кодування. Множина параметрів може складатися з одного або більшої кількості параметрів, які згадуються в описі кодера з Фіг. 7.
В переважному варіанті виконання винаходу присвоювач 316 параметрів зв'язує кожен запит на надання інформаційної величини з одними і тими ж параметрами що й присвоювач 304 параметрів, тобто, контекст і його відповідне значення для оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень, таке як значення для оцінки ймовірності набуття поточною запрошеною інформаційною величиною її менш ймовірного або більш ймовірного значення і ідентифікатор, який специфікує оцінку, завдяки якій одне з двох можливих значень інформаційної величини представляє її менш ймовірне або більш ймовірне значення для поточної запрошеної інформаційної величини.
Присвоювач 316 параметрів може визначати одну або більшу кількість вищезгаданих
Зо значень ймовірності (значення оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень, значення для оцінки ймовірності набуття поточною запрошеною інформаційною величиною її менш ймовірного або більш ймовірного значення, ідентифікатор, який специфікує оцінку, завдяки якій одне з двох можливих значень інформаційної величини представляє її менш ймовірне або більш ймовірне значення для поточної запрошеної інформаційної величини) на основі множини з одного або більшої кількості вже декодованих символів. Визначення значень ймовірності для окремого запиту на надання інформаційної величини копіює процес в кодері для відповідної інформаційної величини. Декодовані символи, які використовуються для визначення величин ймовірності, можуть включати один або більшу кількість вже декодованих символів однієї і тієї ж категорії, які відповідають множинам даних (таким як блоки або групи зразків) про сусідні просторові і/або тимчасові розташування (відносно множини даних, зв'язаної з поточним запитом на надання синтаксичного елемента), або один або більшу кількість вже декодованих символів різних категорій, які відповідають множинам даних про однакові і/або сусідні просторові, і/або тимчасові розташування (відносно множини даних, зв'язаної з поточним запитом на надання синтаксичного елемента).
Кожен запит на надання інформаційної величини з відповідною множиною параметрів 317, яка є виходом присвоювача 316 параметрів, подається у двійковий буферний селектор 318. На основі відповідної множини параметрів 317 двійковий буферний селектор 318 надсилає запит на надання інформаційної величини 319 до одного з двох або більшої кількості двійкових буферів 320 і приймає декодовану інформаційну величину 325 від вибраного двійкового буфера 320. Декодована вхідна інформаційна величина 325 потенційно модифікується і декодована вихідна інформаційна величина 326 (з потенційно модифікованим значенням) надсилається до бінаризатора 314 як кінцева відповідь на запит на надання інформаційної величини з відповідною множиною параметрів 317.
Двійковий буфер 320, до якого надсилається запит на надання інформаційної величини, вибирається тим же способом що й двійковий буфер, до якого була надіслана вихідна інформаційна величина двійкового буферного селектора на кодувальній стороні.
В переважному варіанті виконання винаходу двійковий буферний селектор 318 визначає двійковий буфер 320, до якого надсилається запит на надання інформаційної величини 319, на бо основі відповідного значення для оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень. В переважному варіанті виконання винаходу множина можливих значень для оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень є скінченою, а двійковий буферний селектор 318 містить таблицю, яка точно зв'язує один двійковий буфер 320 з кожним можливим значенням оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень, де різні значення для оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень можуть зв'язуватися з одним і тим же двійковим буфером 320. В подальшому переважному варіанті виконання винаходу інтервал можливих значень для оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень ділиться на ряд інтервалів, двійковий буферний селектор 318 визначає індекс інтервалу для поточної оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень і двійковий буферний селектор 318 містить таблицю, яка точно зв'язує один двійковий буфер 320 з кожним можливим значенням для індексу інтервалу, де різні значення для індексу інтервалу можуть зв'язуватися з одним і тим же двійковим буфером 320. В переважному варіанті виконання винаходу запити на надання інформаційних величин 317 з протилежними значеннями для оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень (протилежні значення є тими, які представляють оцінки ймовірностей Р ії 1 - Р) надсилаються до одного і того ж двійкового буфера 320. В подальшому переважному варіанті виконання винаходу зв'язування значення для оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень з конкретним двійковим буфером адаптується з часом.
В подальшому переважному варіанті виконання винаходу двійковий буферний селектор 318 визначає двійковий буфер 320, до якого надсилається запит на надання інформаційної величини 319, на основі відповідного значення для оцінки ймовірності набуття поточною запрошеною інформаційною величиною її менш ймовірного або більш ймовірного значення. В переважному варіанті виконання винаходу множина можливих значень для оцінки ймовірності набуття поточною запрошеною інформаційною величиною її менш ймовірного або більш ймовірного значення є скінченою і двійковий буферний селектор 318 містить таблицю, яка точно
Зо зв'язує один двійковий буфер 320 з кожним можливим значенням оцінки ймовірності набуття поточною запрошеною інформаційною величиною її менш ймовірного або більш ймовірного значення, де різні значення для оцінки ймовірності набуття поточною запрошеною інформаційною величиною її менш ймовірного або більш ймовірного значення можуть зв'язуватися з одним і тим же двійковим буфером 320. В подальшому переважному варіанті виконання винаходу інтервал можливих величин для оцінки ймовірності набуття поточною запрошеною інформаційною величиною її менш ймовірного або більш ймовірного значення ділиться на ряд інтервалів, двійковий буферний селектор 318 визначає індекс інтервалу для поточної оцінки ймовірності набуття поточною запрошеною інформаційною величиною її менш ймовірного або більш ймовірного значення і двійковий буферний селектор 318 містить таблицю, яка точно зв'язує один двійковий буфер 320 з кожним можливим значення для індексу інтервалу, де різні значення для індексу інтервалу можуть зв'язуватися з одним і тим же двійковим буфером 320. В подальшому переважному варіанті виконання винаходу зв'язування оцінки ймовірності набуття поточною запрошеною інформаційною величиною її менш ймовірного або більш ймовірного значення з окремим двійковим буфером адаптується з часом.
Після одержання декодованої інформаційної величини 325 від вибраного двійкового буфера 320 двійковий буферний селектор 318 потенційно модифікує вхідну інформаційну величину 325 і надсилає вихідну інформаційну величину 326 (з потенційно модифікованим значенням) до бінаризатора 314. Перетворення вхідної/вихідної інформаційної величини двійкового буферного селектора 318 є оберненим перетворенням вхідної/вихідної інформаційної величини двійкового буферного селектора на кодувальній стороні.
В переважному варіанті виконання винаходу двійковий буферний селектор 318 не змінює значення інформаційної величини, тобто, вихідна інформаційна величина 326 завжди має одне і те ж значення що й вхідна інформаційна величина 325. В подальшому переважному варіанті виконання винаходу двійковий буферний селектор 318 визначає значення вихідної інформаційної величини 326 на основі значення вхідної інформаційної величини 325 і значення для оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень, яке зв'язане із запитом на надання інформаційної величини 317. В переважному варіанті виконання винаходу значення вихідної інформаційної величини 326 встановлюється рівним значенню вхідної інформаційної величини 325, якщо значення бо ймовірності набуття поточною запрошеною інформаційною величиною одного з двох Їїї можливих значень менше ніж (або менше ніж або дорівнює) окреме порогове значення; якщо значення ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень більше або дорівнює (або більше за) окремому пороговому значенню, то значення вихідної інформаційної величини 326 модифікується (тобто, воно встановлюється рівним протилежному значенню вхідної інформаційної величини). В подальшому переважному варіанті виконання винаходу значення вихідної інформаційної величини 326 встановлюється рівним значенню вхідної інформаційної величини 325, якщо значення ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень більше за (або більше за або дорівнює) окреме порогове значення; якщо значення ймовірності на набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень менше ніж або дорівнює (або менше ніж) окремому пороговому значенню, то значення вихідної інформаційної величини 326 модифікується (тобто, воно встановлюється рівним протилежному значенню вхідної інформаційної величини). В переважному варіанті виконання винаходу значення порогу відповідає величині 0,5 для оціненої ймовірності набуття поточною запрошеною інформаційною величиною обох її можливих величин.
В подальшому переважному варіанті виконання винаходу двійковий буферний селектор 318 визначає значення вихідної інформаційної величини 326 на основі значення вхідної інформаційної величини 325, а ідентифікатор, який специфікує оцінку, завдяки якій одне з двох можливих значень інформаційної величини представляє її менш ймовірне або більш ймовірне значення для поточної запрошеної інформаційної величини, яке зв'язане із запитом на надання інформаційної величини 317. В переважному варіанті виконання винаходу значення вихідної інформаційної величини 326 встановлюється рівним значенню вхідної інформаційної величини 325, якщо ідентифікатор специфікує, що перше з двох можливих значень інформаційної величини представляє її менш ймовірне (або більш ймовірне) значення для поточної запрошеної інформаційної величини і значення вихідної інформаційної величини 326 модифікується (тобто, воно встановлюється рівним протилежному значенню вхідної інформаційної величини), якщо ідентифікатор специфікує, що друге з двох можливих значень інформаційної величини представляє її менш ймовірне (або більш ймовірне) значення для поточної запрошеної інформаційної величини.
Зо Як описано вище, двійковий буферний селектор надсилає запит на надання інформаційної величини 319 одному з двох або більшої кількості двійкових буферів 320. Двійкові буфери 20 представляють собою буфери, які працюють по принципу "першим прийшов першим вийшов", до яких подаються послідовності декодованих інформаційних величин 321 від під'єднаних двійкових декодерів 322. Як відповідь на запит на надання інформаційної величини 319, яка надсилається до двійкового буфера 320 від двійкового буферного селектора 318, двійковий буфер 320 видаляє інформаційну величину зі свого контенту, який спершу був поданий в двійковий буфер 320, і надсилає його до двійкового буферного селектора 318. Інформаційні величини, які раніше надсилаються до двійкового буфера 320, раніше видаляються і надсилаються до двійкового буферного селектора 318.
Кожен з двох або більшої кількості двійкових буферів 320 точно з'єднаний з одним двійковим декодером 322 і кожен двійковий декодер з'єднаний тільки з одним двійковим буфером 320.
Кожен двійковий декодер 322 зчитує кодові слова 323, які представляють послідовності бітів, з окремого часткового потоку бітів 324. Двійковий декодер перетворює кодове слово 323 на послідовність інформаційних величин 321, яка надсилається до під'єднаного двійкового буфера 320. Загальний алгоритм декодування перетворює два або більшу кількість часткових потоків бітів 324 на ряд декодованих синтаксичних елементів, де кількість часткових потоків бітів дорівнює кількості двійкових буферів і двійкових декодерів, а декодування синтаксичних елементів запускається запитами на надання нових синтаксичних елементів. В переважному варіанті виконання винаходу двійковий декодер 322 перетворює кодові слова 323 із змінною кількістю бітів на послідовність змінної кількості інформаційних величин 321. Одна перевага варіантів виконання винаходу полягає в тому, що декодування інформаційних величин з двох або більшої кількості часткових потоків бітів може виконуватися паралельно (наприклад, для різних груп значень ймовірності), що зменшує час обробки для декількох втілень.
Інша перевага варіантів виконання винаходу полягає в тому, що декодування інформаційних величин, яке виконується двійковими декодерами 322, може спеціально розроблятися для різних множин параметрів 317. Зокрема, кодування і декодування інформаційних величин можуть оптимізуватися (з точки зору ефективності кодування і/або складності) для різних груп оцінених ймовірностей. З одного боку, це дозволяє послаблення складності кодування/декодування відносно алгоритмів ентропійного кодування рівня техніки з подібною бо ефективністю кодування. З іншого боку, це дозволяє покращити ефективність кодування відносно алгоритмів ентропійного кодування рівня техніки з подібною складністю кодування/декодування. В переважному варіанті виконання винаходу двійкові декодери 322 втілюють різні алгоритми декодування (тобто, перетворення послідовностей інформаційних величин на кодові слова) для різних груп значень для оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень 317. В подальшому переважному варіанті виконання винаходу двійкові декодери 322 втілюють різні алгоритми декодування для різних груп значень для оцінки ймовірності набуття поточною запрошеною інформаційною величиною її менш ймовірного або більш ймовірного значення.
Двійкові декодери 322 виконують обернене перетворення відносно перетворення, здійснюваного відповідними двійковими кодерами на кодувальній стороні.
В переважному варіанті виконання винаходу двійкові декодери 322 (або один або більша кількість двійкових декодерів) представляють ентропійні декодери, які безпосередньо перетворюють кодові слова 323 на послідовності інформаційних величин 321. Такі перетворення можуть ефективно виконуватися і не вимагають складного арифметичного кодувального засобу. Перетворення кодових слів на послідовності інформаційних величин повинно бути унікальним. В переважному варіанті виконання винаходу перетворення кодових слів 323 на послідовності інформаційних величин 321 є бієктивним. В подальшому переважному варіанті виконання винаходу двійкові декодери 310 (або один або більша кількість двійкових декодерів) представляють ентропійні декодери, які безпосередньо перетворюють кодові слова 323 змінної довжини на послідовності інформаційних величин 321 змінної довжини. В переважному варіанті виконання винаходу вхідні кодові слова представляють коди без надлишку, такі як загальні коди Хаффмана або канонічні коди Хаффмана. Два приклади для бієктивного перетворення кодів без надлишку на послідовності інформаційних величин вказані в
Таблиці 3.
В подальшому переважному варіанті виконання винаходу двійкові декодери 322 (або один або більша кількість двійкових декодерів) представляють ентропійні декодери, які безпосередньо перетворюють кодові слова 323 фіксованої довжини на послідовності інформаційних величин 321 змінної довжини. В подальшому переважному варіанті виконання винаходу двійкові декодери 322 (або один або більша кількість двійкових декодерів) представляють ентропійні декодери, які безпосередньо перетворюють кодові слова 323 змінної довжини на послідовності інформаційних величин 321 фіксованої довжини.
Таким чином, Фіг. 7 і 8 зображають варіант виконання кодера для кодування послідовності символів З і декодер для їх відновлення. Кодер містить присвоювач 304, сконфігурований для присвоєння ряду параметрів 305 кожному символу послідовності символів. Присвоєння базується на інформації, яка міститься в попередніх символах послідовності символів, такій як категорія синтаксичного елемента 1 для представлення, такого як бінаризація, якому належить поточний символ і яке, згідно з синтаксичною структурою синтаксичних елементів 1, на даний момент очікується, очікування якого, у свою чергу, можна одержати з історії попередніх синтаксичних елементів 1 і символів 3. Окрім того, кодер містить множину ентропійних кодерів 10, кожен з яких сконфігурований для перетворення символів 3, надісланих до відповідного ентропійного кодера, на відповідний потік бітів 312, і селектор 306, сконфігурований для надсилання кожного символа З до вибраного одного з множини ентропійних кодерів 10, при цьому вибір залежить від кількості параметрів 305, присвоєних відповідному символу 3.
Присвоювач 304 міг би передбачатися інтегрованим в селектор 206 для одержання відповідного селектора 502.
Декодер для відновлення послідовності символів містить множину ентропійних декодерів 322, кожен з яких сконфігурований для перетворення відповідного потоку бітів 323 на символи 321; присвоювач 316, сконфігурований для присвоєння ряду параметрів 317 кожному символу 315 послідовності символів, які відновлюються на основі інформації, яка міститься в попередньо відновлених символах послідовності символів (дивіться позиції 326 і 327 на Фіг. 8); і селектор 318, сконфігурований для одержання кожного символу послідовності символів, які відновлюються, з вибраного одного з множини ентропійних кодерів 322, при цьому вибір залежить від кількості параметрів, визначених для відповідного символа. Присвоювач 316 може конфігуруватися так, що кількість параметрів, присвоєних кожному символу, містить або є засобом для оцінки ймовірності розподілу можливих значень символу, які він може припускати.
Знову, присвоювач 316 і селектор 318 можуть передбачатися як інтегровані в один блок - селектор 402. Послідовність символів, які відновлюються, може бути бінарним алфавітом і присвоювач 316 може конфігуруватися так, що оцінка розподілу ймовірності складається із значення для оцінки ймовірності набуття поточною інформаційною величиною її менш бо ймовірного або більш ймовірного значення з двох її можливих значень бінарного алфавіту, а ідентифікатор, який специфікує оцінку, завдяки якій одне 3 двох можливих значень інформаційної величини представляє її менш ймовірне або більш ймовірне значення.
Присвоювач 316 може додатково конфігуруватися для внутрішнього присвоювання контексту кожному символу послідовності символів 315, які відновлюються на основі. інформації, яка міститься в попередньо відновлених символах послідовності символів, які відновлюються, при цьому кожен контекст має відповідну зв'язану з ним оцінку розподілу ймовірності, і для адаптації оцінки розподілу ймовірності для кожного контексту до реальної символьної статистики на основі значень попередньо відновлених символів, якій присвоєний відповідний контекст.
Контекст може брати до уваги просторовий зв'язок або сусідство положень, яким належать синтаксичні елементи, такі як у кодуванні відеоданих або кодуванні картинки, або навіть в таблицях у випадку застосувань у фінансовій сфері. Потім, значення для оцінки розподілу ймовірності для кожного символа може визначатися на основі оцінки розподілу ймовірності, зв'язаної з контекстом, присвоєного відповідному символу, як наприклад за допомогою дискретизації, або використовуючи індекс у відповідній таблиці, на основі оцінки розподілу ймовірності, зв'язаної з контекстом, присвоєного відповідним символом (у нижченаведених варіантах виконання, індексованих ріре індексом разом з індексом деталізації) одному з множини представників оцінки розподілу ймовірності (відрізняється від індексу деталізації) для одержання значення оцінки розподілу ймовірності (ріре індекс, який позначає частковий потік бітів 312). Селектор може конфігуруватися так, що між множиною ентропійних кодерів і множиною представників оцінки розподілу ймовірності визначається бієктивний зв'язок.
Селектор 18 може конфігуруватися для зміни дискретного перетворення з інтервалу оцінок розподілу ймовірності на множину представників оцінки розподілу ймовірності наперед встановленим детерміністичним способом, в залежності від попередньо відновлених символів послідовності символів протягом часу. Тобто, селектор 318 може змінювати розміри кроку дискретизації, тобто, інтервали розподілу ймовірності, перетворені на окремі індекси ймовірності, бієктивно зв'язані з окремими ентропійними декодерами. Множина ентропійних декодерів 322, у свою чергу, може конфігуруватися для адаптації свого способу перетворення символів на потоки бітів, яка відповідає за зміну в дискретному перетворенні. Наприклад, кожен ентропійний декодер 322 може оптимізуватися, тобто, може мати оптимальний коефіцієнт
Зо стискання для певної оцінки розподілу ймовірності у відповідному інтервалі дискретизації оцінки розподілу ймовірності і може змінювати перетворення своєї послідовності кодових слів/ символів для адаптації положення цієї певної оцінки розподілу ймовірності у відповідному інтервалі дискретизації оцінки розподілу ймовірності при зміні останнього для його оптимізації.
Селектор може конфігуруватися для зміни дискретного перетворення так, що швидкості, З якими символи виділяються з множини ентропійних декодерів, робляться менш розкиданими.
Щодо бінаризатора 314, відмічається, що він може усуватися, якщо синтаксичні елементи є вже двійковими. Окрім того, в залежності від типу декодера 322, існування буферів 320 не потрібне.
Окрім того, буфери можуть інтегруватися в декодери.
Закінчення скінчених послідовностей синтаксичних елементів
В переважному варіанті виконання винаходу кодування і декодування виконується для скінченої множини синтаксичних елементів. Часто кодується певна кількість даних, таких як нерухоме зображення, кадр або поле послідовності відеоданих, частина зображення, частина кадру або поля послідовності відеоданих, або множина послідовних аудіозразків і так далі. Для скінчених множин синтаксичних елементів, головним чином, часткові потоки бітів, які створюються на кодувальній стороні, повинні закінчуватися, тобто, слід гарантувати можливість декодування усіх синтаксичних елементів з переданих або збережених часткових потоків бітів.
Після введення останньої інформаційної величини у відповідний двійковий буфер 308, двійковий кодер 310 повинен гарантувати запис повного кодового слова в частковий потік бітів 312. Якщо двійковий кодер 310 представляє ентропійний кодер, який втілює пряме перетворення послідовностей інформаційних величин на кодові слова, то послідовність інформаційних величин, яка зберігається в двійковому буфері після запису останньої інформаційної величини у двійковий буфер, може не представляти послідовність інформаційних величин, яка зв'язується з кодовим словом (тобто, вона могла б представляти префікс двох або більшої кількості послідовностей інформаційних величин, які зв'язуються з кодовими словами).
У такому випадку, будь-яке з кодових слів, зв'язане з послідовністю інформаційних величин, яке містить послідовність інформаційних величин у двійковому буфері як префікс, повинно записуватися в частковий потік бітів (двійковий буфер повинен очищатися). Це могло б виконуватися вставлянням інформаційних величин з окремим або довільним значенням у двійковий буфер, доки не буде записане кодове слово. В переважному варіанті виконання 60 винаходу двійковий кодер вибирає одне з кодових слів з мінімальною довжиною (на додаток до властивості, яка полягає в тому, що відповідна послідовність інформаційних величин повинна містити послідовність інформаційних величин у двійковому буфері як префікс). На декодувальній стороні двійковий декодер 322 може декодувати більше інформаційних величин ніж вимагається для останнього кодового слова в частковому потоці бітів; ці інформаційні величини не запрошуються двійковим буферним селектором 318 і викидаються та ігноруються.
Декодування скінченої множини символів контролюється запитами на надання декодованих синтаксичних елементів; якщо не запрошується додатковий синтаксичний елемент для певної кількості даних, то декодування припиняється.
Передача і мультиплексування часткових потоків бітів
Часткові потоки бітів 312, які створюються кодером, можуть передаватися окремо або вони можуть мультиплексуватися в єдиний потік бітів, або кодові слова часткових потоків бітів можуть чергуватися в єдиному потоці бітів.
У варіанті виконання винаходу кожен частковий потік бітів для певної кількості даних записується в один пакет даних. Кількість даних може бути довільною множиною синтаксичних елементів, таких як нерухоме зображення, поле або кадр послідовності відеоданих, частина нерухомого зображення, частина поля або кадру послідовності відеоданих, або основа аудіовибірок і так далі.
В іншому переважному варіанті виконання винаходу два або більша кількість часткових потоків бітів для певної кількості даних або усі часткові потоки бітів для певної кількості даних мультиплексуються в один пакет даних. Структура пакета даних, який містить мультиплексовані часткові потоки бітів, зображений на фігурі 9.
Пакет даних 400 складається із заголовка і одного розділу для даних кожного часткового потоку бітів (для розглядуваної кількості даних). Заголовок 400 пакету даних містить індикатори для поділу (решти) пакета даних на сегменти даних 402 потоку бітів Окрім індикаторів для поділу, заголовок може містити додаткову інформацію. У переважному варіанті виконання винаходу індикатори для поділу пакета даних є місцями початку сегментів даних, виражених у бітах або байтах, або множин бітів, або множин байтів. В переважному варіанті виконання винаходу розташування початку сегментів даних кодуються як абсолютні величини в заголовці пакета даних або відносно початку пакета даних або відносно кінця заголовка, або відносно
Зо початку попереднього пакету даних. В подальшому переважному варіанті виконання винаходу розташування початку сегментів даних кодуються диференціально, тобто, кодується тільки різниця між реальним початком сегмента даних і прогнозом для початку сегмента даних.
Прогноз може одержуватися на основі вже відомої або переданої інформації, такої як загальний розмір пакета даних, розмір заголовку, кількість сегментів даних в пакеті даних, розташування початку попередніх сегментів даних. В переважному варіанті виконання винаходу розташування початку першого пакету даних не кодується, а кодується передбачуване розташування на основі розміру заголовка пакета даних. На декодувальній стороні передані індикатори поділу використовуються для одержання інформації про початок сегментів даних. Сегменти даних потім використовуються як часткові потоки бітів і дані, які містяться в сегментах даних, надсилаються у відповідні двійкові декодери у послідовному порядку.
Існує декілька альтернатив для мультиплексування часткових потоків бітів з одержанням пакету даних. Одна альтернатива, яка може послабити потребу у побічній інформації, зокрема для випадків, у яких розміри часткових потоків бітів дуже подібні, зображена на Фіг. 10. Корисне навантаження пакета даних, тобто, пакет даних 410 без свого заголовка 411, ділиться на сегменти 412 наперед визначеним способом. Як приклад, корисне навантаження пакета даних може ділитися на сегменти однакового розміру. Потім кожен сегмент зв'язується з частковим потоком бітів або з першою частиною часткового потоку бітів 413. Якщо частковий потік бітів більший за відповідний сегмент даних, то його залишок 414 поміщається у невикористаний простір в кінці інших сегментів даних. Це може виконуватися у такий спосіб, що решта потоку бітів вставляється в зворотному порядку (починаючи з кінця сегмента даних), що зменшує побічну інформацію. Зв'язування решт часткових потоків бітів з сегментами даних і, коли до сегмента даних додається більше, ніж один залишок, то початкова точка для одного або більшої кількості залишків повинна сигналізуватися всередині потоку бітів, наприклад в заголовку пакета даних.
Чергування кодових слів змінної довжини
Для деяких застосувань вищеописане мультиплексування часткових потоків бітів (для певної кількості синтаксичних елементів) в одному пакеті даних може мати наступні недоліки: з одного боку, для малих пакетів даних кількість бітів для побічної інформації, яка вимагається для сигналізації поділу, може стати значущою відносно реальних даних в часткових потоках бо бітів, що, врешті решт, знижує ефективність кодування. З іншого боку, мультиплексування може не підходити для застосувань, які вимагають малої затримки (наприклад, проведення відеоконференцій). За допомогою описаного мультиплексування кодер не може починати передачу пакета даних перед повним формуванням часткових потоків бітів, оскільки розташування початку поділів перед цим не відомі. Окрім того, головним чином, декодер повинен чекати до тих пір, доки він не прийме початок останнього сегмента даних перед тим, як він зможе розпочати декодування пакета даних. Для застосувань у формі систем для проведення відеоконференцій, ці затримки можуть робити внесок у додаткову загальну затримку системи з декількох відеокартинок (зокрема, для швидкостей передачі бітів, які близькі до швидкості передачі даних, і для кодерів/декодерів, які вимагають часового інтервалу між двома картинками для кодування/декодування картинки), що є важливим для таких застосувань. Для усунення недоліків певних застосувань, кодер переважного варіанта виконання винаходу може конфігуруватися у такий спосіб, що кодові слова, які генеруються двома або більшою кількістю двійкових кодерів, чергуються в єдиному потоці бітів. Потік бітів з чергованими кодовими словами може безпосередньо надсилатися до декодера (при нехтуванні малою затримкою буфера, дивіться нижче). На декодувальній стороні два або більша кількість двійкових декодерів зчитують кодові слова безпосередньо з потоку бітів в порядку декодування; декодування може починатися з першим прийнятим бітом. Окрім того, не вимагається побічної інформації для сигналізації мультиплексування (або чергування) часткових потоків бітів.
Подальше послаблення складності декодера може досягатися, коли двійкові декодери 322 не зчитують кодові слова змінної довжини з глобального бітового буфера, а замість цього вони завжди зчитують послідовності бітів фіксованої довжини з глобального бітового буфера і додають ці послідовності бітів фіксованої довжини до локального бітового буфера, де кожен двійковий декодер 322 з'єднаний з окремим локальним бітовим буфером. Кодові слова змінної довжини потім зчитуються з локального бітового буфера. Тому, синтаксичний аналіз кодових слів змінної довжини може виконуватися паралельно, тільки доступ до послідовностей бітів фіксованої довжини повинен виконуватися синхронно, але такий доступ до послідовностей бітів фіксованої довжини зазвичай є дуже швидким таким чином, що загальна складність декодування може послаблюватися для деяких архітектур. Фіксована кількість інформаційних величин, які надсилаються до окремого локального бітового буфера, може бути іншою для
Зо іншого локального бітового буфера і вона може також змінюватися з часом, в залежності від певних параметрів як подій в двійковому декодері, двійковому буфері або бітовому буфері.
Однак, кількість бітів, які зчитуються окремим доступом, не залежать від реальних бітів, які зчитуються під час окремого доступу, що є важливою відмінністю для зчитування кодових слів змінної довжини. Зчитування послідовностей бітів фіксованої довжини запускається певними подіями в двійкових буферах, двійкових декодерах або локальних бітових буферах. Як приклад, можна запрошувати зчитування нової послідовності бітів фіксованої довжини, коли кількість бітів, які присутні у підключеному бітовому буфері, надає нижче наперед встановленої порогової величини, де різні порогові величини можуть використовуватися для різних бітових буферів. В кодері потрібно гарантувати, щоб послідовності інформаційних величин фіксованої довжини вставлялися в одному і тому ж порядку в потік бітів, у якому вони зчитуються з потоку бітів на декодувальній стороні. Також можна поєднувати це чергування послідовностей фіксованої довжини з контролем малої затримки, подібного до пояснених вище. Далі, описується переважний варіант виконання для чергування послідовностей бітів фіксованої довжини. За подальшими деталями, які стосуються останніх схем чергування, звертайтесь до документа МО2011/1282684А1.
Після опису варіантів виконання, згідно 3 якими, навіть попереднє кодування використовується для стискання відеоданих, описується навіть подальший варіант виконання представленого винаходу, який робить втілення особливо ефективним з точки зору гарного компромісу між коефіцієнтом стискання, з одного боку, і таблицею пошуку та додатковими обрахунками, з іншого боку. Зокрема, наступні варіанти виконання дозволяють використання, з обрахункової точки зору, менш складних кодів змінної довжини для індивідуального ентропійного кодування потоків бітів і ефективного охоплення частин оцінки ймовірності. В описаних нижче варіантах виконання, символи є бінарними і коди змінної довжини (МІС), представлені нижче, ефективно охоплюють оцінку ймовірності, представлену, наприклад Віз, яке розташоване в інтервалі (0;0,51.
Зокрема, вказані нижче варіанти виконання, описують можливі втілення для індивідуальних ентропійних кодерів 310 і декодерів 322, відповідно, на Фіг. 7-17. Вони придатні для кодування інформаційних величин, тобто бінарних символів, оскільки вони трапляються в стисканні зображення або відеоданих. Відповідно, ці варіанти виконання також застосовуються для 60 кодування зображення або відеоданих, де такі бінарні символи діляться на один або більшу кількість потоків інформаційних величин 307, які кодуються, і, відповідно, потоки бітів 324, які декодуються, де кожен такий потік інформаційних величин може розглядатися як реалізація процесу Бернуллі. Описані нижче варіанти виконання використовують один або більшу кількість пояснених нижче різних способів так званого кодування з перетворенням послідовності символів змінної довжини на послідовність бітів змінної довжини (ум2у-коди) для кодування потоків інформаційних величин. м2у-код може розглядатися як два коди без префіксу з однією і тією ж кількістю кодових слів: головний і допоміжний код без префіксу. Кожне кодове слово головного коду без префіксу зв'язується з одним кодовим словом допоміжного коду без префіксу. У відповідності з нижчеописаними варіантами виконання принаймні деякі з кодерів 310 ії декодерів 322 працюють наступним чином: Для кодування окремої послідовності інформаційних величин 307 кожен раз, коли кодове слово головного коду без префіксу зчитується з буфера 308, відповідне кодове слово допоміжного коду без префікса записується в потік бітів 312. Та ж сама процедура використовується для декодування такого потоку бітів 24, але з чергуванням головного і допоміжного коду без префікса. Тобто, для декодування потоку бітів 324, кожен раз, коли кодове слово допоміжного коду без префіксу зчитується з відповідного потоку бітів 324, відповідне кодове число допоміжного коду без префіксу записується в буфер 320.
Переважно, описані нижче коди не потребують таблиць пошуку. Коди здатні втілюватися у формі машин з кінцевим числом станів. Представлені тут м2у-коди можуть генеруватися простими правилами конструювання так, що для кодових слів не потрібно зберігати великі таблиці. Замість цього, може використовуватися простий алгоритм для виконання кодування або декодування. Нижче описуються три правила формування, де два з них можуть параметризуватися. Вони охоплюють різні або навіть окремі частини вищезгаданого інтервалу ймовірності і є, відповідно, особливо вигідними, коли використовуються разом, так як усі три коди або два з них використовуються паралельно (кожен для різних кодерів/декодерів 11 і 22).
За допомогою описаних нижче правил формування можна формувати множину м2у-кодів так, що для процесів Бернуллі З3' довільною ймовірністю р один з кодів гарно працює з точки зору надмірної довжини коду.
Як визначено вище, кодування і декодування потоків 312 і, відповідно, 324 може
Зо виконуватися або незалежно для кожного потоку або поперемінно. Однак, це не є спеціальним для представлених класів м2у-кодів і, тому, далі описується тільки кодування і декодування окремого кодового слова для кожного з трьох правил формування. Однак, підкреслюється, що усі вищезгадані варіанти виконання, які стосуються рішень з поперемінним виконанням, також здатні поєднуватися з на даний момент описаними кодами або кодерами і декодерами 310 і, відповідно, 322.
Правило формування 1: "унарні двійкові ріре" коди або кодери/декодери 310 і 322
Унарні двійкові ріре коди (РІРЕ - ентропія поділу інтервалу ймовірності) є спеціальним варіантом так званих "двійкових ріре" кодів, тобто, кодів, придатних для кодування будь-якого з окремих потоків бітів 12 і 24, кожен з яких переносить дані статистики бінарних символів, яка належить певному підінтервалу ймовірності вищезгаданого інтервалу ймовірності 10;0,5|.
Спершу описується формування двійкових ріре кодів. Двійковий ріре код може формуватися з будь-якого коду без префіксу з принаймні трьома кодовими словами. Для формування угу-коду, використовують код без префіксу як головний і допоміжний код, але з чергуванням двох кодових слів допоміжного коду без префіксу. Це означає, що, за виключенням двох кодових слів, інформаційні величини записуються в незмінний потік бітів. За допомогою цієї технології необхідно зберігати тільки один код без префіксу разом з інформацією, які два кодові слова чергуються між собою, і, таким чином, використання пам'яті зменшується. Відзначається, що доцільно обмінюватися тільки кодовими словами різної довжини, оскільки, інакше, потік бітів повинен мати ту ж довжину що й потік інформаційних величин (нехтуючи ефектами, які трапляються в кінці потоку інформаційних величин).
Завдяки цьому правилу формування чудовою властивістю двійкових ріре кодів є те, що, коли головний і допоміжний код без префіксу міняються між собою (тоді як перетворення кодових слів зберігається), то одержуваний му2гу-код ідентичний оригінальному мгу-коду. Тому, алгоритм кодування і алгоритм декодування ідентичні для двійкових ріре кодів.
Унарний двійковий ріре код формується з спеціального коду без префіксу. Цей спеціальний код без префіксу формується наступним чином. Спершу, генерують код без префіксу, який складається з п унарних кодових слів, починаючи з "01", "0017, 0001", ... доти, доки не одержиться п кодових слів, п є параметром для унарного двійкового ріре коду. З найдовшого кодового слова видаляється слід 1. Це відповідає усіченому унарному коду (але без кодового 60 слова "0). Потім, генеруються п-1 унарних кодових слів, починаючи з "10", 110, 1110, ... доти,
доки не буде створено п-1 кодових слів. З найдовшого з цих кодових слів видаляють слід 0.
Об'єднана множина цих двох кодів без префікса використовується як вхідні дані для генерування унарного двійкового ріре коду. Два кодові слова, які міняються між собою, є тими, де одне з них складається тільки з 0, а інше складається тільки з 1. Приклад для п-4:
Ме | 77777711 Головний | 0 Допоміжийїу//://С/ 61111111
Правило формування 2: коди, які відображають перетворення "унарних кодів на коди Райса" і кодери/декодери 10 і 22, які використовують перетворення унарних кодів на коди Райса:
Коди, які відображають перетворення унарних кодів на коди Райса, використовують зрізаний унарний код як головний код. Тобто, унарні кодові слова генеруються, починаючи з "1",'01","001", ... ДОТИ, ДоКкИ Не буде згенеровано 2"--1 кодових слів і з найдовшого кодового слова видаляють слід 1. п є параметром коду, який відображає перетворення унарного коду на код Райса.
Допоміжний код без префіксу формується з кодових слів головного коду без префіксу наступним чином. Головному кодовому слову, яке складається тільки з 0, присвоюється кодове слово "1. Усі інші кодові слова складаються з конкатенації кодового слова "0' з п-бітовим двійковим представленням ряду 0 відповідного кодового слова головного коду без префіксу.
Приклад для п-3:
Ме 77777171 Головний | 0 ДопоміжийїЗ// « 100611 0000001777771111111111111111111111111111 00111111 11008 ф0000000ї17111111111111111111111111111 01111111 029 0000000007777771111111111111111111111
Відзначаємо, що це ідентичне перетворенню нескінченного унарного коду на код Райса з параметром Райса 2п.
Правило формування 3: "Потрійний двійковий' код
Потрійний двійковий код надається наступним чином: 1110е 77771 | 77171711 Головний// | 0 ДопоміжийїЗ//-/:/ ши п «ТТ Я ПО о ПО 22611111 ши и с ЕЕ Я ПО НЕ 6 НО
Він має ту властивість, що головний код (послідовності символів) має фіксовану довжину (завжди три інформаційні величини), а кодові слова відбираються по висхідних кількостях 1.
Далі описується ефективне втілення потрійного двійкового коду. Кодер і декодер для потрійного двійкового коду можуть втілюватися без зберігання таблиць наступним чином.
Зо В кодері (будь-який з кодерів 10) три інформаційні величини зчитуються з потоку інформаційних величин (тобто, з потоку 7). Якщо ці три інформаційні величини містять точно одну 1, то кодове слово "1" записується в потік бітів після двох інформаційних величин, які складаються з двійкового представлення положення 1 (починаючи з права з 00). Якщо три інформаційні величини містять точно один 0, то кодове слово "111! записується в потік бітів після двох інформаційних величин, які складаються з двійкового представлення положення 0 (починаючи з права з 00). Решта кодових слів "000' і 111" перетворюються на "0 і, відповідно, 71117.
В декодері (будь-який з декодерів 22) одна інформаційна величина або біт зчитується з відповідного потоку бітів 24. Якщо вона дорівнює "07, то кодове слово "000 декодується з одержанням потоку інформаційних величин 21. Якщо вона дорівнює "1, то дві або більша кількість інформаційних величин зчитуються з потоку бітів 24. Якщо ці два біти не дорівнюють "711", то вони інтерпретуються як двійкове представлення числа і два 0 та одна 1 декодується з одержанням потоку бітів так, що положення 1 визначається числом. Якщо два біти дорівнюють "71", то два додаткових біти зчитуються і інтерпретуються як двійкове представлення числа.
Якщо це число менше ніж 3, то дві 1 і один 0 декодуються і число визначає положення 0. Якщо воно дорівнює 3, то "111" декодується з одержанням потоку інформаційних величин.
Далі описується ефективне втілення унарних двійкових ріре кодів. Кодер і декодер для унарних двійкових ріре кодів можуть ефективно втілюватися шляхом використання лічильника.
Завдяки структурі двійкових ріре кодів кодування і декодування двійкових ріре кодів легко втілювати:
В кодері (будь-який з кодерів 10), якщо перша інформаційна величина кодового слова дорівнює "07, то інформаційні величини обробляються до появи "7" або до зчитування п 0 (включаючи перший "0' кодового слова). Якщо трапилася "1", то зчитані інформаційні величини записуються в незмінний потік бітів. Інакше (тобто, зчитано п 0), то п-1 1 записується в потік бітів. Якщо перша інформаційна величина кодового слова дорівнює "1 то інформаційні величини обробляються доки не трапиться "0 або доки не зчитається п-1 1 (включаючи першу "7" кодового слова). Якщо трапився "07, то зчитані інформаційні величини записуються в незмінний потік бітів. Інакше (тобто, зчитано п-1 1), п 0 записуються в потік бітів.
В декодері (будь-який з декодерів 322) використовується той же алгоритм для кодера, оскільки це застосовується для двійкових ріре кодів, як описано вище.
Далі описується ефективне втілення кодів, які відображають перетворення унарних кодів на коди Райса. Кодер і декодер для кодів, які відображають перетворення унарних кодів на коди
Райса, можуть ефективно втілюватися шляхом використання лічильника, як тепер буде описуватися.
В кодері (будь-який з кодерів 310) інформаційні величини зчитуються з потоку інформаційних величин (тобто, потоку 7) доки не трапиться 1 або доки не буде зчитано 2п 0.
Кількість 0 підраховується. Якщо підрахована кількість дорівнює 2п, то кодове слово "1! записується в потік бітів. Інакше, "0 записується перед двійковим представленням підрахованої кількості записаної з п бітами.
В декодері (будь-який з декодерів 322) зчитується один біт. Якщо він дорівнює "1", то 21.0 декодуються з одержанням рядка інформаційних величин. Якщо він дорівнює "0, то зчитується п додаткових бітів, які інтерпретуються як двійкове представлення числа. Ця кількість 0 декодується з одержанням потоку інформаційних величин, за яким іде "1".
Іншими словами тільки що описані варіанти виконання розкривають кодер для кодування послідовності символів 303, який містить присвоювач 316, сконфігурований для присвоювання ряду параметрів 305 кожному символу послідовності символів на основі інформації, яка міститься в попередніх символах послідовності символів; певну кількість ентропійних кодерів 310, кожен з яких сконфігурований для перетворення символів 307, надісланих до відповідного ентропійного кодера 310, на відповідний потік бітів 312; і селектор 6, сконфігурований для надсилання кожного символа 303 до вибраного одного з множини ентропійних кодерів 10, при цьому вибір залежить від кількості параметрів 305, присвоєних відповідному символу 303.
Згідно з тільки що зазначеними варіантами виконання принаймні перша підмножина ентропійних кодерів може бути кодером змінної довжини, сконфігурованим для перетворення послідовностей символів змінної довжини в потоці символів 307 на кодові слова змінних довжин, які вставляються в потік бітів 312, при цьому відповідно, кожен з ентропійних кодерів 310 першої підмножини використовує правило бієктивного перетворення, згідно з яким кодові слова головного коду без префіксу з (21-1)х3 кодовими словами перетворюються на кодові слова допоміжного коду без префіксу, який ідентичний головному коду з префіксом так, що усі, але два кодові слова головного коду без префіксу перетворюються на ідентичні кодові слова допоміжного коду без префіксу, тоді як два кодові слова головного і допоміжного кодів без префіксу мають різні довжини і перетворюються один на інший взаємозамінно, при цьому бо ентропійні кодери можуть використовувати різне п для охоплення різних частин вищезгаданого інтервалу ймовірності. Перший код без префіксу може формуватися так, що його кодовими словами є да, Б)», (а, а,Б)з,..., (а, ...,а, Б)н, (а, ...,а)п, (Б, а)», (Б, Б,а)з,..., (Б, ...,0, а)пи, (Б, ...,Б)кн, і двома кодовими словами, які взаємнозамінно перетворюються одне на інше, є (да, ...,а)п і (Ь......б)лх зб 25аїа, Б є 10,1). Однак, альтернативи є реальними.
Іншими словами кожен з першої підмножини ентропійних кодерів може конфігуруватися при перетворенні символів, надісланих до відповідного ентропійного кодера, на відповідний потік бітів для перевірки першого символу, надісланого до відповідного ентропійного кодера, для визначення чи (1) перший символ дорівнює а г 50,1), у випадку чого відповідний ентропійний кодер конфігурується для перевірки наступних символів, надісланих до відповідного ентропійного кодера, для визначення чи (1.1) ра і беє30,1) серед наступних п-1 символів, які слідують після першого символу, у випадку чого відповідний ентропійний кодер конфігурується для запису кодового слова у відповідний потік бітів, який дорівнює першому символу, за яким ідуть наступні символи, надіслані до відповідного ентропійного кодера, аж до символу б; (1.2) чи символ р не трапляється серед наступних п-1 символів, які ідуть після першого символу, у випадку чого відповідний ентропійний кодер конфігурується для запису кодового слова у відповідний потік бітів, яке дорівнює (б, ...,Б)п; або (2) чи перший символ дорівнює Б, у випадку чого відповідний ентропійний кодер конфігурується для перевірки наступних символів, надісланих до відповідного ентропійного кодера, для визначення (2.1) чи трапляється а серед наступних п-2 символів, які ідуть після першого символу, у випадку чого відповідний ентропійний кодер конфігурується для запису кодового слова у відповідний потік бітів, який дорівнює першому символу, за яким ідуть наступні символи, надіслані до відповідного ентропійного кодера, аж до символу а; або (2.2) чи не трапляється а серед наступних п-2 символів, які ідуть після першого символу, у випадку чого відповідний ентропійний кодер конфігурується для запису кодового слова у відповідний потік бітів, яке дорівнює (а, ...,а) п.
Окрім того, або альтернативно, друга підмножина ентропійних кодерів 10 може бути кодером змінної довжини, сконфігурованим для перетворення послідовностей символів змінних довжин на, відповідно, кодові слова фіксованих довжин, при цьому кожен з ентропійних кодерів другої підмножини використовує правило бієктивного перетворення, згідно з яким кодові слова головного зрізаного унарного коду з 2"'-1 кодовими словами типу (а), (ба), (рба), ...,(Б...Бра),
Зо (6р...0)у35 «а їі а, 5 є 701) перетворюються на кодові слова допоміжного коду без префіксу так, що кодове слово (рб...5) головного зрізаного унарного коду перетворюється на кодове слово (с) допоміжного коду без префіксу і усі інші кодові слова (а), (ба), (рба), ...,(0...ба)) головного зрізаного унарного коду перетврюються на кодові слова, які мають (4) з с ас, а є 30,1) як префікс і п-бітове слово як суфікс, при цьому ентропійні кодери використовують різне п. Кожен з другої підмножини ентропійних кодерів може конфігуруватися так, що п-бітове слово є п-бітовим представленням кількості чисел р у відповідному кодовому слові головного зрізаного унарного коду. Однак, альтернативи є реальними.
Знову, з проєкції режиму роботи відповідного кодера 10 кожен з другої підмножини ентропійних кодерів може конфігуруватися під час перетворення символів, надісланих до відповідного ентропійного кодера, на відповідний потік бітів для підрахунку кількості символів р в послідовності символів, надісланих до відповідного ентропійного кодера, доки не трапиться символ а або доки кількість послідовності символів, надісланих до відповідного ентропійного кодера, не досягне величини 2" з усіма 2" символами послідовності, яка є числом б, ї (1) якщо кількість символів Б дорівнює 2", записують с з сє(0,1) як кодове слово допоміжного коду без префіксу у відповідний потік бітів, і (2) якщо кількість символів Б менша ніж 2", то записують кодове слово допоміжного коду без префіксу у відповідний потік бітів, який має (4) зсаїає(оті як префікс, а п-бітове слово, яке визначається в залежності від кількості символів Б, як суфікс.
Також додатково або альтернативно, наперед визначений один з ентропійних кодерів 10 може бути кодером змінної довжини, сконфігурованим для перетворення послідовностей символів фіксованих довжин на, відповідно, кодові слова змінних довжин, при цьому наперед визначений ентропійний кодер використовує правило бієктивного перетворення, згідно з яким 23 кодових слів довжиною З головного коду перетворюються на кодові слова допоміжного коду без префікса так, що кодове слово (ааа)з головного коду з ає(0,1) перетворюється на кодове слово (с) з сє(0,1), при цьому усі три кодові слова головного коду, які мають точно одне Б з ра і ре0,1), перетворюються на кодові слова, які мають (4) з с-а і 4 є10,1) як префікс і відповідне перше 2-бітове слово з першої множини 2-бітових слів як суфікс, при цьому усі три кодові слова головного коду, які мають точно одне а, перетворюються на кодові слова, які мають (а) як префікс, і конкатенацію першого 2-бітового слова, яке не являється елементом першої множини, і другого 2-бітового слова з другої множини 2-бітових слів як суфікс, і при цьому бо кодове слово (ррб)з перетворюється на кодове слово, яке має (а) як префікс, і конкатенацію першого 2-бітового слова, яке не є елементом першої множини, і другого 2-бітового слова, яке не є елементом другої множини, як суфікс. Перше 2-бітове слово кодових слів головного коду, яке має точно один символ Бр, може бути 2-бітовим представленням положення символа Б у відповідному кодовому слові головного коду, а друге 2-бітове слово кодових слів головного коду, який має точно один символ а, може бути 2-бітовим представленням положення символу а у відповідному кодовому слові головного коду. Однак, альтернативи є реальними.
Знову, наперед визначений один з ентропійних кодерів може конфігуруватися під час перетворення символів, надісланих до наперед встановленого ентропійного кодера, на відповідний потік бітів, для перевірки символів, які надсилаються до наперед встановленого ентропійного кодера в триплетах, щодо того (1) чи триплет складається з символів а, у випадку чого наперед визначений ентропійний кодер конфігурується для запису кодового слова (с) у відповідний потік бітів, (2) чи триплет точно містить один символ р, у випадку чого наперед визначений ентропійний кодер конфігурується для запису кодового слова, яке має (а) як префікс, а 2-бітове представлення положення символа Б в триплеті як суфікс, у відповідний потік бітів; (3) чи триплет точно містить один символ а, у випадку чого наперед визначений ентропійний кодер конфігурується для запису кодового слова, яке має (4) як префікс і конкатенацію першого 2-бітового слова, яке не є елементом першої множини, і 2-бітового представлення положення символу а в триплеті як суфікс, у відповідний потік бітів; або (4) чи триплет складається з символів ЮР, у випадку чого наперед визначений ентропійний кодер конфігурується для запису кодового слова, яке має (а) як префікс і конкатенацію першого 2- бітового слова, яке не є елементом першої множини, і першого 2-бітового слова, яке не є елементом другої множини, як суфікс, у відповідний потік бітів.
Розглядаючи декодувальну сторону, бачимо, що тільки що описані варіанти виконання розкривають декодер для відновлення послідовності символів 326, який містить множину ентропійних декодерів 322, кожен з яких сконфігурований для перетворення відповідного потоку бітів 324 на символи 321; присвоювач 316, сконфігурований для присвоєння ряду параметрів на кожен символ 326 послідовності символів, які відновлюються, на основі інформації, яка міститься в попередньо відновлених символах послідовності символів; і селектор 318, сконфігурований для одержання кожного символу 325 з послідовності символів, які
Зо відновлюються, з вибраного одного з множини ентропійних декодерів, при цьому вибір залежить від ряду параметрів, визначених для відповідного символу. Згідно з тільки що описаними варіантами виконання принаймні перша підмножина ентропійних декодерів 322 є декодерами змінної довжини, сконфігурованими для перетворення кодових слів змінних довжин на послідовності символів змінних довжин, при цьому, відповідно, кожен з ентропійних декодерів 22 першої підмножини використовує правило бієктивного перетворення, згідно з яким кодові слова головного коду без префіксу з (21-1) Те З кодовими словами перетворюються на кодові слова допоміжного коду без префіксу, який ідентичний головному коду з префіксом, так, що усі, але два кодові слова головного коду без префіксу перетворюються на ідентичні кодові слова допоміжного коду без префіксу, тоді як два кодові слова головного і допоміжного коду без префіксу мають різні довжини і перетворюються один на інший взаємозамінно, при цьому ентропійні кодери використовують різні п. Перший код без префіксу може формуватися так, що кодовими словами першого коду без префіксу є (а, Б)», (а, а,р)з...... (а......а, п, (а......а)н, (Б, а)», (б, ба)з,..., (6, ...,0, а)пт, (Б, ...,0)п, і двома кодовими словами, які перетворюються одне на інше взаємнозамінним чином, можуть бути (а......а)п і (б, ...б)н зб з айіа, Б є 501). Однак, альтернативи є реальними.
Кожен з першої підмножини ентропійних кодерів може конфігуруватися під час перетворення відповідного потоку бітів на символи для перевірки першого біта відповідного потоку бітів для визначення (1) чи перший біт дорівнює 0 50,1), у випадку чого відповідний ентропійний кодер конфігурується для перевірки наступних бітів відповідного бітового потоку для визначення чи (1.1) Б з Ба і Б 0 50,1) трапляється в наступних п-1 бітах, які ідуть після першого біта, у випадку чого відповідний ентропійний декодер конфігурується для відновлення послідовності символів, яка дорівнює першому біту, за яким ідуть наступні біти відповідного потоку бітів аж до біта Б; або (1.2) чи не трапляється біт Б серед наступних п-1 бітів, які ідуть після першого біта, у випадку чого відповідний ентропійний декодер конфігурують для відновлення послідовності символів, яка дорівнює (Б......Б)п-1; або (2) чи перший біт дорівнює б, у випадку чого відповідний ентропійний декодер конфігурують для перевірки наступних бітів відповідного потоку бітів для визначення того (2.1) чи трапляється символ а серед наступних п- 2 бітів, які ідуть після першого біта, у випадку чого відповідний ентропійний декодер конфігурується для відновлення послідовності символів, яка дорівнює першому біту, за яким бо ідуть наступні біти відповідного бітового потоку аж до символу а; або (2.2) чи не трапляється символ а серед наступних п-2 бітів, які ідуть після першого біта, у випадку чого відповідний ентропійний декодер конфігурується для відновлення послідовності символів, яка дорівнює (а, ...,а)в.
Додатково або альтернативно принаймні друга підмножина ентропійних декодерів 322 може бути декодером змінної довжини, сконфігурованим для перетворення кодових слів фіксованих довжин на, відповідно, послідовності символів змінних довжин, при цьому кожен з ентропійних декодерів другої підмножини використовує правило бієктивного перетворення, згідно з яким кодові слова допоміжного коду без префіксу перетворюються на кодові слова головного зрізаного унарного коду з 2"-1 кодовими словами типу (а), (ба), (рба), ...,(Б...Ба), (рр...5)) з ба і а, Беї0,1) так, що кодове слово (с) допоміжного коду без префіксу перетворюється на кодове слово (рбр...Ю) головного зрізаного унарного коду і кодові слова, які мають (а) з схд іс, й є (01) як префікс і п-бітове слово як суфікс, перетворюються на відповідне одне з інших кодових слів (Ка), (ба), (рба), ...,(0...Бба)) головного зрізаного унарного коду, при цьому ентропійні декодери використовують різні п. Кожен з другої підмножини ентропійних декодерів може конфігуруватися так, що п-бітове слово є п-бітовим представленням кількості символів б у відповідному кодовому слові головного зрізаного унарного коду. Однак, альтернативи є реальними.
Кожен з другої підмножини ентропійних декодерів може бути декодером змінної довжини, сконфігурованим для перетворення кодових слів фіксованих довжин на, відповідно, послідовності символів змінних довжин і сконфігурованим під час перетворення потоку бітів відповідного ентропійного декодера на символи для перевірки першого біта відповідного потоку бітів для визначення того чи (1) він дорівнює с з сє0,1), у випадку чого відповідний ентропійний декодер конфігурується для відновлення послідовності символів, яка дорівнює (Бр...Б)2" з ре(0,1у; або (2) чи він дорівнює 4 з с--а і с, дє10,1), у випадку чого відповідний ентропійний декодер конфігурується для визначення п-бітового слова з п подальших бітів відповідного потоку бітів, які ідуть після першого біта, і для відновлення з нього послідовності символів, яка має тип (а), (ба), (бра), ...,(0...Ба), (рр...5)) з ба і ре30,1) з кількістю символів р, яка залежить від п-бітового слова.
Додатково або альтернативно, наперед визначений один з ентропійних декодерів 322 може бути декодером змінної довжини, сконфігурованим для перетворення кодових слів змінних довжин на, відповідно, послідовності символів фіксованих довжин, при цьому наперед визначений ентропійний декодер використовує правило бієктивного перетворення, згідно з яким кодові слова допоміжного коду без префіксу перетворюються на 23 кодові слова довжиною З головного коду так, що кодове слово (с) з сєї0,1) перетворюється на кодове слово (ааа)з головного коду з аєі0,1), при цьому кодові слова, які мають (4) з са і 4 є(0,1) як префікс і відповідне перше 2-бітове слово з першої множини трьох 2-бітових слів як суфікс, перетворюються на усі три кодові слова головного коду, який має точно один символ б з ра і ре(0,1), при цьому кодові слова, які мають (4) як префікс і конкатенацію першого 2-бітового слова, яке не є елементом першої множини, і другого 2-бітового слова з другої множини трьох 2-бітових слів як суфікс, перетворюються на усі три кодові слова головного коду, який має точно один символ а, і кодове слово, яке має (4) як префікс і конкатенацію першого 2-бітового слова, яке не є елементом першої множини, і другого 2-бітового слова, яке не є елементом другої множини, як суфікс перетворюється на кодове слово (БББ)з. Перше 2-бітове слово кодових слів головного коду, який має точно один символ б, може бути 2-бітовим представленням положення символу Б у відповідному кодовому слові головного коду, а друге 2-бітове слово кодових слів головного коду, який має точно один символ а, може бути 2-бітовим представленням положення символу а у відповідному кодовому слові головного коду. Однак, альтернативи є реальними.
Наперед визначений один з ентропійних декодерів може бути декодером змінної довжини, сконфігурованим для перетворення кодових слів змінних довжин на послідовності символів, кожна з яких містить три символи, відповідно, і під час перетворення потоку бітів відповідного ентропійного декодера на символи сконфігурований для дослідження першого біта відповідного потоку бітів для визначення того факту (1) чи перший біт відповідного потоку бітів дорівнює с з сє(0,1), у випадку чого наперед визначений ентропійний декодер конфігурується для відновлення послідовності символів, яка дорівнює (ааа)з з а 0 50,1), або (2) чи перший біт відповідного потоку бітів дорівнює с з си і 4є350,1), у випадку чого наперед визначений ентропійний декодер конфігурується для визначення першого 2-бітового слова з 2 подальшими бітами відповідного потоку бітів, які ідуть після першого біта, і перевірки першого 2-бітового слова для визначення того факту (2.1) чи перше 2-бітове слово не є елементом першої множини з трьох 2-бітових слів, у випадку чого наперед визначений ентропійний декодер конфігурується для відновлення послідовності символів, яка має точно один символ Б з бг2аїіїро бо 10,1), при цьому положення символу р у відповідній послідовності символів залежить від першого 2-бітового слова, або (2.2) чи перше 2-бітове слово є елементом першої множини, у випадку чого наперед визначений ентропійний декодер конфігурується для визначення другого 2-бітового слова з 2 подальших бітів відповідного потоку бітів, які ідуть після двох бітів, з яких було визначене перше 2-бітове слово, і для перевірки другого 2-бітового слова для визначення того факту (3.1) чи друге 2-бітове слово не є елементом другої множини з трьох 2-бітових слів, у випадку чого наперед визначений ентропійний декодер конфігурується для відновлення послідовності символів, яка має точно один символ а, при цьому положення символу а у відповідній послідовності символів залежить від другого 2-бітового слова, або (3.2) чи друге 2- бітове слово є елементом другої множини з трьох 2-бітових слів, у випадку чого наперед визначений ентропійний декодер конфігурується для відновлення послідовності символів, яка дорівнює (Брб)з.
Тепер, після опису загальної концепції схеми кодування відеоданих, варіанти виконання представленого винаходу описуються відносно вищезгаданих варіантів виконання. Іншими словами, охарактеризовані нижче варіанти виконання можуть втілюватися шляхом використання вищенаведених схем і, навпаки, вищезгадані схеми кодування можуть втілюватися з використанням охарактеризованих нижче варіантів виконання.
У вищенаведених варіантах виконання, описаних відносно Фіг. 7-9, ентропійний кодер і декодери з Фіг. 1-6 втілювалися у відповідності з концепцією РІРЕ (ентропія поділу інтервалу ймовірності). Один спеціальний варіант виконання використовує арифметичні кодери/декодери 310 ії 322 з єдиним станом ймовірності. Як буде описуватися нижче, у відповідності з альтернативним варіантом виконання, об'єкти 306-310 і відповідні об'єкти 318-322 можуть замінятися спільним ентропійним кодувальним засобом. Наприклад, арифметичний кодувальний засіб може просто керувати одним спільним станом РК ії, і кодувати усі символи з одержанням одного спільного потоку бітів, таким чином відмовляючись від вигідних аспектів представленої концепції РІРЕ, що стосується паралельної обробки, але уникаючи необхідності чергування часткових потоків бітів, як обговорюється нижче. Роблячи це, кількість станів ймовірності, завдяки яким ймовірності контексту оцінюються шляхом оновлення даних (таблиця пошуку), може бути більшою за кількість станів ймовірності, завдяки яким виконується підрозбиття (інтервалу ймовірності. Тобто, аналогічно до дискретизації величина ширини
Зо інтервалу ймовірності перед індексацією в таблиці Ніаб, а також індекс стану ймовірності можуть дискретизуватися. Вищенаведений опис можливого втілення для окремих кодерів/декодерів 310 ї 322 може, таким чином, поширюватися, наприклад, на втілення ентропійних кодерів/декодерів 318-322/306-310 як адаптивних до контексту двійкових арифметичних кодувальних/декодувальних засобів:
Будучи більш точними, у відповідності з варіантом виконання, ентропійний кодер, підключений до виходу присвоювача параметрів (який функціонує тут як контекстний присвоювач), може працювати наступним чином: 0. Присвоювач 304 надсилає значення інформаційної величини разом з параметром ймовірності. Ймовірністю є рбіаїє ситепуріпі|. 1. Таким чином, ентропійний кодувальний засіб приймає: 1) ма! РБ5, 2) інформаційну величину і 3) оцінку розподілу ймовірності роїаїє ситепЦбріп|Ї. реїаїє ситепЦьбіп| може мати більше станів, ніж кількість розрізнюваних індексів стану ймовірності Ніаб. Якщо так, то роїаїє сштепЦбіп| може дискретизуватися як, наприклад, шляхом ігнорування т І 5В5 з т, більшим за або рівним 1 і переважно рівним 2 або 3, для одержання р віаїє, тобто індексу, який потім використовується для доступу до таблиці Ніаб. Однак, дискретизація може не виконуватися, тобто. р в5іаїе може дорівнювати роїаїе ситепуріп|. 2. Потім, виконується дискретизація В (Як згадується вище: будь-який один В (і відповідний
Ї з одним спільним потоком бітів) використовується/контролюється для усіх розрізнюваних величин р віаїє або один ВК (і відповідний ГІ з відповідним частковим потоком бітів на пару ВЛ.) на розрізнювану величину р в5іаіє, яка в останньому випадку повинна відповідати наявності одного двійкового кодера 310 на таку величину) а іпдех-Стац(АВ»»а) (або деяка інша форма дискретизації) 3. Потім, виконується визначення Віз і В:
Віє5-НіІабір віаїєї|Їд іпдех!І; Аїар зберегла попередньо обраховані величини для рір віає|ЮІд іпаєх
В-В-Вгез |(гобто, В попередньо оновлюється якщо б "елемент вибірки" був МРБ) 4. Обрахунок нового часткового інтервалу: її (біп-1-маЇМРБ) теп
І--8 бо В-Вівв5
5. Повторна нормалізація І і В, запис бітів,
Аналогічно, ентропійний декодер, підключений до виходу присвоювача параметрів (який функціонує тут як контекстний присвоювач), може працювати наступним чином: 0. Присвоювач 304 надсилає значення інформаційної величини разом з параметром ймовірності. Ймовірність дорівнює робїаїє. ситепцріп|. 1. Таким чином, ентропійний кодувальний засіб приймає запит на надання інформаційної величини разом 3: 1) майїРБ, і 2) оцінкою розподілу ймовірності реїаїє ситепі(Біп|. роїаїє ситепЦбіп| може мати більше станів, ніж кількість розрізнюваних індексів станів ймовірності таблиці Віар. Якщо так, то роїаіїє ситепі(ріп| може дискретизуватися, наприклад, шляхом ігнорування т І 585 з т, яке більше за або рівне 1 і переважно дорівнює 2 або 3, для одержання р віаїє, тобто індексу, який потім використовується для доступу до таблиці Віаб.
Дискретизація може, однак, не виконуватися, тобто, р віаїє може дорівнювати роїаїє ситепі(ріп|. 2. Потім, виконується дискретизація ЕВ (як згадано вище: будь-який один В (і відповідний М з одним спільним потоком бітів) використовується/контролюється для усіх розрізнюваних величин р 5іаіїє, або один В (і відповідний М з відповідним частковим потоком бітів на пару В/) на розрізнювану величину р б5іаїє, яка в останньому випадку повинна відповідати наявності одного двійкового кодера 310 на таку величину) а іпдех-Стац(АВ»»а) (або деяка інша форма дискретизації) 3. Потім, виконують визначення Віз і В:
Вігєз-РІабір зіаїє|(д іпаеєех)!; Віаб зберегла попередньо обраховані величини для рір. зіате|ОІЧ. іпаех
В-В-Вгез |гобто, В попередньо оновлюється, якщо "Інформаційною величиною" було МРОЇ 4. Визначення інформаційної величини, яке залежить від положення часткового інтервалу: її (УЗ В) Теп
Бріп-1-маЇМРБ5 (інформаційна величина декодується як І РО; двійковий буферний селектор 18 буде одержувати реальне значення інформаційної величини шляхом використання цієї інформації про інформаційну величину і маїМР5)
У-Мм-ч
Зо В-Вівв5 або
Біп--хаїМР5 (інформаційна величина декодується як МР5; реальне значення інформаційної величини одержується шляхом використання цієї інформації про інформаційну величину та хаїМР5) 5. Повторна нормалізація В, зчитування одного біта і оновлення У,
Як описано вище, присвоювач 4 присвоює реїаїє ситепцріп| кожній інформаційній величині.
Зв'язування може виконуватися на основі вибору контексту. Тобто, присвоювач 4 може вибирати контекст, використовуючи індекс контексту сіхідх, який, у свою чергу, має відповідну зв'язану з ним ймовірність роїаїє ситепі. Оновлення ймовірності може виконуватися кожен раз, коли ймовірність роїаїє сиптепЦбіп| використана для поточної інформаційної величини.
Оновлення стану ймовірності реїаїє сиптепЦріп| виконується, в залежності від значення кодованого біта: її (рй-1-маЇМРБ) теп роїаїє сштепіє-Мехі біаіє І РО реїаїє ситепі її(реїаїє ситепі-0) теп маїМР5--1-аїМмР5 віве роїаїє сштепіє-Мехі біаїє МРБ Іреоїіаїє ситепі)
Якщо надається більше ніж один контекст, то адаптація виконується контекстно, тобто, роїаїє сшитепі(сіхідх| використовується для кодування і потім для оновлення з використанням поточного значення інформаційної величини (кодованої або, відповідно, декодованої).
Як буде описано детальніше нижче, у відповідності з описаними тепер варіантами виконання, кодер і декодер можуть необов'язково втілюватися для роботи в різних режимах, а саме: в режимі низької складності (І С) і високоефективному режимі (НЕ). Це головним чином ілюструється далі відносно РІРЕ кодування (потім згадуючи режими ІС і НЕ РІРЕ), але опис деталей складності масштабування легко переноситься на інші втілення засобів ентропійного кодування/декодування, таких як варіант виконання з використанням одного спільного адаптивного до контексту арифметичного кодера/декодера.
У відповідності з описаними нижче варіантами виконання, обидва режими ентропійного кодування можуть використовувати
" однаковий синтаксис і семантику (для послідовності синтаксичних елементів З01 і, відповідно, 327) " однакові схеми бінаризації для усіх синтаксичних елементів (як на даний момент специфікується для САВАС) (тобто, бінаризатори можуть працювати незалежно від активованого режиму) " використання одних і тих же РІРЕ кодів (тобто, двійкові кодери/декодери можуть працювати незалежно від активованого режиму) " використання 8 бітових ініціалізуючих величин моделі ймовірності (замість 16 бітових ініціалізуючих величин, як на даний момент специфіковано для САВАС)
Загалом, кажучи, І С-РІРЕ відрізняється від НЕ-РІРЕ складністю обробки, як, наприклад, складність вибору РІРЕ доріжки 312 для кожної інформаційної величини.
Наприклад, режим низької складності (ІС) може функціонувати за наступних обмежень: для кожної інформаційної величини (Бріпідх) може існувати точно одна модель ймовірності, тобто, одне значення сіхійх. Тобто, може не передбачатися вибір/адаптація контексту в С РІРЕ.
Спеціальні синтаксичні елементи, такі як ті, що використовуються для залишкового кодування, можуть, однак, кодуватися з використанням контекстів, як далі описано нижче. Більше того, усі моделі ймовірності можуть бути неадаптивними, тобто, усі моделі можуть ініціалізуватися на початку кожної частини інформації відповідними модельованими ймовірностями (в залежності від вибору типу частини інформації і ОР частини інформації) і можуть зберігатися фіксованими протягом усього процесу обробки частини інформації. Наприклад, можуть підтримуватися тільки 8 різних модельованих ймовірностей, які відповідають 8 різним РІРЕ кодам 310/322, для моделювання контексту і кодування. Спеціальні синтаксичні елементи для залишкового кодування, тобто, зідпітісапсе соей Пйад і соєй абз Іеме! агеаїєтХ (з Х-1,2), семантика яких описана детальніше нижче, можуть присвоюватися моделям ймовірності так, що (принаймні) групи, наприклад, з 4 синтаксичних елементів кодуються/декодуються однією і тією ж модельованою ймовірністю. Порівняно з САМІ С, режим І С-РІРЕ досягає приблизно тих же характеристик В-0О і тієї ж продуктивності.
НЕ-РІРЕ може конфігуруватися концептуально подібно до САВАС стандарту Н.264 з наступними відмінностями: двійкове арифметичне кодування (ВАС) замінюється РІРЕ
Зо кодуванням (теж саме що й у випадку І С-РІРЕ). Кожна модель ймовірності, тобто, кожен сіхідх, може представлятися ріреїдх і геїїпедх, де ріреїдх із значеннями в інтервалі 0...7 представляє модельовану ймовірність 8 різних РІРЕ кодів. Ця зміна впливає тільки на внутрішнє представлення станів, а не на поведінку самої машини стану (тобто, оцінку ймовірності). Як буде детальніше описано нижче, ініціалізація моделей ймовірності може використовувати 8 бітові ініціалізуючі величини, як вказано вище. Зворотне сканування синтаксичних елементів соей аре ІемеІ дгеайїєтхХ (з Х-1,2), соей ар5 ІємеІ тіпи53 (і соей 5ідп Яад (семантика яких стане яснішою з нижченаведеного обговорення) може виконуватися вздовж тієї ж доріжки сканування що й пряме сканування (використовуване, наприклад, в кодуванні карти значущості). Може також спрощуватися одержання контексту для кодування соеєїї аре Ієме! дгеаїетх (мій Х-1,2). Порівняно з САВАС, запропонований НЕ-РІРЕ приблизно досягає тих же характеристик В-О з кращою продуктивністю.
Легко побачити, що тільки що згадані режими легко генеруються шляхом виконання, наприклад, вищезгаданого адаптивного до контексту двійкового арифметичного кодувального/декодувального засобу так, що він працює в різних режимах.
Таким чином, у відповідності з варіантом виконання у відповідності з першим аспектом представленого винаходу, декодер для декодування потоку даних може формуватися, як зображено на Фіг. 11. Декодер передбачений для декодування потоку даних 401, такого як поперемінний потік бітів 340, в який кодуються мультимедійні дані, такі як відеодані. Декодер містить перемикач режимів 400, сконфігурований для активування режиму низької складності або високоефективного режиму, в залежності від потоку даних 401. Для цього, потік даних 401 може містити синтаксичний елемент, такий як двійковий синтаксичний елемент, який має двійкову величину 1 у випадку режиму низької складності, який активується, і має двійкову величину 0 у випадку високоефективного режиму, який активується. Очевидно, зв'язок між інформаційною величиною і режимом кодування може перемикатися, а недвійковий синтаксичний елемент, який має більше, ніж два можливі значення, міг би також використовуватися. Оскільки реальний вибір між обома режимами все ще нечіткий до прийому відповідного синтаксичного елемента, то цей синтаксичний елемент може міститися в деякому ведучому заголовку кодованого потоку даних 401, наприклад, з фіксованою оцінкою ймовірності або моделлю ймовірності, або записуватися в потік даних 401, тобто, коли використовується 60 байпасний режим.
Окрім того, декодер з Фіг. 11 містить множину ентропійних декодерів 322, кожен з яких сконфігурований для перетворення кодових слів в потоці даних 401 на часткові послідовності 321 символів. Як описано вище, обернений перемежовувач 404 може підключатися між входами ентропійних декодерів 322, з одного боку, і входом декодера з Фіг. 11, де використовується потік даних 401, з іншого боку. Окрім того, як вже описувалося вище, кожен з ентропійних декодерів 322 може зв'язуватися з відповідним інтервалом ймовірності, при цьому інтервали ймовірності різних ентропійних декодерів, разом, охоплюють увесь інтервал ймовірності від 0 до 1 або від 0 до 0,5 у випадку ентропійних декодерів 322, які мають справу з МРБ і І РБ5 скоріше, ніж з абсолютними символьними величинами. Деталі, які стосуються цього питання, були описані вище. Пізніше припускається, що кількість декодерів 322 становить 8 з РІРЕ індексом, який присвоюється кожному декодеру, але будь-яка інша кількість також можлива. Окрім того, один з цих кодерів (далі це ілюстративно той кодер, який має ріре ій 0) оптимізується для інформаційних величин, які мають рівноцінну статистику, тобто, їх двійкова величина рівноцінно припускає 1 і 0. Цей декодер може просто проходитися по інформаційних величинах.
Відповідний кодер 310 працює так само. Навіть будь-яка маніпуляція з інформаційною величиною, яка залежить від значення найбільш ймовірної інформаційної величини, ма!мР, за допомогою селекторів 402 і, відповідно, 502 може усуватися, іншими словами, ентропія відповідного часткового потоку є вже оптимальною.
Окрім того, декодер з Фіг. 11 містить селектор 402, сконфігурований для одержання кожного символу послідовності 326 символів з вибраного одного з множини ентропійних декодерів 322.
Як згадано вище, селектор 402 може ділитися на присвоювач параметрів 316 і селектор 318.
Десимволізатор 314 конфігурується для десимволізації послідовності 326 символів для одержання послідовності 327 синтаксичних елементів. Реконструктор 404 конфігурується для відновлення мультимедійних даних 405 на основі послідовності синтаксичних елементів 327.
Селектор 402 конфігурується для виконання вибору, який залежить від одного активованого режиму, вибраного серед режиму низької складності і високоефективного режиму, як вказано стрілкою 406.
Як вже відзначено вище, реконструктор 404 може бути частиною блочного прогнозувального відеодекодера, який працює на фіксованому синтаксисі і семантиці синтаксичних елементів, тобто, фіксований відносно вибору режиму, за допомогою перемикача режимів 400. Тобто, структура реконструктора 404 не страждає від зданості перемикати режими. Точніше, реконструктор 404 не збільшує надмірне втілення, завдяки здатності перемикання режимів, яке забезпечується перемикачем режимів 400 і принаймні функціональністю стосовно залишкових даних, і дані прогнозування залишаються однаковими, незалежно від режиму, вибраного перемикачем 400. Те ж саме застосовується, однак, стосовно ентропійних декодерів 322. Усі ці декодери 322 повторно використовуються в обох режимах і, відповідно, відсутні додаткові втілення, хоча декодер з Фіг. 11 сумісний з обома режимами: режимом низької складності і високоефективним режимом.
Як побічний аспект слід відзначити, що декодер з Фіг. 11 не тільки здатен працювати на незалежних потоках даних або в одному режимі, або в іншому режимі. Скоріше, декодер з Фіг. 11, а також потік даних 401 можуть конфігуруватися так, що перемикання між обома режимами повинно бути навіть можливим під час обробки однієї частини мультимедійних даних, як, наприклад під час обробки відеоданих або деякої частини аудіоінформації, для, наприклад, керування складністю кодування на кодувальній стороні, в залежності від зовнішніх або навколишніх умов, таких як стан акумулятора або подібне, з використанням каналу зворотного зв'язку від декодера до кодера, відповідно, для керування в замкненому контурі вибором режиму.
Таким чином, декодер з Фіг. 11 працює подібно в обох випадках: у випадку режиму низької складності (С), який вибирається, або високефективного режиму (НЕ), який вибирається.
Реконструктор 404 виконує відновлення з використанням синтаксичних елементів і запрошує поточний синтаксичний елемент наперед визначеного типу шляхом обробки або задоволення деякої рекомендації щодо синтаксичної структури. Десимволізатор 314 запрошує ряд інформаційних величин для виконання дійсної бінаризації для синтаксичного елемента, запрошеного реконструктором 404. Очевидно, що у випадку двійкового алфавіту, бінаризація, виконувана десимволізатором 314, зводиться просто до подачі відповідної інформаційної величини/символу 326 до реконструктора 404 як на даний момент запрошений двійковий синтаксичний елемент.
Однак, селектор 402 функціонує незалежно в режимі, вибраному перемикачем режимів 400.
Режим роботи селектора 402 має тенденцію бути складнішим у випадку високоефективного бо режиму і менш складним у випадку режиму низької складності. Більше того, наступне обговорення покаже, що режим роботи селектора 402, в режимі нижчої складності, також має тенденцію знижувати швидкість, з якою селектор 402 змінює вибір серед ентропійних декодерів 322 при одержанні послідовних символів з ентропійних декодерів 322. Іншими словами, в режимі низької складності існує вища ймовірність, що безпосередньо розташовані один за одним послідовні символи одержуються з одного і того ж ентропійного декодера серед множини ентропійних декодерів 322. Це, у свою чергу, дозволяє швидше одержання символів з ентропійних декодерів 322. У високоефективному режимі, у свою чергу, режим роботи селектора 402 має тенденцію до досягання вибору серед ентропійних декодерів 322, де інтервал ймовірності, зв'язаний з відповідним вибраним ентропійним декодером 322, більш близько відповідає реальній символьній статистиці символу, на даний момент одержаного селектором 402, таким чином досягаючи кращого коефіцієнта стискання на кодувальній стороні при генеруванні відповідного потоку даних у відповідності з високоефективним режимом.
Наприклад, різна поведінка селектора 402 в обох режимах може реалізовуватися наступним чином. Наприклад, селектор 402 може конфігуруватися для виконання для наперед визначеного символу вибору серед множини ентропійних декодерів 322, який залежить від попередньо одержаних символів послідовності 326 символів у випадку високоефективного режиму роботи, який активується, і незалежно від будь-яких попередньо одержаних символів послідовності символів, у випадку режиму низької складності, який активується. Залежність від попередньо одержаних символів послідовності 326 символів може випливати з адаптивності до контексту і/або адаптивності до ймовірності. Обидві адаптивності можуть деактивуватися в селекторі 402 під час режиму низької складності.
У відповідності з подальшим варіантом виконання, потік даних 401 може структуруватися на послідовні частини, такі як частини масиву даних, кадри, група картинок, послідовності кадрів або подібне, і кожен символ послідовності символів може зв'язуватися з відповідним одним з множини типів символів. У цьому випадку селектор 402 може конфігуруватися для варіювання для символів наперед визначеного типу в поточній частині масиву даних, при цьому вибір залежить від попередньо одержаних символів послідовності символів наперед визначеного типу в поточній частині масиву даних, у випадку високоефективного режиму, який активується, і для полишення вибору сталим в поточній частині у випадку режиму низької складності, який
Зо активується. Тобто, селектору 402 можуть надавати можливість змінювати вибір серед ентропійних декодерів 322 для наперед встановленого типу символу, але ці зімни обмежуються появою між переходами між послідовними частинами масиву даних. Завдяки цьому заходу оцінки реальної статистики символів, обмежуються рідкими моментами часу, тоді як складність кодування зменшується протягом більшості часу.
Окрім того, кожен символ послідовності 326 символів може зв'язуватися з відповідним одним з множини типів символів, а селектор 402 може конфігуруватися для наперед визначеного символу наперед визначеного типу для вибору одного з множини контекстів, який залежить від попередньо одержаних символів послідовності 326 символів, і виконання вибору серед ентропійних декодерів 322, який залежить від моделі ймовірності, зв'язаної з вибраним контекстом разом з оновленням моделі ймовірності, зв'язаної з вибраним контекстом, який залежить від наперед визначеного символу у випадку високоефективного режиму, який активується, і для виконання вибору одного з множини контекстів, який залежить від попередньо одержаних символів послідовності 326 символів, і для виконання вибору серед ентропійних декодерів 322, який залежить від моделі ймовірності, зв'язаної з вибраним контекстом, разом з полишенням моделі ймовірності, зв'язаної з вибраним контекстом, сталою у випадку режиму низької складності, який активується. Тобто, селектор 402 може використовувати адаптивність до контексту відносно певного типу синтаксичного елемента в обох режимах з одночасним уникненням адаптації до ймовірності, у випадку режиму низької складності (І С).
Альтернативно, замість повного усунення адаптації до ймовірності, селектор 402 може просто знижувати швидкість оновлення адаптації до ймовірності режиму низької складності (І С) відносно високоефективного (НЕ) режиму.
Окрім того, можливі спеціальні І С-ріре аспекти, тобто, аспекти режиму низької складності (С), можна описати іншими словами. Зокрема, неадаптивні моделі ймовірності могли б використовуватися в режимі низької складності (І С). Неадаптивна модель ймовірності може або мати жорстко закодовану, тобто загалом сталу ймовірність, або її ймовірність зберігається фіксованою протягом тільки обробки частини масиву даних і, таким чином, може визначатися залежно від типу частини масиву даних і ОР, тобто, від параметра дискретизації, який, наприклад, сигналізується в потоці даних 401 для кожної частини масиву даних. Припускаючи, бо що послідовні інформаційні величини, присвоєні одному і тому ж контексту, дотримуються моделі фіксованої ймовірності, можна декодувати декілька з таких інформаційних величин за один етап, оскільки вони кодуються з використанням одного і того ж ріре коду, тобто, використовуючи однаковий ентропійний декодер, і уникається оновлення ймовірності після кожної декодованої інформаційної величини. Уникнення оновлень ймовірності зберігає операції під час процесу кодування і декодування і, таким чином, також веде до знижень складності і значного спрощення архітектури апаратних засобів.
Неадаптивне обмеження може послаблюватися для усіх або деяких вибраних моделей ймовірності у такий спосіб, що оновлення ймовірності дозволяються після певної кількості інформаційних величин, кодованих/декодованих з використанням цієї моделі. Належний інтервал оновлення дозволяє адаптацію ймовірності з наявністю здатності декодувати за один раз декілька інформаційних величин.
Далі представляється детальніший опис можливих спільних аспектів з масштабованою складністю режимів І С-ріре і НЕ-ріре. Зокрема, далі описуються аспекти, які можуть використовуватися для режиму І С-ріре і режиму НЕ-ріре у той же спосіб або у спосіб з масштабованою складністю. Масштабована складність означає, що випадок І С одержується з випадку НІ шляхом видалення окремих частин або шляхом заміни їх дещо менш складними частинами. Однак, перед виконанням цього, слід відзначити, що варіант виконання з Фіг. 11 легко перетворюється на вищезгаданий варіант виконання адаптивного до контексту двійкового арифметичного кодування/декодування: селектор 402 і ентропійні декодери 322 повинні об'єднуватися в адаптивний до контексту двійковий арифметичний декодер, який повинен безпосередньо приймати потік даних 401 і вибирати контекст для інформаційної величини, який на даний момент одержується з потоку даних. Це особливо справедливо для адаптивності до контексту і/або адаптивності до ймовірності Обидві функції/адаптивності можуть деактивуватися або розроблятися більш послабленими під час режиму низької складності.
Наприклад, при втіленні варіанта виконання з Фіг. 11, фаза ентропійного ріре кодування, яка використовує ентропійні декодери 322, могла б використовувати вісім систематичних кодів, які відображають перетворення послідовності символів змінної довжини на послідовність бітів змінної довжини, тобто, кожен ентропійний декодер 322 міг би бути декодером типу мам, який описаний вище. Концепція РіІРЕ кодування, яка використовує систематичні м2гх-КОпПп,
Зо спрощується шляхом обмеження кількості м2у-КОПіє. У випадку адаптивного до контексту двійкового арифметичного декодера вона могла б керувати тими ж станами ймовірності для різних контекстів і використовувати ту ж або її дискретизовану версію для підрозбиття інтервалу ймовірності. Перетворення САВАС або станів моделі ймовірності, тобто станів, використовуваних для оновлення ймовірності, на РІРЕ індекси або індекси ймовірності для пошуку в таблиці Віаб можуть бути тими, що зображені в Таблиці А.
Зо
Таблиця А:
Перетворення станів САВАС на РІРЕ індекси 0 176 | 1 ? 18 7198 2
З
4 607 --5335Б 1
Ця модифікована схема кодування може використовуватися як основа для наближення кодування відеоданих з масштабованою складністю. При виконанні адаптації режиму ймовірності селектор 402 або адаптивний до контексту двійковий арифметичний декодер, відповідно, повинен вибирати РІРЕ декодер 322, тобто, одержувати використовуваний ріре індекс і індекс ймовірності в Ніаб, відповідно, на основі індексу стану ймовірності (тут ілюстративний інтервал від ОО до 62) зв'язаний з поточним символом, який декодується, як, наприклад, за допомогою контексту, з використанням перетворення, вказаного в таблиці А, і повинен оновлювати цей індекс стану ймовірності, в залежності від на даний момент декодованого символу з використанням, наприклад, спеціальних перехідних величин таблиці, які вказують на індекс наступного стану ймовірності, який переглядається у випадку МР: і, відповідно, І РО. У випадку режиму низької складності (І С), оновлення останнього можна було б уникнути. Навіть перетворення можна було б уникнути у випадку моделей глобально фіксованої ймовірності.
Однак, довільний ентропійний кодувальний пристрій міг би використовуватися і технології у цьому документі можна також використовувати з незначними адаптаціями.
Вищенаведений опис Фіг. 11 скоріше головним чином належить до синтаксичних елементів і типів синтаксичних елементів. Далі описується кодування з конфігурованою складністю рівнів значущості коефіцієнта перетворення.
Наприклад, реконструктор 404 може конфігуруватися для відновлення блока перетворення 200 рівнів значущості коефіцієнта перетворення 202 на основі частини послідовності синтаксичних елементів, незалежно від високоефективного режиму або режиму низької складності, який активується, на основі частини послідовності 327 синтаксичних елементів, яка містить непоперемінним способом синтаксичні елементи карти значущості, які визначають карту значущості, яка вказує положення ненульових рівнів коефіцієнта перетворення в блоці 200 перетворення, а потім (після) синтаксичні елементи рівня значущості, які визначають ненульові рівні коефіцієнта перетворення. Зокрема, можуть використовуватися наступні елементи: синтаксичні елементи кінцевого положення (Іабі зідпітісапі ро5 х, Іабі відпітїсапі роз у), які вказують положення останнього ненульового рівня коефіцієнта перетворення в блоці перетворення; перші синтаксичні елементи (соєїї 5ідпітісапі Пад), які разом визначають карту значущості і вказують для кожного положення вздовж одномірної доріжки (274), яка веде від положення ОС до положення останнього ненульового рівня коефіцієнта перетворення в блоці (200) перетворення, чи рівень коефіцієнта перетворення у відповідному положенні є ненульовим чи ні; другі синтаксичні елементи /соєїй ар агеаїет), які вказують для кожного положення одномірної доріжки (274), де, згідно з першими двійковими синтаксичними елементами, розташований ненульовий рівень коефіцієнта перетворення, чи рівень коефіцієнта перетворення у відповідному положенні, більший за одиницю; і треті синтаксичні елементи
Їїсоеїй ар дгеайегг, соей ар тіпи53), які вказують для кожного положення одномірної доріжки, де, згідно з першими двійковими синтаксичними елементами, розташований рівень коефіцієнта перетворення, більший за одиницю, величину, на яку відповідний рівень коефіцієнта перетворення у відповідному положенні перевищує одиницю.
Порядок серед синтаксичних елементів кінцевого положення, перших, других і третіх синтаксичних елементів може бути однаковим для високоефективного режиму і режиму низької складності, і селектор 402 може конфігуруватися для виконання вибору серед ентропійних декодерів 322 для символів, з яких десимволізатор 314 одержує синтаксичні елементи кінцевого положення, перші синтаксичні елементи, другі синтаксичні елементи і/або треті синтаксичні елементи, які по різному залежать від режиму низької складності або високоефективного режиму, який активується.
Зокрема, селектор 402 може конфігуруватися для символів наперед визначеного типу серед підпослідовності символів, з яких десимволізатор 314 одержує перші синтаксичні елементи і другі синтаксичні елементи, для вибору для кожного символу наперед визначеного типу одного з множини контекстів, який залежить від попередньо одержаних символів, наперед визначеного типу серед підпослідовності символів і для виконання вибору, який залежить від моделі ймовірності, зв'язаної з вибраним контекстом у випадку високоефективного режиму, який активується, і для виконання вибору кусково сталим способом так, що вибір є сталим на послідовних неперервних субчастинах послідовності, у випадку режиму низької складності, який активується. Як описано вище, субчастини можуть визначатися в ряді положень, по яких проходять відповідна субчастина вздовж одномірної доріжки 274, або в ряді синтаксичних елементів відповідного типу, вже кодованого поточним контекстом. Тобто, двійкові синтаксичні елементи соеїї 5ідпіїсапі Пйад, соей арб5 дгеаїені і соей ар5 дгєайег2, наприклад, кодуються адаптивно до контексту вибором декодера 322 на основі моделі ймовірності вибраного контексту у високоефективному режимі (НЕ). Також використовується адаптація ймовірності. В режимі низької складності (І С) існують також різні контексти, які використовуються для кожного з двійкових синтаксичних елементів соєїї відпіїїсапі Пад, соєїї абз дгеаїетн ісоей арз агеаїетгаг.
Однак, для кожного з цих синтаксичних елементів контекст зберігається статичним для першої частини вздовж доріжки 274 з простою зміною контексту при переході до наступної частини, яка безпосередньо іде за нею вздовж доріжки 274. Наприклад, кожна частина може займати 4, 8, 16 положень блока 200 в довжину незалежно від того, чи присутній, чи ні для відповідного положення відповідний синтаксичний елемент. Наприклад, соей ар агеаїег! і соей аре дгєаїєг2 просто присутні для значущих положень, тобто, положень, де або для яких соеїй 5ідпітісапі Пад становить 1. Альтернативно, кожна частина може становити в довжину 4, 8, 16 синтаксичних елементів, незалежно від того, чи, таким чином одержувана відповідна частина охоплює більшу кількість положень блоків. Наприклад, соєї аб агеайент і соєїй абз агєайег2 просто присутні для значущих положень і, таким чином, частини чотирьох синтаксичних елементів можуть охоплювати більше ніж 4 положення блока, завдяки положенням між ними вздовж доріжки 274, для якої синтаксичний елемент не передається так, що відсутні соей арз агеаїент ісоей арз агеаїег2, оскільки відповідний рівень у цьому положенні дорівнює нулю.
Селектор 402 може конфігуруватися для символів, наперед визначеного типу серед підпослідовності символів, з яких десимволізатор одержує перші синтаксичні елементи і другі 60 синтаксичні елементи, для вибору для кожного символу, наперед визначеного типу одного з множини контекстів, в залежності від кількості попередньо одержаних символів, наперед визначеного типу в підпослідовності символів, які мають, наперед визначену величину і належать до однієї і тієї ж субчастини, або від кількості попередньо одержаних символів, наперед визначеного типу в послідовності символів, які належать одній і тій же субчастині.
Перша альтернатива була справедливою для соеїї аре дгєаїегі, а допоміжна альтернатива була справедливою для соєїї арх дгеаїег2, у відповідності з вищенаведеними спеціальними варіантами виконання.
Окрім того, треті синтаксичні елементи, які вказують для кожного положення одномірної доріжки, де, згідно з першими двійковими синтаксичними елементами, розташований рівень значущості коефіцієнта перетворення, більший за одиницю, величини, на яку відповідний рівень значущості коефіцієнта перетворення у відповідному положенні перевищує одиницю, можуть включати цілі синтаксичні елементи, тобто, соєїй ар5 тіпи53, і десимволізатор 314 може конфігуруватися для використання функції перетворення, яка керується контрольним параметром, для перетворення області слів символьної послідовності на кообласть цілих синтаксичних елементів, і для визначення контрольного параметра на цілий синтаксичний елемент, в залежності від цілих синтаксичних елементів попередніх третіх синтаксичних елементів, якщо активується високоефективний режим, і для виконання визначення параметрів кусково сталим чином так, що визначення параметрів є сталим на послідовних неперервних субчастинах підпослідовності, у випадку режиму низької складності, який активується, при цьому селектор 402 може конфігуруватися для вибору, наперед визначеного одного з ентропійних декодерів (322) для символів слів символьної послідовності, перетворених на цілі синтаксичні елементи, який зв'язується 3 рівномірним розподілом ймовірності як у високоефективному режимі, так і у режимі низької складності. Тобто, навіть десимволізатор може працювати, в залежності від режиму, вибраного перемикачем режимів 400, зображеним пунктирною лінією 407. Замість кусково сталого визначення контрольного параметра десимволізатор 314 може зберігати контрольний параметр сталим під час поточної частини масиву, наприклад, або глобально сталим в чавбі.
Далі описується моделювання контексту з масштабованою складністю.
Оцінка того ж синтаксичного елемента верхнього лівого сусіднього блока для одержання
Зо індексу моделі контексту є спільним наближенням і часто використовується, у випадку високоефективного режиму (НЕ), наприклад, для синтаксичного елемента різниці векторів руху.
Однак, ця оцінка вимагає більшого зберігального буфера і не дозволяє пряме кодування синтаксичного елемента. Також, для досягання вищих характеристик кодування, можуть оцінюватися більш доступні сусідні елементи.
В переважному варіанті виконання, уся фаза моделювання контексту, яка оцінює синтаксичні елементи сусідніх квадратних або прямокутних блоків, або прогнозувальних блоків, присвоюються одній моделі контексту. Це дорівнює деактивуванню адаптивності на фазі вибору моделі контексту. Для такого переважного варіанта виконання вибір моделі контексту, який залежить від двійкового індексу рядка інформаційних величин після бінаризації, не модифікується, порівняно з поточною структурою для САВАС. В іншому переважному варіанті виконання на додаток до моделі фіксованого контексту для синтаксичних елементів використовують оцінку сусідніх блоків, також фіксують модель контексту для різних двійкових індексів. Відзначаємо, що опис не включає бінаризацію і вибір моделі контексту для різниці векторів руху і синтаксичні елементи, які стосуються кодування рівнів значущості коефіцієнта перетворення.
В переважному варіанті виконання дозволяється тільки оцінка лівого сусіднього блока. Це веде до зменшеного буфера в ланцюзі обробки, оскільки останній блок або кодувальну блочну лінію не потрібно більше зберігати. В подальшому переважному варіанті виконання оцінюються тільки сусідні блоки, які лежать в одному і тому ж кодувальному засобі.
В переважному варіанті виконання оцінюються усі доступні сусідні блоки. Наприклад, на додаток до верхнього лівого сусіднього блока, верхній лівий, верхній правий і нижній правий блок оцінюються у випадку доступності.
Тобто, селектор 402 з Фіг. 11 може конфігуруватися для використання для наперед визначеного символу, який належить до наперед визначеного блока мультимедійних даних, попередньо одержаних символів послідовності символів, яка належить до більшої кількості різних сусідніх блоків мультимедійних даних у випадку високоефективного режиму, який активується, для вибору одного з множини контекстів і для виконання вибору серед ентропійних декодерів 322, який залежить від моделі ймовірності, зв'язаної з вибраним контекстом. Тобто, сусідні блоки можуть бути сусідніми в часовій і/або просторовій області. Просторово сусідні 60 блоки видимі, наприклад, на Фіг. 1-3. Потім селектор 402 може відповідати за вибір режиму за допомогою перемикача 400 режимів для виконання адаптації контексту на основі попередньо одержаних символів або синтаксичних елементів, які належать до більшої кількості сусідніх блоків у випадку високоефективного (НЕ) режиму, порівняно з режимом низької складності (І С), таким чином зменшуючи зберігання надмірної інформації, як тільки що описано.
Далі, описується кодування з меншою складністю різниць векторів руху у відповідності з варіантом виконання.
У стандартному відеокодеку Н.264/АМС вектор руху, зв'язаний з макроблоком, передається шляхом сигналізації різниці (різниця векторів руху - тма) між вектором руху поточного макроблока і предиктором серединного вектора руху. Коли САВАС використовується як ентропійний кодер, то тм кодується наступним чином. Ціле значення тм поділяється на абсолютну величину і знак числа. Абсолютну величину бінаризують з використанням комбінації зрізаного унарного коду і експоненціального коду Голомба 3-го порядку, названих префіксом і суфіксом одержуваного рядка двійкових кодів. Інформаційні величини, які належать до бінаризації зі зрізанням унарного коду, кодуються з використанням моделей контексту, тоді як інформаційні величини, які належать до бінаризації з використанням експоненціальних кодів
Голомба, кодуються в байпасному режимі, тобто, з фіксованою ймовірністю 0,5 за допомогою
САВАС. Бінаризація з використанням унарних кодів виконується наступним чином. Покладають абсолютну величину цілого значення тма, рівною п, потім одержуваний рядок двійкових кодів складається з п" і одним залишковим "0. Як приклад, нехай п-4, потім рядком двійкових чисел
Є 11110". У випадку зрізаного унарного коду, існує межа, і якщо значення перевищує цю межу, то рядок двійкових чисел складається з п'-1 1". Для випадку тма, межа дорівнює 9. Це означає, що якщо кодується абсолютна величина туй, яка дорівнює або більша 9, то завдяки бінаризації, з використанням експоненціальних кодів Голомба, одержується 9 "1, рядок двійкових чисел складається з префіксу і суфіксу. Моделювання контексту для зрізаної унарної частини виконується наступним чином. Для першого двійкового числа рядка двійкових чисел беруться абсолютні значення тм з верхнього і лівого сусіднього макроблоків, якщо вони доступні (якщо не доступні, то розуміється, що значення дорівнює 0). Якщо сума для спеціального компонента (горизонтальний або вертикальний напрям) більша за 2, то вибирається друга модель контексту, якщо абсолютне значення суми більше за 32, то
Зо вибирається третя модель контексту, інакше (абсолютне значення суми менше ніж 3) і вибирається перша модель контексту. Окрім того, моделі контексту є різними для кожного компонента. Для другого двійкового числа рядка двійкових чисел використовується четверта модель контексту і п'ята модель контексту використовується для решти двійкових чисел унарної частини. Коли абсолютне значення тма дорівнює або більша за 9, наприклад, усі двійкові числа зрізаної унарної частини дорівнюють "1", то різниця між абсолютним значенням тм і 9 кодується в байпасному режимі за допомогою експоненціальних кодів Голомба 3-го порядку. На останньому етапі знак тма кодується в байпасному режимі.
Найостанніша технологія кодування для тма, при використанні САВАС як ентропійного кодера, описується в поточній Тестувальній Моделі (НМ) проєкту Високоефективного кодування відеоданих (НЕМС). В НЕМС розміри блоків є змінними і форма, специфікована вектором руху, називається прогнозувальним засобом (РШ). Розміри РО верхнього лівого сусіднього блока можуть бути іншими, ніж у поточному РО. Тому, як би це не було релевантним, верхній і лівий сусідній блоки тепер називаються верхнім і лівим сусіднім блоком верхнього лівого кута поточного РО. Для самого кодування тільки процес одержання першого двійкового числа може змінюватися у відповідності з варіантом виконання. Замість оцінки абсолютного значення суми
ММ від сусідніх блоків, кожен сусідній блок може, ще за 16, то індекс моделі контексту може збільшуватися, надаючи ту ж кількість моделей контексту для першого двійкового числа, тоді як кодування решти рівня абсолютного значення ММО і знака є точно таким же що й у стандарті
Н.264/АМ.
У вищеописаній технології кодування тма до 9 інформаційних величин повинні кодуватися моделлю контексту, тоді як залишкова величина тм може кодуватися в байпасному режимі низької складності разом з інформацією про знак. Цей представлений варіант виконання описує технологію зменшення кількості інформаційних величин, закодованих моделями контексту, надаючи більшу кількість байпасних режимів і зменшує кількість моделей контексту, необхідну для кодування тма. Для цього, критична величина зменшується від 9 до 1 або 2. Це означає тільки, що перша інформаційна величина, яка уточнює чи абсолютне значення тма більше за нуль, кодується з використанням моделі контексту, а друга інформаційна величина, яка уточнює чи абсолютне значення тма більше за нуль, кодується першою і друга інформаційна величина, яка уточнює чи абсолютна величина тма більша за нуль і одиницю, кодується з використанням 60 моделі контексту, тоді як залишкова величина кодується в байпасному режимі і/або з використанням коду МІС. Усі двійкові числа, які одержуються з процесу бінаризації з використанням коду МІ С, не використовуючи унарний або зрізаний унарний код, кодуються з використанням байпасного режиму низької складності. У випадку РІРЕ, можлива пряма вставка в і з потоку даних. Більше того, якщо подібне є, то може використовуватися інше визначення верхнього і лівого сусіднього блока для одержання кращого вибору моделі контексту для першої інформаційної величини.
В переважному варіанті виконання експоненціальні коди Голомба використовуються для бінаризації решти абсолютних значень ММО компонентів. Для цього, порядок експоненціального коду Голомба змінний. Порядок експоненціального коду Голомба одержується наступним чином. Після одержання і кодування моделі контексту для першої інформаційної величини і, тому, індексу такої моделі контексту, індекс використовується як порядок для бінаризації з використанням експоненціального коду Голомба. У цьому переважному варіанті виконання модель контексту для першої інформаційної величини знаходиться в інтервалі 1-3, надаючи індекс 0-2, який використовуються як порядок експоненціального коду Голомба. Цей переважний варіант виконання може використовуватися для випадку високоефективного (НЕ) режиму.
В альтернативі до вищеописаної технології використання двох раз п'яти контекстів в кодуванні абсолютного значення ММУО для кодування 9 двійкових чисел бінаризації з використанням унарного коду, могли б також використовуватися 14 моделей контексту (7 для кожного компонента). Наприклад, хоча перша і друга інформаційна величина унарної частини могли б кодуватися чотирма різними контекстами, як описано вище, п'ятий контекст міг би використовуватися для третьої інформаційної величини, а шостий контекст міг би використовуватися відносно до четвертої інформаційної величини, тоді як п'ята-дев'ята інформаційна величина кодуються з використанням сьомого контексту. Таким чином, у цьому випадку повинні вимагатися навіть 14 контекстів і просто залишкова величина може кодуватися в байпасному режимі низької складності. Технологія для зменшення кількості інформаційних величин, закодованих моделями контексту, надає більшу кількість байпасних інформаційних величин і зменшує кількість моделей контексту, необхідну для кодування ММО, повинна зменшувати критичну величину, як, наприклад, від 9 до 1 або 2. Це означає, що тільки перша
Зо інформаційна величина, яка уточнює чи абсолютне значення ММО більше за нуль, повинен кодуватися з використанням моделі контексту, або чи перша і друга інформаційна величина, яка уточнює чи абсолютне значення ММО більше за нуль і одиницю, повинен кодуватися з використанням відповідної моделі контексту, тоді як залишкова величина кодується кодом МІ С.
Усі інформаційні величини, які одержується з процесу бінаризації з використанням коду МІС, кодуються з використанням байпасного режиму низької складності. У випадку РІРЕ можливе пряме вставляння в і видалення з потоку даних. Окрім того, представлений варіант виконання використовує інше визначення верхнього і лівого сусіднього блока для одержання кращого вибору моделі контексту для першої інформаційної величини. На додаток до цього, моделювання контексту модифікується у такий спосіб, що кількість моделей контексту, необхідна для першої або першої і другої інформаційної величини, зменшується, приводячи до подальшого зменшення пам'яті. Також, оцінювання сусідніх блоків, таких як вищезгаданий сусідній блок, може усуватися, приводячи до збереження лінійного буфера/пам'яті, необхідної для зберігання значень тм сусідніх блоків. Нарешті, порядок кодування компонентів може поділятися у спосіб, який дозволяє кодування інформаційних величин з префіксом для обох компонентів (тобто, елементів вибірок, кодованих моделями контексту), за яким іде кодування байпасних інформаційних величин.
В переважному варіанті виконання експоненціальні коди Голомба використовуються для бінаризації решти компонентів абсолютного значення тмуО. Для цього порядок експоненціального коду Голомба є змінним. Порядок експоненціального коду Голомба може одержуватися наступним чином. Після одержання моделі контексту для першої інформаційної величини і, тому, після одержання індексу такої моделі контексту, індекс використовується як порядок для бінаризації з використанням експоненціального коду Голомба. У цьому переважному варіанті виконання модель контексту для першої інформаційної величини становить 1-3, надаючи індекс 0-2, який використовується як порядок експоненціального коду
Голомба. Цей переважний варіант виконання може використовуватися для випадку високоефективного режиму (НЕ) і кількість моделей контексту зменшується до 6. Для зниження кількості моделей контексту знову і, тому, для збереження пам'яті, горизонтальні і вертикальні компоненти можуть використовувати однакові моделі контексту в подальшому переважному варіанті виконання. У такому випадку вимагається тільки З моделі контексту. Окрім того, у 60 подальшому переважному варіанті виконання винаходу для оцінки може братися до уваги тільки лівий сусідній блок. У цьому переважному варіанті виконання порогова величина може не змінюватися (наприклад, тільки єдина порогова величина 16 надає параметр 0 або 1 експоненціального коду Голомба, або єдина порогова величина 32 надає параметр 0 або 2 експоненціального коду Голомба). Цей переважний варіант виконання зберігає лінійний буфер, необхідний для зберігання значення тма. В іншому переважному варіанті виконання порогова величина модифікується і дорівнює 2 116. Для такого переважного варіанта виконання загалом
З моделі контексту вимагаються для кодування тма і можливий параметр експоненціального коду Голомба становить 0-2. В подальшому переважному варіанті виконання порогова величина дорівнює 16 і 32. Знову, описаний варіант виконання, придатний для випадку високоефективного (НЕ) режиму.
В подальшому, переважному варіанті виконання винаходу, критична величина зменшується від 9У до 2. У цьому переважному варіанті виконання перша інформаційна величина і друга інформаційна величина можуть кодуватися з використанням моделей контексту. Вибір моделі контексту для першої інформаційної величини може робитися як і в рівні техніки або модифікуватися у спосіб, описаний у вищенаведеному переважному варіанті виконання. Для другої інформаційної величини окрема модель контексту вибирається як і в рівні техніки. В подальшому переважному варіанті виконання модель контексту для другої інформаційної величини вибирається оцінюванням тм лівого сусіднього блока. Для такого випадку, індекс моделі контексту є тим же, що й для першої інформаційної величини, тоді як доступні моделі контексту відмінні від тих, що використовуються для першої інформаційної величини. Загалом вимагається 6 моделей контексту (відзначається, що компоненти використовують спільні моделі контексту). Знову, параметр експоненціального коду Голомба може залежати від вибраного індексу моделі контексту першої інформаційної величини. В іншому переважному варіанті виконання винаходу параметр експоненціального коду Голомба залежить від індексу моделі контексту другої інформаційної величини. Описані варіанти виконання винаходу можуть використовуватися для випадку високоефективного (НЕ) режиму.
В подальшому, переважному варіанті виконання винаходу, моделі контексту для обох інформаційних величин є фіксованими і не одержуються шляхом оцінки або лівого або вищезгаданих блоків. Для цього переважного варіанта виконання загальна кількість моделей
Зо контексту дорівнює 2. В подальшому, переважному варіанті виконання винаходу, перша інформаційна величина і друга інформаційна величина використовують однакову модель контексту. В результаті, тільки одна модель контексту вимагається для кодування тма. В обох переважних варіантах виконання винаходу параметр експоненціального коду Голомба може бути фіксованим і рівним 1. Описаний переважний варіант виконання винаходу, придатний для обох конфігурацій НЕ і 1 0.
В іншому переважному варіанті виконання, порядок експоненціального коду Голомба одержується незалежно від індексу моделі контексту першої інформаційної величини. У цьому випадку абсолютне значення суми звичайного вибору моделі контексту стандарту Н.264/АМС використовується для одержання порядку для експоненціального коду Голомба. Цей переважний варіант виконання може використовуватися для випадку високоефективного режиму (НЕ).
В подальшому переважному варіанті виконання, порядок експоненціальних кодів Голомба є фіксованим і встановлюється рівним 0. В іншому переважному варіанті виконання, порядок експоненціальних кодів Голомба є фіксованим і встановлюється рівним 1. В переважному варіанті виконання, порядок експоненціальних кодів Голомба фіксується рівним 2. В подальшому варіанті виконання порядок експоненціальних кодів Голомба фіксується рівним 3.
В подальшому переважному варіанті виконання, порядок експоненціальних кодів Голомба фіксується, згідно з формою і розміром поточного РО. Представлені переважні варіанти виконання можуть використовуватися для випадку режиму низької складності (ІС).
Відзначається, що фіксований порядок експоненціальних кодів Голомба розглядається з меншою кількістю інформаційних величин з моделями контексту.
В переважному варіанті виконання, сусідні блоки визначаються наступним чином. Для вищезгаданого РИ усі РО, які охоплюють поточний РИ, беруться до уваги і використовується РО з найбільшим МУ. Це робиться також для лівого сусіднього блока. Усі РО, які охоплюють поточний Ру, оцінюються і використовується РІ з найбільшим МУ.
В іншому переважному варіанті виконання середня абсолютна величина вектора руху з усіх
РУ, які охоплюють верхню і ліву границю, поточний РО використовується для одержання першої інформаційної величини.
Для представлених вище переважних варіантів виконання, можна змінити порядок бо кодування наступним чином, тм повинно специфікуватися для горизонтального (і,
вертикального напряму один за іншим (або навпаки). Таким чином, потрібно кодувати два рядки інформаційних величин. Для мінімізації кількості перемикань режимів, для ентропійного кодувального засобу (тобто, перемикання між байпасним і регулярним режимом), можна кодувати інформаційні величини, кодовані моделями контексту для обох компонентів на першому етапі, за яким ідуть дві інформаційні величини, кодовані в байпасному режимі на другому етапі. Відзначається, що це тільки переупорядкування.
Будь-ласка, візьміть до уваги, що двійкові числа, які одержуються з бінаризації, яка використовує унарний код або зрізаний унарний код, можуть також представлятися еквівалентними даними бінаризації фіксованої довжини одного ідентифікатора на індекс інформаційної величини, який уточнює чи величина більша за поточний індекс інформаційної величини. Як приклад, критична величина для бінаризації тм з використанням зрізаного унарного коду встановлюється рівною 2, що надає кодові слова 0, 10, 11 для величин 0, 1, 2. У відповідному процесі бінаризації інформаційних величин фіксованої довжини 3 одним ідентифікатором на індекс інформаційної величини, один ідентифікатор для індексу 0 інформаційної величини (тобто, перша інформаційна величина) уточнює чи абсолютне значення тмй більше за 0 чи ні, і один ідентифікатор для другої інформаційної величини з індексом 1 уточнює чи абсолютне значення тма більше за 1 чи ні. Коли другий ідентифікатор кодується тільки, коли перший ідентифікатор дорівнює 1, то це надає ті ж кодові слова 0, 10, 11.
Далі описується представлення з масштабованою складністю внутрішнього стану моделей ймовірності у відповідності з описаним варіантом виконання.
У НІ-РІРЕ засобі внутрішній стан моделі ймовірності оновлюється після кодування нею інформаційної величини. Оновлений стан одержується таблицею пошуку переходу станів, яка використовує старий стан і величину кодованої інформаційної величини. У випадку САВАС модель ймовірності може займати 63 різні стани, де кожен стан відповідає моделі ймовірності в інтервалі (0,0, 0,5). Кожен з цих станів використовується для реалізації двох моделей ймовірностей. На додаток до ймовірності, присвоєної стану, 1,0 мінус ймовірність також використовується і ідентифікатор, названий маїМре, зберігає інформацію про те, чи використовується ймовірність чи 1,0 мінус ймовірність. Це приводить до загалом 126 станів. Для використання такої моделі ймовірності з концепцією РІРЕ кодування, кожен з 126 станів необхідно перетворювати на один з доступних РІРЕ кодерів. В поточних втіленнях РІРЕ кодерів це робиться шляхом використання таблиці пошуку. Приклад такого перетворення зображений в
Таблиці А.
Далі описується варіант виконання як внутрішній стан моделі ймовірності може представлятися для уникнення використання таблиці пошуку для перетворення внутрішнього стану на РІРЕ індекс. Виключно, деякі прості операції по маскуванню бітів необхідні для одержання РіІРЕ індексу із змінної внутрішнього стану моделі ймовірності. Це нове представлення з масштабованою складністю внутрішнього стану моделі ймовірності виконане дворівневим. Для застосувань, де операція низької складності є обов'язковою, використовується тільки перший рівень. Вона описує тільки ріре індекс і ідентифікатор маІМр:, який використовується для кодування або декодування відповідних інформаційних величин. У випадку описаної схеми РІРЕ ентропійного кодування перший рівень може використовуватися для диференціації між 8 різними моделями ймовірності. Таким чином, перший рівень повинен потребувати З біт для ріре індексу і один додатковий біт для ідентифікатора маіМр5. Завдяки другому рівню кожен з великих інтервалів ймовірності першого рівня ділиться на декілька менших інтервалів, які зберігають представлення ймовірностей при вищих роздільних здатностях. Це детальніше представлення дозволяє точнішу роботу оцінювачів ймовірності.
Загалом, для кодування вигідно мати високі КО-характеристики. Як приклад, це представлення з масштабованою складністю внутрішнього стану моделей ймовірності з використанням РІРЕ зображується наступним чином: 011111 ПершийРівень//// | 77777777 | 77777771 ДругийРівень///:////-Ж- 67 | 06 | б5 | б | в | т | в | б /
Перший і другий рівні зберігаються в єдиній 8 бітовій пам'яті. 4 біти вимагаються для зберігання першого рівня - індексу, який визначає РІРЕ індекс з величиною МР5 на найбільш значущому біті - а інші 4 біти використовуються для зберігання другого рівня. Для втілення поведінки оцінювача ймовірності САВАС, кожен РІРЕ індекс має конкретне число дозволених індексів деталізації, яке залежить від того скільки станів САВАС було перетворено на РІРЕ індекс. Наприклад, для перетворення в Таблиці А кількість станів САВАС на РІРЕ індекс вказана в Таблиці В.
Таблиця В:
Кількість станів САВАС на РІРЕ індекс для прикладу Таблиці А.
РІРЕЇндексї////// ЇЇ 0 | 1 | 2 | з | 4 | 5 | 6 | 7
Під час процесу кодування або декодування інформаційної величини до РІРЕ індексу і ма!Мр5 можна одержувати прямий доступ за допомогою використання простих операцій маскування бітів або зсуву бітів. Процеси кодування низької складності вимагають тільки 4 біти першого рівня, а процеси високоефективного кодування можуть додатково використовувати 4 біти другого рівня для реалізації оновлення моделі ймовірності оцінювача ймовірності САВАС.
Для виконання цього оновлення, може формуватися таблиця пошуку переходу стану, яка має ті ж переходи станів що й первинна таблиця, але яка використовує дворівневе представлення станів з масштабованою складністю. Первинна таблиця переходу станів складається з двох рядків з 63 елементами в кожному. Для кожного вхідного стану вона містить два вихідні стани.
При використанні представлення з масштабованою складністю розмір таблиці переходу станів не перевищує два рядки з 128 елементами в кожному, що є прийнятним збільшенням розміру таблиці. Це збільшення залежить від того, скільки бітів використовується для представлення індексу деталізації і для точної емуляції поведінки оцінювача ймовірності САВАС, при цьому вимагається чотири біти. Однак, міг би використовуватися інший оцінювач ймовірності, який може працювати на меншій множині станів САВАС так, що для кожного ріре індексу допускається не більше ніж 8 станів. Тому, споживання пам'яті може узгоджуватися із заданим рівнем складності процесу кодування шляхом адаптації кількості бітів, використовуваних для представлення індексу деталізації. Порівняно з внутрішнім станом моделей ймовірності з
САВАС, де існує 64 індекси стану ймовірності, використання таблиць пошуку для перетворення моделей ймовірності на спеціальний РІРЕ код усувається і не вимагається додаткове перетворення.
Далі описується оновлення моделі контексту з масштабованою складністю, у відповідності з варіантом виконання.
Для оновлення моделі контексту, її індекс стану ймовірності може оновлюватися на основі одного або більшої кількості, попередньо кодованих інформаційних величин. При встановленні
Зо НІ-РІРЕ це оновлення виконується після кодування або декодування кожної інформаційної величини. І, навпаки, при встановленні І С-РІРЕ це оновлення може ніколи не виконуватися.
Однак, можна виконувати оновлення моделей контексту з масштабованою складністю.
Тобто, рішення, чи оновлювати модель контексту, чи ні, може базуватися на різних аспектах.
Наприклад, кодер може не оновлюватися для окремих моделей контексту тільки як, наприклад, для моделей контексту синтаксичного елемента совеїї відпіїісапі Пад, і завжди оновлюється для усіх інших моделей контексту.
Іншими словами, селектор 402 міг би конфігуруватися для символів кожного з ряду, наперед визначених типів символів для виконання вибору серед ентропійних декодерів 322, в залежності від відповідної моделі ймовірності, зв'язаної з відповідним наперед визначеним символом так, що кількість наперед визначених типів символів менша в режимі низької складності, ніж у високоефективному режимі.
Окрім того, критеріями для визначення того, чи оновлювати модель контексту, чи ні, могли б бути, наприклад, розмір пакета потоку бітів, кількість інформаційних величин, таким чином декодованих, або чи оновлення виконується тільки після кодування конкретної фіксованої або змінної кількості інформаційних величин для моделі контексту.
За допомогою цієї схеми для прийняття рішення, чи оновлювати моделі контексту, чи ні, може втілюватися оновлення моделі контексту з масштабованою складністю. Це дозволяє збільшення або зменшення частини інформаційних величин в потоці бітів, для яких виконується оновлення моделі контексту. Чим більше оновлень моделі контексту, тим краща ефективність кодування і вища складність обрахунку. Таким чином, описаною схемою може досягатися оновлення моделі контексту з масштабованою складністю.
В переважному варіанті виконання оновлення моделі контексту виконується для інформаційних величин усіх синтаксичних елементів за виключенням синтаксичних елементів соей в5ідпітісапі Пад, соєї арх адгеаїет ісоей ар дгеаего.
В подальшому переважному варіанті виконання оновлення моделі контексту виконується тільки для інформаційних величин синтаксичних елементів соеїй 5ідпіїсапі пад, соей арз агеаїен ісоей ар агеаїенгаг.
В подальшому переважному варіанті виконання, оновлення моделі контексту виконується для усіх моделей контексту при початку кодування або декодування частини масиву даних.
Після обробки конкретної, наперед визначеної кількості блоків перетворення, оновлення моделі контексту деактивується для усіх моделей контексту до досягання кінця частини масиву даних.
Наприклад, селектор 402 може конфігуруватися для символів, наперед визначеного типу, для виконання вибору серед ентропійних декодерів 322, в залежності від моделі ймовірності, зв'язаної з наперед визначеним типом символу, разом з або без оновлення відповідної моделі ймовірності так, що довжина фази вивчення послідовності символів, на якій виконується вибір для символів, наперед визначеного типу разом з оновленням, менша в режимі низької складності, ніж у високоефективному режимі.
Подальший переважний варіант виконання ідентичний попередньо описаному переважному варіанту виконання, але він використовує представлення внутрішнього стану моделей контексту з масштабованою складністю у такий спосіб, що одна таблиця зберігає "першу частину" (маїМр5 і ріредх) усіх моделей контексту, а друга таблиця зберігає "другу частину" (геїпеїдх) усіх моделей контексту. В місці, де оновлення моделі контексту деактивується для усіх моделей контексту (як описано в попередньому переважному варіанті виконання), більше не потрібне зберігання таблицею "другої частини" і воно може не братися до уваги.
Далі описується оновлення моделі контексту для послідовності інформаційних величин, у відповідності з варіантом виконання.
В конфігурації ІС-РІРЕ інформаційні величини синтаксичних елементів типу соей в5ідпітсапі ПЯад, соей ар агеаїеи і соеїй ар дгеаїєгт2 групуються в підмножини. Для кожної підмножини використовується єдина модель контексту для кодування її інформаційних величин. У цьому випадку, оновлення моделі контексту може виконуватися після кодування фіксованої кількості інформаційних величин цієї послідовності. Це оновлення моделі з багатьма інформаційними величинами описується далі. Однак, це оновлення може відрізнятися від оновлення, яке використовує тільки останню кодовану інформаційну величину і внутрішній стан моделі контексту. Наприклад, для кожної інформаційної величини, яка кодувалася, виконується один етап оновлення моделі контексту.
Далі надаються приклади для кодування ілюстративної підмножини, яка складається з 8 інформаційних величин. Літера "р позначає декодування інформаційної величини і літера позначає оновлення моделі контексту. У випадку І! С-РІРЕ виконується тільки декодування інформаційної величини без оновлень моделі контексту:
БвевоБЬБЬЬ
У випадку НІ-РІРЕ після декодування кожної інформаційної величини виконується оновлення моделі контексту: вивибивВививВибвиву
Для того, щоб дещо знизити складність, оновлення моделі контексту може виконуватися після послідовності інформаційних величин (у цьому прикладі після кожних 4 інформаційних величин виконуються оновлення цих 4 інформаційних величин):
БобоосиЧчбеббициичи
Тобто, селектор 402 може конфігуруватися для символів, наперед визначеного типу, для виконання вибору серед ентропійних декодерів 322, в залежності від моделі ймовірності, зв'язаної з наперед визначеним типом символу, разом з або без оновлення відповідної моделі ймовірності так, що частота, з якою виконується вибір для символів наперед визначеного типу разом з оновленням, нижча в режимі низької складності, ніж у високоефективному режимі.
У цьому випадку після декодування 4 інформаційних величин ідуть 4 етапи оновлення на основі 4 тільки що декодованих інформаційних величин. Відзначається, що ці чотири етапи оновлення можуть виконуватися за один єдиний етап шляхом використання спеціальної таблиці пошуку. Ця таблиця пошуку зберігає для кожної можливої комбінації з 4 інформаційних величин і кожного можливого внутрішнього стану моделі контексту одержуваний новий стан після чотирьох традиційних етапів оновлення.
В певному режимі оновлення з багатьма інформаційними величинами використовується для синтаксичного елемента соеїї відпітісапі Пад. Для інформаційних величин усіх інших синтаксичних елементів не використовується оновлення моделі контексту. Кількість інформаційних величин, які кодуються перед виконанням етапу оновлення з багатьма елементами вибірки, встановлюється рівною п. Коли кількість інформаційних величин множини не ділиться на п, то 1-п-1 інформаційних величин залишаються в кінці підмножини після останнього оновлення з багатьма елементами вибірки. Для кожної з цих інформаційних величин традиційне оновлення з однією інформаційною величиною виконується після кодування усіх цих інформаційних величин. Кількість п може бути будь-яким додатним числом, більшим за 1. Інший режим може бути ідентичним з попереднім режимом за виключенням того, що оновлення з багатьма інформаційними величинами виконується для довільних комбінацій соей 5ідпітісапі Чад, соєї аре дгеєаїет ісоей арз5 дгеагегаг (тільки замість соеєї 5ідпіїсапі Пад).
Таким чином, цей режим повинен бути складнішим, ніж інший. Усі інші синтаксичні елементи (де не використовується оновлення з багатьма інформаційними величинами) можуть ділитися на дві окремі підмножини, де для однієї з підмножин використовується оновлення з єдиною інформаційною величиною, а для іншої підмножини не використовується оновлення моделі контексту. Будь-які можливі окремі підмножини є дійсними (включаючи порожню підмножину).
В альтернативному варіанті виконання оновлення з багатьма інформаційними величинами може базуватися тільки на останніх т інформаційних величинах, які кодуються безпосередньо перед етапом оновлення з багатьма інформаційними величинами, т може бути будь-яким натуральним числом, меншим за п. Таким чином, декодування може виконуватися наступним чином:
БроБринрорБишсВвроронЬовь... з пх4 і та.
Тобто, селектор 402 може конфігуруватися для символів, наперед визначеного типу для виконання вибору серед ентропійних декодерів 322, в залежності від моделі ймовірності, зв'язаної з наперед визначеним типом символу, разом з оновленням відповідної моделі ймовірності, при цьому кожен п-й символ, наперед визначеного типу базується на т найостанніших символів наперед визначного типу так, що відношення п/т більше в режимі низької складності, ніж у високоефективному режимі.
Зо В подальшому переважному варіанті виконання для синтаксичного елемента соей 5ідпіїсапі Чад схема моделювання контексту, яка використовує локальний зразок, як описано вище для конфігурації НІ-РІРЕ, може використовуватися для присвоєння моделей контексту інформаційним величинам синтаксичного елемента. Однак, для цих інформаційних величин не використовується оновлення моделі контексту т
Окрім того, селектор 402 може конфігуруватися для символів, наперед визначеного типу для вибору одного з ряду контекстів, в залежності від кількості попередньо одержаних символів послідовності символів і для виконання вибору серед ентропійних декодерів 322, в залежності від моделі ймовірності, зв'язаної з вибраним контекстом, так, що кількість контекстів і/або кількість попередньо одержаних символів менша в режимі низької складності, ніж у високоефективному режимі.
Ініціалізація моделі ймовірності, яка використовує 8 бітові ініціалізуючі величини
Цей розділ описує процес ініціалізації внутрішнього стану моделей ймовірності з масштабованою складністю, використовуючи так звану 8 бітову ініціалізуючу величину, замість двох 8 бітових величин, як у випадку стандарту кодування відеоданих рівня техніки Н.265/АМС.
Він складається з двох частин, які співставні з парами ініціалізуючих величин, використовуваними для моделей ймовірності в САВАС стандарту Н.264/АМО. Дві частини представляють два параметри лінійного рівняння для обрахунку початкового стану моделі ймовірності, представляючи конкретну ймовірність (наприклад, у формі РІРЕ індексу) з ОР: " Перша частина описує крутизну і вона використовує залежність внутрішнього стану від параметра дискретизації (ОР), який використовується під час кодування або декодування. " Друга частина визначає РІРЕ індекс при заданому ОР, а також маїМр».
Два різні режими доступні для ініціалізації моделі ймовірності з використанням заданої ініціалізуючої величини. Перший режим є незалежною від ОР ініціалізацією. Він використовує тільки РІРЕ індекс і маІМр», визначені у другій частині ініціалізуючої величини для усіх ОР. Це ідентично випадку, де крутизна дорівнює 0. Другий режим є залежною від ОР ініціалізацією і він додатково використовує крутизну першої частини ініціалізуючої величини для зміни РІРЕ індексу і для визначення індексу деталізації. Дві частини 8 бітової ініціалізуючої величини зображені далі: 1111 ПершаЧастина.//:/ ОЇ | Друга Частина 07 ЇЇ 06 | б. | б | о | т | Б | б /
Індекс Крутизни ши РІРЕ Індекс Имовірності
Він складається з двох 4 бітових частин. Перша частина містить індекс, який вказує 1 з 16 різних, наперед визначених величин крутизни, які зберігається в масиві. Наперед визначені величини крутизни складаються з 7 від'ємних величин крутизни (індекс крутизни 0-6): одна величина крутизни, яка дорівнює нулю (індекс крутизни 7), і 8 додатних величин крутизни (індекс крутизни 8-15). Величини крутизни вказані в Таблиці С
Таблиця С:
Індекс куки | 2 | 712 |з | | 5 | | 7 ші вні»
Крутизни
Індекс куми | 8 | 9 | | "| 2 | з | м | 5 рутизни
Усі величини масштабовані коефіцієнтом 256 для уникнення використання операцій з плаваючою точкою. Друга частина є РІРЕ індексом, який втілює висхідну ймовірність ма!Мро5-1 між інтервалом ймовірності р-0 і р-1. Іншими словами, РІРЕ кодер п повинен працювати при вищій моделі ймовірності, ніж РІРЕ кодер п-1. Для кожної моделі ймовірності доступний один
РІРЕ індекс ймовірності і він ідентифікує РІРЕ кодер, чий інтервал ймовірності містить ймовірність Руздмее-1 для ОР-26.
Таблиця 0:
Перетворення другої частини ініціалізуючої величини на РІРЕ кодери і маїМре: ОА-:перетворення унарного коду на код Райса, ТВ - потрійний двійковий код, ВР - двійковий ріре-код, ЕР - однакова ймовірність (некодована)
РІРЕ Індек
Йюовірюті 012 з || 5 в
РІРЕ Кодер
МР 7 ЇЇ 01 01101010 ї1о0 10 о
РІРЕ Індек норі 1819 | 0 по | ла 9 м в
РІРЕ Кодер
ОР ї 8 бітова ініціалізуюча величина необхідні для обрахунку параметрів ініціалізації внутрішнього стану моделей ймовірності шляхом вирішення простого лінійного рівняння у формі удхт"(ОР-ОРгеї)-2567р. Відзначається, що т визначає крутизну, яка береться з Таблиці С шляхом використання індексу крутизни (перша частина 8-бітової ініціалізуючої величини) і Б позначає РІРЕ кодер при ОРгеї-26 (друга частина 8 бітової ініціалізуючої величини: "РІРЕ
Індекс Имовірності"). Потім, маїМР5 дорівнює 1 і ріреідх дорівнює (у-2048) »»8, якщо у більший за 2047. Інакше, маїМР5 дорівнює 0 і ріреідх дорівнює (2047 -у)»»8. Індекс деталізації дорівнює ((у-2048) б 255)" питоаез) »»8, якщо маіМР5 дорівнює 1. Інакше, індекс деталізації дорівнює ((2047-у) в 2553"питеїаїєв) »»8. В обох випадках, питоеїа(ез дорівнює кількості станів САВАС ріреїдх, як вказано в Таблиці В.
Зо Вищенаведена схема може не тільки використовуватися в комбінації з РІРЕ кодерами, але й також в зв'язку з вищезгаданими схемами САВАС. За відсутності РІРЕ кількість станів САВАС, тобто, станів ймовірності, між якими реалізується перехідний стан в оновленні ймовірності (роїаїє ситепіріпі) на РІРЕ індекс (тобто, відповідні найбільш значущі біти реїаїє ситепцуЦріп|)
припадає потім тільки множина параметрів, які, фактично, реалізують кусково-лінійну інтерполяцію стану САВАС в залежності від ОР. Окрім того, ця кусково-лінійна інтерполяція може також практично усуватися у випадку, де параметр питоеїаіє5 використовує однакову величину для усіх РІРЕ індексів. Наприклад, встановлення питбіаїєз рівним 8 для усіх випадків надає загалом 1678 станів і обрахунок індексу деталізації спрощується до ((у-2048) в 255)»»5 для маїмМРБ, рівного 1, або ((2047-у)5255)»»25 для ма! МР, рівного 0. Для цього випадку перетворення представлення з використанням ма!мР5Б, РІРЕ індексу та індексу деталізації назад на представлення, використовуване оригінальним САВАС стандарту Н.264/АМС, є дуже простим. Стан САВАС заданий як (РІРЕ індекс ««3) ж індекс деталізації. Цей аспект описується далі нижче по відношенню до Фіг. 16.
Не дивлячись на те, що крутизна 8-бітової ініціалізуючої величини дорівнює нулю, або не дивлячись на те, що ОР дорівнює 26, необхідно обрахувати внутрішній стан шляхом використання лінійного рівняння з ОР процесу кодування або декодування. У випадку крутизни, яка дорівнює нулю, або такого ОР поточного процесу кодування, що дорівнює 26, друга частина 8 бітової ініціалізуючої величини може безпосередньо використовуватися для ініціалізації внутрішнього стану моделі ймовірності. Інакше, десяткова частина одержуваного внутрішнього стану може потім використовуватися для визначення індексу деталізації у високоефективних кодуваннях, за допомогою лінійної інтерполяції між межами спеціального РІРЕ кодера. У цьому переважному варіанті виконання лінійну інтерполяцію здійснюють простим множенням десяткової частини на загальну кількість індексів деталізації, доступних для поточного РІРЕ кодера, і перетворенням результату на найближчий цілий індекс деталізації.
Процес ініціалізації внутрішнього стану моделей ймовірності може змінюватися відносно кількості РІРЕ станів індексу ймовірності. Зокрема, появі два рази однакового ймовірного режиму, який використовує РІРЕ кодер Е1, тобто, використання двох різних РІРЕ індексів для розрізнення між МР5, який становить 1 або 0, можна уникати наступним чином. Знову, процес може активуватися під час запуску синтаксичного аналізу частини масиву даних, а вхідні дані цього процесу можуть бути 8-бітовою ініціалізуючою величиною, як вказано в Таблиці Е, яка повинна, наприклад, передаватися в потоці бітів для кожної моделі контексту, яка ініціалізується.
Коо)
Таблиця Е:
Встановлення 8 бітів Ініціалізуючої Величини для моделі ймовірності 11111111 Перша4біти | ////// Останні4бти.ї///З
Біти ніціалізуючої Величини б | Юре | ре | б. | з | ре | Б | Во
Перші 4 біти визначають індекс крутизни і одержуються маскуванням бітів б4-б7. Для кожного індексу крутизни крутизна (т) уточнюється і відображається в Таблиці Р.
Таблиця ЕЕ
Величини змінної т для Індексу крутизни юижни 011123 4 5 6/7 8 9/0 пола из мов крутизни т |-239)-143| 85 | 51| 31 |19|11|,0| 11/19) 31 51 | 85 | 143 | 239 | 399
Біти Бо-рз, останні 4 біти 8-бітової ініціалізуючої величини ідентифікують ргобіах (індекс ймовірності) і описують ймовірність при визначеній ОР, ргорідх 0 вказує найвищу ймовірність для символів з величиною 0 і, відповідно, ргорідх 14 вказує найвищу ймовірність для символів з величиною 1. Таблиця Сї показує для кожного ргобіах відповідний ріре кодер і його маіМрзв.
Таблиця (С:
Перетворення останньої 4-бітової частини ініціалізуючої величини на РІРЕ кодери і маІМре: ОВ - перетворенню унарного коду на код Райса, ТВ - потрійний двійковий код, ВР - двійковий ріре код, ЕР - однакова ймовірність (некодована) робіх | 0 | 1 (2131/4516 17| 8 | 9 | то | тт | т2 | 13 | 14 мамрез | 00 |0|0101010/0| 1 | 1 | 1 1 | 71 | 1 | 1.
За допомогою обох величин обрахунок внутрішнього стану може виконуватися шляхом використання лінійного рівняння такого як ухт"хв256"р, де т позначає крутизну, х позначає ОР поточної частини масиву даних і б одержується з ргорідх, як вказано в наступному описі. Усі величини у цьому процесі масштабовані коефіцієнтом 256 для уникнення використання операцій з плаваючою точкою. Вихідні дані "у) цьому процесі представляють внутрішній стан моделі ймовірності при поточній ОР і зберігаються у 8 бітовій пам'яті. Як зображено в Таблиці
С, внутрішній стан складається з маІМР»5, рірейдх і геїїіпеїдх.
Таблиця Н
Встановлення внутрішнього стану моделі ймовірності 11111111 | Перші4 | біти | | Останні | 4біти
Бітиініціалізуючоївеличини!ї б; / ре | р | ра | Ююз | з | Б | ю
Присвоєння геїїпеїдх і ріреідх подібне до внутрішнього стану моделей ймовірності САВАС (реїаїеСт) і представлене в Таблиці І.
Таблиця
Присвоєння ріреїах, геїїпеїах і резаїесСіх фірейх | 70177771 11111112 1 стейпеах |0/11|2|І0/1|2|314|516|01/11|2|3314 озіаесх |0|1|213|4151|61/718/|9|т70|11|т12| 131714, Й Щщ стейпеах |01/1112|33І4|516 0/1 2/|33/4/|5161|7|8| 5 ретатесіх тейпеах |01112|314|51617|8|9/|т10/|11|т2 ретатесіх фірелйх | 06111117 тейпеах /|01112|31|4|51617|81 91011 т12|13|14|15| о обіаїесіх |461|47|48|49|50|51|52|53|54|55)|56|57)|58|59)| 60 | 61 62
В переважному варіанті виконання ргобідх визначається при ОР-26. На основі 8 бітової ініціалізуючої величини внутрішній стан (маїМр5, ріреїйх і геїйпеійх) моделі ймовірності обробляється, як описано в наступному псевдокоді: п-(ргорійх«8) -т"26 ТШІСіхХеаювє-тах (0, тіп (3839, (т'тах (0О,тіп (51, 5БіісеОРу) )))їп-н128) гетсСіхетае-іШІСіхеїає 4 255 ргесСіхоїае-тшІСіхеаїє»»8 її (ргесСіхоіаіес8) ( ріреідх-7-ргесСіхеїаїє мамеРБ-О)е!веї ріреїах-ргесСіхетаїе-8 мамеРБ-Тойвег-(3, 7,5,7, 10, 14, 16, 1 мКріреїах-0) (її (гетСіхбіаієс-127)
гетОСіх5іав-127-гетОіх5іаїе віве гетОСіхбіаі-тетоїхоїіае-128 геїїпеідх-(тетсСіх іа) ойвеї)»»8 | еївеції (маїМР 5-0) гетСіх5іаіе-255-гетСіх5іае геїіпеідх-(тетСіхоїіае"ойзейріреїах|)»»8)
Як показано в псевдокоді, геїпеідх обраховується лінійною інтерполяцією між інтервалом рірейх і дискретизацією з наданням відповідного геїїпе(йх. Зміщення специфікує загальну кількість геїїпеійх для кожного ріреїдх. Інтервал І7, 8) ШІСіхеаіе/256 ділиться навпіл. Інтервал
І7, 7,5) перетворюється на ріреїдх:-:0 і маІїМро5:-0, а інтервал (7,5, 8) перетворюється на ріреїйх:0 і маМр5-1. Фіг. 15 зображає процес одержання внутрішнього стану і відображає перетворення
ТІСІхеаів/256 на ретаїесіх.
Відзначається, що крутизна вказує залежність ргобідх і ОР. Якщо зіореЇїйх 8 бітової ініціалізуючої величини дорівнює 7, то одержуваний внутрішній стан моделі ймовірності є таким же як і для усіх ОР (тому, процес ініціалізації внутрішнього стану залежить від поточної ОР частини масиву даних.
Тобто, селектор 402 може ініціалізувати ріре індекси, які використовуються в декодуванні наступної частини потоку даних, такого як увесь потік або наступна частина масиву даних, використовуючи синтаксичний елемент, який вказує розмір кроку дискретизації ОР, використовуваного для дискретизації даних цієї частини, таких як рівні значущості коефіцієнта перетворення, які містяться в ньому, використовуючи цей синтаксичний елемент як індекс в таблиці, яка може бути спільною для обох режимів І С і НІ. Таблиця, така як таблиця 0, може містити ріре індекси для кожного типу символу, для відповідного еталона ОР'геєї або інші дані для кожного типу символу. В залежності від реальної ОР поточної частини, селектор може обраховувати величину ріре індексу, використовуючи введення чисел а у відповідну таблицю, індексовану фактичною ОР і самою ОР, таке як множення а на (ОР-ОР"геї). Відмінністю в режимі
ЇС ї НІ є тільки: селектор обраховує результат просто з нижчою точністю у випадку 1, порівняно з режимом НІ. Селектор може, наприклад, просто використовувати цілу частину результату обрахунку. В режимі Ні залишок вищої точності, такий як дробова частина, використовується для вибору одного з доступних індексів деталізації для відповідного ріре індексу, як вказано нижчою точністю або цілою частиною. Індекс деталізації використовується в режимі НІ (потенційно рідше також в режимі І С) для виконання адаптації ймовірності шляхом використання вищезгаданого дрейфу таблиці. При полишенні доступних індексів для поточного ріре індексу на верхній границі, потім вищий ріре індекс вибирають далі з мінімізацією індексу деталізації. При полишенні доступних індексів для поточного ріре індексу на нижній границі, потім наступний нижній ріре індекс вибирають далі з мінімізацією індексу деталізації до максимум доступного для нового ріре індексу. Ріре індекс разом з індексом деталізації визначають стан ймовірності, але для вибору серед часткових потоків, селектор просто використовує ріре індекс. Індекс деталізації просто служить для ближчого або точнішого відслідковування ймовірності.
Однак, вищенаведене обговорення також показало, що масштабована складність може досягатися, незалежно від концепції кодування РІРЕ або САВАС з Фіг. 7-17, використовуючи декодер, як зображено на Фіг. 12. Декодер з Фіг. 12 передбачений для декодування потоку даних 601, у якому кодуються мультимедійні дані, і містить перемикач режимів 600, сконфігурований для активування режиму низької складності або високоефективного режиму, в залежності від потоку даних 601, а також десимволізатор 602, сконфігурований для десимволізації послідовності 603 символів, одержаних або безпосередньо, або ентропійним декодуванням, наприклад, з потоку даних 601, для одержання цілих синтаксичних елементів 604 з використанням функції перетворення, контрольованої контрольним параметром, для перетворення області слів символьної послідовності на кообласть цілих синтаксичних елементів. Реконструктор 605 конфігурується для відновлення мультимедійних даних 606 на основі цілих синтаксичних елементів. Десимволізатор 602 конфігурується для виконання десимволізації так, що контрольний параметр змінюється, у відповідності 3 потоком даних з першою швидкістю у випадку високоефективного режиму, який активується, і контрольний параметр є сталим, незалежно від потоку даних або змін, які залежать від потоку даних, але при другій швидкості, нижчій за першу швидкість, у випадку режиму низької складності, який активується, як вказано стрілкою 607. Наприклад, контрольний параметр може змінюватися, у відповідності з попередньо десимволізованими символами.
Деякі з вищезгаданих варіантів виконання використовували аспект з Фіг. 12. Синтаксичні елементи соеєїй арбе тіпиє3 і ММО в послідовності 327, наприклад, бінаризувалися в десимволізаторі 314, в залежності від режиму, вибраного, як вказано позицією 407,
реконструктор 605 використовував ці синтаксичні елементи для відновлення. Очевидно, що обидва аспекти з Фіг. 11 і 12 легко поєднуються, але аспект з Фіг. 12 може також об'єднуватися з іншими кодувальними середовищами.
Дивіться, наприклад, вищевказане кодування різниці векторів руху. Десимволізатор 602 може конфігуруватися так, що функція перетворення використовує зрізаний унарний код для виконання перетворення в першому інтервалі області цілих синтаксичних елементів нижче критичної величини і комбінацію префікса, у формі зрізаного унарного коду для критичної величини, і суфікса, у формі кодового слова МІ С в другому інтервалі області цілих синтаксичних елементів включно і з перевищенням критичної величини, при цьому декодер може містити ентропійний декодер 608, сконфігурований для одержання кількості перших інформаційних величин зрізаного унарного коду з потоку даних 601 з використанням ентропійного декодування із змінною оцінкою ймовірності і ряду других інформаційних величин кодового слова МІ С з використанням байпасного режиму із сталою однаковою ймовірністю. В режимі НІ ентропійне кодування може бути складнішим, ніж при кодуванні в режимі С, як вказано стрілкою 609.
Тобто, адаптивність до контексту і/або адаптація ймовірності можуть застосовуватися в режимі
НІ ї уникатися в режимі І С або складність може масштабуватися в інших термінах, як визначено вище відносно різних варіантів виконання.
Кодер, який підключається до декодера з Фіг. 11, для кодування мультимедійних даних з одержанням потоку даних зображений на Фіг. 13. Він може містити ввідний засіб 500, сконфігурований для сигналізації в потоці даних 501 активування режиму низької складності або високоефективного режиму, конструктор 504, сконфігурований для попереднього кодування мультимедійних даних 505, з одержанням послідовності 506 синтаксичних елементів, символізатор 507, сконфігурований для символізації послідовності 506 синтаксичних елементів, з одержанням послідовності 508 символів, певну кількість ентропійних кодерів 310, кожен з яких сконфігурований для перетворення часткових послідовностей символів на кодові слова потоку даних, і селектор 502, сконфігурований для надсилання кожного символа послідовності 508 символів до вибраного одного з певної кількості ентропійних кодерів 310, при цьому селектор 502 конфігурується для виконання вибору, в залежності від активованого режиму, вибраного серед режиму низької складності і високоефективного режиму, як вказано стрілкою 511.
Перемежовувач 510 може, необов'язково, передбачатися для перемежовування кодових слів кодерів 310.
Кодер, який підключений до декодера з Фіг. 12, для кодування мультимедійних даних з одержанням потоку даних зображений на Фіг. 14 як той, що містить ввідний засіб 700, сконфігурований для сигналізації в потоці даних 701 активування режиму низької складності або високоефективного режиму, конструктор 704, сконфігурований для попереднього кодування мультимедійних даних 705, з одержанням послідовності 706 синтаксичних елементів, які включають цілий синтаксичний елемент, і символізатор 707, сконфігурований для символізації цілого синтаксичного елемента, з використанням функції перетворення, контрольованої контрольним параметром, для перетворення області цілих синтаксичних елементів на кообласть слів символьної послідовності, при цьому символізатор 707 конфігурується для виконання символізації так, що контрольний параметр змінюється, у відповідності 3 потоком даних, з першою швидкістю, у випадку високоефективного режиму, який активується, і контрольний параметр є сталим, незалежно від потоку даних або змін, в залежності від потоку даних, але з другою швидкістю, нижчою за першу швидкість, у випадку режиму низької складності, який активується, як зображено стрілкою 708. Результат символізації є кодування з одержанням потоку даних 701.
Знову слід нагадати, що варіант виконання з Фіг. 14 легко перетворюється на вищезгаданий варіант виконання адаптивного до контексту двійкового арифметичного кодування/декодування: селектор 509 і ентропійні кодери 310 повинні об'єднуватися в адаптивний до контексту двійковий арифметичний кодер, який повинен безпосередньо видавати потік даних 401 і вибирати контекст для інформаційної величини, який на даний момент одержується з потоку даних. Це особливо справедливо для адаптивності до контексту і/або адаптивності до ймовірності. Обидві функції/адаптивності можуть деактивовуватися або розроблятися більш послабленими під час режиму низької складності.
Вище коротко зазначено, що здатність перемикати режими, пояснена відносно деяких з вищенаведених варіантів виконання, може, у відповідності з альтернативними варіантами виконання, не братися до уваги. Для прояснення цього факту, робиться посилання на фіг. 16, яка підсумовує вищенаведений опис до такої міри, до якої просте видалення здатності перемикати режими відрізняє варіант виконання з Фіг. 16 від вищеописаних варіантів виконання. бо Більше того, наступний опис буде розкривати переваги, які одержуються з ініціалізації оцінок ймовірності контекстів, з використанням менш точних параметрів для крутизни і зміщення, порівняно з, наприклад, стандартом Н.264.
Зокрема, Фіг. 16 зображає декодер для декодування відеоданих з потоку даних 401, у якому синтаксичні елементи 327 кодуються з використанням бінаризацій синтаксичних елементів 327.
Суттєво відзначити, що у вищенаведеному описі усі деталі, вказані на Фіг. 1-15, також здатні перетворюватися на об'єкти, зображені на Фіг. 16, наскільки це, наприклад, стосується функції десимволізатора 314, реконструктора 404 і ентропійного декодера 409. Тим не менше, для повноти, деякі з цих деталей знову описуються нижче.
Декодер містить ентропійний декодер 409, сконфігурований для одержання ряду інформаційних величин 326 бінаризацій з потоку даних 401 з використанням двійкового ентропійного декодування шляхом вибору контексту серед різних контекстів і оновлення станів ймовірності, зв'язаних з різними контекстами, залежними від попередньо декодованих частин потоку даних 401. Для більшої точності, як описано вище, ентропійний декодер 409 може конфігуруватися для одержання ряду інформаційних величин 326 бінаризацій з потоку даних 401 з використанням двійкового ентропійного декодування, такого як вищезгадана схема
САВАС, або двійкового РіІРЕ декодування, тобто, використовуючи конструкцію, яка використовує декілька паралельно працюючих ентропійних декодерів 322 разом з відповідним селектором/присвоювачем. Настільки, наскільки це стосується вибору контексту, його залежність від попередньо декодованих частин потоку даних 401 може втілюватися, як вказано вище. Тобто, ентропійний декодер може конфігуруватися для виконання вибору контексту для інформаційної величини, який на даний момент одержується, в залежності від положення інформаційної величини, яке на даний момент одержується в бінаризації, якій належить інформаційна величина, яка на даний момент одержується, типу синтаксичного елемента, ціле число, від якого одержується шляхом дебінаризації результату бінаризації, якому належить інформаційна величина, яка на даний момент одержується, або однієї або більшої кількості інформаційних величин, попередньо одержаних з потоку даних 401 або цілої величини синтаксичного елемента, який був попередньо дебінаризований. Наприклад, вибраний контекст може бути різним між першою і другою інформаційною величиною бінаризації певного синтаксичного елемента. Більше того, різні групи контекстів можуть передбачатися для різних
Зо типів синтаксичного елемента, такі як рівні значущості коефіцієнта перетворення, різниці векторів руху, параметри режиму кодування і подібне.
Настільки, наскільки це стосується оновлення стану ймовірності, ентропійний декодер 409 може конфігуруватися для виконання того ж для інформаційної величини, яка на даний момент одержується шляхом переходу з поточного стану ймовірності, зв'язаного з контекстом, вибраним для інформаційної величини, на даний момент одержаного в 126 станах ймовірності, до нового стану ймовірності серед 126 станів ймовірності, в залежності від інформаційної величини, яка на даний момент одержується. Як описано вище, ентропійний декодер 409 може, наприклад, одержувати доступ до вхідних даних таблиці з використанням поточного стану і значення інформаційної величини, на даний момент одержаної, з доступом до вхідних даних таблиці, які вказують новий стан ймовірності. Дивіться вищенаведені таблиці Мехі 5іаїє І РБ і
Мехі біаіїє МР, відносно яких ентропійним декодером формується таблиця пошуку на додаток до інших етапів 0-5, вказаних вище. У вищенаведеному описі стан ймовірності інколи позначався як роїаїє ситепЦріп|. Як також описано вище, ентропійний декодер 409 може конфігуруватися для бінарного арифметичного декодування інформаційної величини, яка на даний момент одержується шляхом дискретизації поточної бітової величини (В) інтервалу ймовірності, яка представляє поточний інтервал ймовірності, для одержання індексу д іпаєх інтервалу ймовірності і шляхом виконання підрозбиття інтервалу шляхом індексування вхідної величини таблиці серед вхідних величин таблиці (Ніаб) з використанням індексу інтервалу ймовірності і індексу р в5іаге стану ймовірності, який залежить від поточного стану ймовірності, зв'язаного з контекстом, вибраним для інформаційної величини, яка на даний момент одержується, для одержання підрозбиття поточного інтервалу ймовірності на два часткові інтервали. Як описано, ентропійний декодер 409 може використовувати 8 бітове представлення для поточної величини АК ширини інтервалу ймовірності. Для дискретизації поточної величини ширини інтервалу ймовірності, ентропійний декодер 409 може, наприклад, вибирати два або три найбільш значущі біти 8 бітового представлення.
Ентропійний декодер 409 може потім виконувати вибір серед двох часткових інтервалів на основі величини стану зміщення з середини поточного інтервалу ймовірності, оновлювати величину ширини інтервалу ймовірності і величину стану зміщення, і виводити значення інформаційної величини, яка на даний момент одержується, з використанням вибраного бо часткового інтервалу і виконувати повторну нормалізацію оновленої величини ширини інтервалу ймовірності і величини стану зміщення, зокрема М у вищенаведеному описі, включаючи продовження зчитування бітів з потоку даних 401. Як описано вище, вибір серед двох часткових інтервалів на основі величини М стану зміщення може використовувати порівняння між КЕ і МУ, тоді як оновлення величини ширини інтервалу ймовірності і величини стану зміщення може залежати від значення інформаційної величини, яка на даний момент одержується.
Для опису Фіг. 16, декодер додатково описує десимволізатор 314, який конфігурується для дебінаризації результатів бінаризацій синтаксичних елементів 327 для одержання цілих чисел синтаксичних елементів. Реконструктор 404, який також міститься в декодері з Фіг. 16, потім відновлює відеодані 405 на основі цілих величин синтаксичних елементів з використанням параметра дискретизації ОР. Наприклад, реконструктор 404 може, як описано вище, працювати в режимі прогнозування з використанням параметра дискретизації для встановлення точності для представлення залишку прогнозування, такого як рівні значущості коефіцієнта перетворення, які представляють перетворений варіант залишку прогнозування. Ентропійний декодер 409, як описано вище, конфігурується для розрізнення 126 станів ймовірності. Тобто, роїаїє ситепцбіп| в комбінації з вказанням маіМРБ, тобто, вказанням МВ5 серед 0 і 1, тобто, серед можливими станами символу, здатен припускати 126 різних станів. Ентропійний декодер 409 ініціалізує стани ймовірності, зв'язані з різними контекстами, тобто, реїа(є ситепі для різних доступних контекстів, згідно з лінійним рівнянням параметра дискретизації, тобто, рівняння згідно з3- а ОР--а. Слід відзначити, що роїаїє ситепі реально просто вказує ймовірність
І 5В. Таким чином, а-ОР--а вказує, зокрема, роїаїє ситепі і маїМРБ, тобто вказує, який з двох станів є МВ5 і який є І В5. Хочаа ОР--а вказує ймовірність певного символу, тобто 1 або 0, той факт, чиа ОР--а перевищує 63, чи ні, безпосередньо вказує чи 0, чи 1 є М5В. Ентропійний декодер 126 одержує для кожного з різних контекстів крутизну а і зміщення б лінійного рівняння з першої і другої 4 бітової частини відповідного 8 бітової ініціалізуючої величини, зокрема чотирьох М5В, з одного боку, і нижніх чотирьох І ЗВ. З цього приводу, ентропійний декодер 409 може конфігуруватися для ініціалізації станів ймовірності, зв'язаних з різними контекстами, як початків частин відеоданих.
Ентропійний декодер може, наприклад, конфігуруватися для окремого визначення параметра дискретизації для кожної частини відеоданих. Тобто, ентропійний декодер 409 може одержувати з потоку даних 401 інформацію про те, як визначати параметр дискретизації для кожної частини масиву даних. Потім, використовуючи крутизну і зміщення, оцінки ймовірності визначаються на початку кожної частини масиву даних з використанням відповідного параметра дискретизації відповідної частини масиву даних. "На початку частини масиву даних" може, наприклад, означати "перед декодуванням першої інформаційної величини, яка ентропійно декодується з використанням будь-якого контексту".
Зокрема, ентропійний декодер 409 може конфігуруватися для ініціалізації станів ймовірності, зв'язаних з різним контекстом на початках частин відеоданих шляхом зчитування параметра дискретизації ОР для поточної частини відеоданих з потоку даних 401 і шляхом ініціалізації станів ймовірності, зв'язаних з різними контекстами, згідно з лінійним рівнянням параметра дискретизації для поточної частини відеоданих, при цьому ентропійний декодер може, для кожної з частин відеоданих, одержувати крутизну і зміщення лінійного рівняння з першої і другої 4 бітової частини однієї і тієї ж відповідної 8 бітової ініціалізуючої величини. Тобто, хоча параметр дискретизації ОР змінюється між частинами відеоданих, пари крутизни і зміщення не змінюються.
Реконструктор 404 може, як тільки що описано, працювати в режимі прогнозування.
Відповідно, реконструктор 404 може, при відновленні відеоданих 405 на основі цілих величин синтаксичних елементів 327, деквантизувати рівні значущості коефіцієнтів перетворення, які містяться в синтаксичних елементах, з використанням параметра дискретизації ОР, виконувати повторне перетворення на деквантизовані рівні значущості коефіцієнта перетворення для одержання залишку прогнозування, виконувати просторове і/або тимчасове прогнозування для одержання сигналу прогнозування, і об'єднувати залишок прогнозування та сигнал прогнозування для відновлення відеоданих 405.
Для представлення спеціального прикладу, ентропійний декодер 409 може конфігуруватися для одержання для кожного з різних контекстів крутизни і зміщення з першої і другої 4 бітової частини, незалежно одна від іншої, як, наприклад, за допомогою таблиці пошуку, як описано вище, або, альтернативно, шляхом використання окремих арифметичних операцій, таких як лінійні операції. Тобто, для перекриття проміжку між 4 бітами двох 4 бітових частин 8-бітових ініціалізуючих величин, з одного боку, і 126 величинами різних станів ймовірності, з іншого боку, 60 ентропійний декодер 409 може індивідуально описувати обидві 4 бітові частини лінійними рівняннями. Наприклад, М5В5 8 бітової ініціалізуючої величини р перетворюються на крутизну шляхом обрахунку крутизни - тернп, і чотири /5В5 8 бітової ініціалізуючої величини а використовуються для обрахунку зміщення, згідно з рівнянням оїїзеї-85гд-і. т, п, ї і 5 є належним чином вибраними константами. Просто для повноти, Фіг. 17 зображає кодер, який підключений до декодера з Фіг. 16, де кодер з Фіг. 17 приблизно відповідає конструкції, наприклад, кодера з
Фіг. 20, а інші варіанти виконання для кодера подібним чином до декодера з Фіг. 16 відповідають декодеру з Фіг. 11, тобто, окрім полишення здатності перемикання режимів і втілення ентропійного кодера 513 в більш загальних термінах як той, що включає або концепцію
РІРЕ або іншу концепцію, таку як вищевказана концепція САВАС. Окрім цього, увесь опис, наданий вище стосовно Фіг. 16, рівноцінно переноситься на Фіг. 17.
Хоча деякі аспекти були описані в контексті пристрою, зрозуміло, що ці аспекти також представляють опис відповідного способу, де блок або пристрій відповідає етапу способу або ознаці етапу способу. Аналогічно, аспекти, описані в контексті етапу способу, також представляють опис відповідного блока або вузла, або ознаки відповідного пристрою. Деякі або усі етапи способу можуть виконуватися за допомогою (або використанням) апаратних засобів, як, наприклад, мікропроцесора, програмованого комп'ютера або електронної схеми. В деяких варіантах виконання деякі або більша кількість найбільш важливих етапів способу можуть виконуватися таким пристроєм.
Кодований сигнал винаходу може зберігатися в середовищі для збереження цифрової інформації або може передаватися в передавальне середовище, таке як середовище безпровідної передачі даних або проводове передавальне середовище, таке як Інтернет.
В залежності від певних вимог для втілення, варіанти виконання винаходу можуть втілюватися в апаратних або в програмних засобах. Втілення може здійснюватися з використанням середовища для зберігання цифрової інформації, наприклад дискети, ЮМО,
Віне-Вау, СО, ВОМ, РВОМ, ЕРВОМ, ЕЕРВКОМ або ФЛЕШ-пам'яті, які зберігають в собі електронно зчитувані керувальні сигнали, які взаємодіють (або здатні взаємодіяти) з програмованою комп'ютерною системою так, що виконується відповідний спосіб. Тому, дані з середовища для зберігання цифрової інформації можуть зчитуватися комп'ютером.
Деякі варіанти виконання, згідно з винаходом, містять носій даних, який містить електронно
Зо зчитувані керувальні сигнали, які здатні взаємодіяти з програмованою комп'ютерною системою так, що виконується один з описаних тут способів.
Загалом, варіанти виконання представленого винаходу можуть втілюватися як комп'ютерна програма з програмним кодом, який активується для виконання одного із способів, коли вона виконується на комп'ютері. Програмний код може, наприклад, зберігатися на зчитуваному машиною носії.
Інші варіанти виконання включають комп'ютерну програму для виконання одного з описаних тут способів, яка зберігається на зчитуваному машиною носії.
Іншими словами, варіант виконання способу винаходу є, тому, комп'ютерною програмою, яка має програмний код для виконання одного з описаних тут способів, коли вона виконується на комп'ютері.
Подальшим варіантом виконання винаходу є, тому, носій даних (або середовище для зберігання цифрової інформації або зчитуване комп'ютером середовище), який містить записану на собі комп'ютерну програму для виконання одного з описаних тут способів. Носій даних, середовище для зберігання цифрової інформації або середовище із записаною інформацією типово є матеріальними і/або неперехідними.
Подальший варіант виконання винаходу є, тому, потоком даних або послідовністю сигналів, які представляють комп'ютерну програму для виконання одного з описаних тут способів. Потік даних або послідовність сигналів може, наприклад, конфігуруватися для передачі за допомогою з'єднання зв'язку, наприклад по Інтернету.
БО Подальший варіант виконання включає засіб обробки, наприклад комп'ютер, або програмований логічний пристрій, сконфігурований або адаптований для виконання одного з описаних тут способів.
Подальший варіант виконання включає комп'ютер, який має встановлену на ньому комп'ютерну програму для виконання одного з описаних тут способів.
Подальший варіант виконання, згідно з винаходом, включає пристрій або систему, сконфігуровану для передачі (наприклад, електронно або оптично) комп'ютерної програми для виконання одного з описаних тут способів до приймача. Приймач може, наприклад, бути комп'ютером, мобільним пристроєм, запам'ятовуючим пристроєм або подібним. Пристрій або система може, наприклад, включати файловий сервер для передачі комп'ютерної програми до бо приймача.
В деяких варіантах виконання програмований логічний пристрій (наприклад, здатні до перепрограмування користувачем компоненти масиву) може використовуватися для виконання деяких або усіх функцій, описаних тут способів. В деяких варіантах виконання, здатні до перепрограмування користувачем, компоненти масиву можуть взаємодіяти з мікропроцесором для виконання одного з описаних тут способів. Загалом, способи переважно виконуються будь- яким апаратним засобом.
Вищеописані варіанти виконання є просто ілюстрацією принципів представленого винаходу.
Зрозуміло, що модифікації і варіанти описаних тут схем і деталей стануть очевидними для фахівців у цій галузі. Тому, наміром є обмеження об'єму правового захисту тільки наступною формулою винаходу, а не спеціальними деталями, представленими у вигляді опису і пояснення варіантів виконання.
Claims (33)
1. Декодер для декодування відеоданих з потоку даних (401), у якому синтаксичні елементи кодовані з використанням бінаризацій синтаксичних елементів (327), який містить ентропійний декодер (409), сконфігурований для одержання ряду інформаційних величин (326) бінаризацій з потоку даних (401), з використанням бінарного ентропійного декодування шляхом вибору контексту серед різних контекстів і шляхом оновлення станів ймовірності, які зв'язані з різними контекстами, залежно від попередньо декодованих частин потоку даних (401); десимволізатор (314), сконфігурований для дебінаризації результатів бінаризацій синтаксичних елементів (327) для одержання цілих величин синтаксичних елементів; реконструктор (404), сконфігурований для відновлення відеоданих на основі цілих величин синтаксичних елементів з використанням параметра дискретизації, при цьому ентропійний декодер (409) сконфігурований для розрізнення 126 станів ймовірності і для ініціалізації станів ймовірності, зв'язаних з різними контекстами, згідно з лінійним рівнянням параметра дискретизації, при цьому ентропійний декодер сконфігурований для одержання, незалежно для кожного, з різних контекстів крутизни лінійного рівняння, з чотирьох найбільш значущих бітів 8- бітової ініціалізуючої величини і зміщення лінійного рівняння з чотирьох найменш значущих бітів Зо 8-бітової ініціалізуючої величини.
2. Декодер за п. 1, який відрізняється тим, що ентропійний декодер (409) сконфігурований для одержання ряду інформаційних величин (326) результатів бінаризацій з потоку даних (401), з використанням бінарного арифметичного декодування або бінарного РІРЕ декодування.
З. Декодер за п. 1 або п. 2, який відрізняється тим, що ентропійний декодер (409) сконфігурований для виконання вибору контексту для, на даний момент, одержаної інформаційної величини, залежно від одного або більшої кількості параметрів, вибраних серед положення інформаційної величини, на даний момент, одержаної в процесі бінаризації, якій вона належить, типу синтаксичного елемента, ціла велична якого одержана дебінаризацією результатів бінаризації, яким належить, на даний момент, одержана інформаційна величина, і однієї або більшої кількості інформаційних величин, попередньо одержаних з потоку даних (401), або цілої величини, попередньо дебінаризованого синтаксичного елемента.
4. Декодер за будь-яким із пп. 1-3, який відрізняється тим, що ентропійний декодер (409) сконфігурований для виконання оновлення стану ймовірності для, на даний момент, одержаної інформаційної величини для переходу з поточного стану ймовірності, зв'язаного з контекстом, вибраним для, на даний момент, одержаної інформаційної величини в (126) станах ймовірності, до нового стану ймовірності серед 126 станів ймовірності, залежно від, на даний момент, одержаної інформаційної величини.
5. Декодер за будь-яким із пп. 1-4, який відрізняється тим, що ентропійний декодер (409) сконфігурований для бінарного арифметичного декодування, на даний момент, одержаної інформаційної величини шляхом дискретизації величини ширини поточного інтервалу ймовірності, яка являє поточний інтервал ймовірності для одержання індексу інтервалу ймовірності, і шляхом виконання підрозбиття інтервалу шляхом індексування вхідної величини таблиці серед вхідних величин таблиці, з використанням індексу інтервалу ймовірності і індексу стану ймовірності, залежно від поточного стану ймовірності, зв'язаного з контекстом, вибраним для, на даний момент, одержаної інформаційної величини для одержання підрозбиття поточного інтервалу ймовірності на два часткові інтервали.
6. Декодер за п. 5, який відрізняється тим, що ентропійний декодер (409) сконфігурований для використання 8-бітового представлення для величини ширини поточного інтервалу ймовірності і для одержання 2 або 3 найбільш значущих бітів 8-бітового представлення при дискретизації бо величини ширини поточного інтервалу ймовірності.
7. Декодер за п. 5 або п. б, який відрізняється тим, що ентропійний декодер (409) сконфігурований для вибору серед двох часткових інтервалів, на основі величини стану зміщення з внутрішньої частини поточного інтервалу ймовірності, для оновлення величини ширини інтервалу ймовірності і величини стану зміщення, і для виведення величини, на даний момент, одержаної інформаційної величини, використовуючи вибраний частковий інтервал, і для виконання повторної нормалізації оновленої величини ширини інтервалу ймовірності і величини стану зміщення, включаючи продовження зчитування бітів з потоку даних (401).
8. Декодер за будь-яким із пп. 1-7, який відрізняється тим, що ентропійний декодер (409) сконфігурований для ініціалізації станів ймовірності, зв'язаних з різними контекстами на початках частин відеоданих.
9. Декодер за п. 8, який відрізняється тим, що ентропійний декодер (409) сконфігурований для окремого визначення параметра дискретизації для кожної частини відеоданих.
10. Декодер за будь-яким із пп. 1-9, який відрізняється тим, що ентропійний декодер (409) сконфігурований для ініціалізації станів ймовірності, зв'язаних з різними контекстами, на початках частин відеоданих, шляхом зчитування параметра дискретизації для поточної частини відеоданих з потоку даних (401) і шляхом ініціалізації станів ймовірності, зв'язаних з різними контекстами, згідно з лінійним рівнянням параметра дискретизації для поточної частини відеоданих, при цьому ентропійний декодер (409) сконфігурований для одержання крутизни і зміщення лінійного рівняння, для кожної з частин відеоданих, з першої і другої чотирибітових частин однієї і тієї ж відповідної 8-бітової ініціалізуючої величини.
11. Декодер за будь-яким із пп. 1-10, який відрізняється тим, що реконструктор (404) сконфігурований, під час реконструкції відеоданих (405), на основі цілих величин синтаксичних елементів (327) для деквантизації рівнів значущості коефіцієнта перетворення, які містяться в синтаксичних елементах, з використанням параметра дискретизації, виконанням повторного перетворення на деквантизовані рівні значущості коефіцієнта перетворення, для одержання залишку прогнозування, для виконання просторового і/або тимчасового прогнозування для одержання сигналу прогнозування, і для об'єднання залишку прогнозування і сигналу прогнозування для відновлення відеоданих (405).
12. Декодер за будь-яким із пп. 1-11, який відрізняється тим, що ентропійний декодер (409) Зо сконфігурований для одержання, для кожного з різних контекстів крутизни, і зміщення лінійного рівняння з першої і другої чотирибітових частин відповідної 8-бітової ініціалізуючої величини, незалежно один від іншого.
13. Декодер за будь-яким із пп. 1-12, який відрізняється тим, що ентропійний декодер сконфігурований для одержання, для кожного з різних контекстів крутизни, і зміщення лінійного рівняння з першої і другої чотирибітових частин відповідної 8-бітової ініціалізуючої величини, за допомогою таблиці пошуку або з використанням арифметичної операції.
14. Декодер за будь-яким із пп. 1-12, який відрізняється тим, що ентропійний декодер сконфігурований для одержання, для кожного з різних контекстів крутизни, і зміщення лінійного рівняння шляхом множення і зміщення першої чотирибітової частини на першу пару параметрів, і зміщення шляхом множення і зміщення другої чотирибітової частини на другу пару параметрів.
15. Декодер за п. 1, який відрізняється тим, що масив інформаційних зразків є картою глибин.
16. Кодер для кодування відеоданих з одержанням потоку даних шляхом кодування синтаксичних елементів з одержанням потоку даних, з використанням бінаризацій синтаксичних елементів, який містить конструктор, сконфігурований для представлення відеоданих шляхом визначення цілих величин синтаксичних елементів, залежно від параметра дискретизації, символізатор, сконфігурований для бінаризації цілих величин синтаксичних елементів, для одержання даних бінаризацій синтаксичних елементів; ентропійний кодер, сконфігурований для кодування ряду інформаційних величин процесів бінаризацій з одержанням потоку даних, з використанням бінарного ентропійного кодування шляхом вибору контексту серед різних контекстів, і шляхом оновлення станів ймовірності, зв'язаних з різними контекстами, залежно від попередньо кодованих частин потоку даних; при цьому ентропійний кодер сконфігурований для розрізнення 126 станів ймовірності і для ініціалізації станів ймовірності, зв'язаних з різними контекстами, згідно з лінійним рівнянням параметра дискретизації, при цьому ентропійний кодер сконфігурований для одержання крутизни лінійного рівняння, незалежно для кожного з різних контекстів з чотирьох найбільш значущих бітів 8- бітової ініціалізуючої величини і зміщення лінійного рівняння з чотирьох найменш значущих бітів 8-бітової ініціалізуючої величини.
17. Кодер за п. 16, який відрізняється тим, що ентропійний кодер сконфігурований для кодування ряду інформаційних величин результатів бінаризацій з одержанням потоку даних з використанням бінарного арифметичного кодування або бінарного РІРЕ кодування.
18. Кодер за п. 16 або п. 17, який відрізняється тим, що ентропійний кодер сконфігурований для виконання вибору контексту для, на даний момент, кодованої інформаційної величини, залежно від одного або більшої кількості параметрів, вибраних серед: положення, на даний момент, кодованої інформаційної величини, в результаті бінаризації, якій належить, на даний момент, кодована інформаційна величина, типу синтаксичного елемента, ціла величина якого бінаризована з одержанням результату бінаризації, якій належить, на даний момент, кодована інформаційна величина, і однієї або більшої кількості інформаційних величин, попередньо кодованих з одержанням потоку даних, або цілої величини синтаксичного елемента, результат бінаризації якого був попередньо кодований.
19. Кодер за будь-яким із пп. 16-18, який відрізняється тим, що ентропійний кодер сконфігурований для виконання оновлення стану ймовірності для, на даний момент, кодованої інформаційної величини шляхом переходу від поточного стану ймовірності, зв'язаного з контекстом, вибраним для, на даний момент, кодованої інформаційної величини в 126 станів ймовірності, до нового стану ймовірності серед 126 станів ймовірності, залежно від поточно кодованої інформаційної величини.
20. Кодер за будь-яким із пп. 16-19, який відрізняється тим, що ентропійний кодер сконфігурований для бінарного арифметичного кодування, на даний момент, кодованої інформаційної величини шляхом дискретизації величини ширини поточного інтервалу ймовірності, яка являє поточний інтервал ймовірності, для одержання індексу інтервалу ймовірності, і шляхом виконання підрозбиття інтервалу шляхом індексування вхідної величини таблиці серед вхідних величин таблиці з використанням індексу інтервалу ймовірності, і індексу стану ймовірності, який залежить від поточного стану ймовірності, зв'язаного з контекстом, вибраним для поточно кодованої інформаційної величини, для одержання підрозбиття поточного інтервалу ймовірності на два часткові інтервали.
21. Кодер за п. 20, який відрізняється тим, що ентропійний кодер сконфігурований для використання 8-бітового представлення для величини ширини поточного інтервалу ймовірності і для одержання 2 або 3 найбільш значущих бітів 8-бітового представлення при дискретизації величини ширини поточного інтервалу ймовірності.
22. Кодер за п. 20 або п. 21, який відрізняється тим, що ентропійний кодер сконфігурований для вибору серед двох часткових інтервалів на основі цілої величини поточно кодованої інформаційної величини, для оновлення величини ширини інтервалу ймовірності і зміщення інтервалу ймовірності з використанням вибраного часткового інтервалу, і для виконання повторної нормалізації величини ширини інтервалу ймовірності і зміщення інтервалу ймовірності, включаючи продовження запису бітів в потік даних.
23. Кодер за будь-якими із пп. 15-22, який відрізняється тим, що ентропійний кодер сконфігурований для ініціалізації станів ймовірності, зв'язаних з різними контекстами, на початках частин відеоданих.
24. Кодер за будь-яким із пп. 15-23, який відрізняється тим, що ентропійний кодер сконфігурований для ініціалізації станів ймовірності, зв'язаних з різними контекстами, на початках частин відеоданих шляхом індивідуального визначення параметра дискретизації для поточної частини з потоку даних, і шляхом ініціалізації станів ймовірності, зв'язаних з різними контекстами, згідно з лінійним рівнянням параметра дискретизації для поточної частини відеоданих, при цьому ентропійний кодер сконфігурований для одержання крутизни і зміщення лінійного рівняння, для кожної з частин відеоданих, з першої і другої чотирибітових частин однієї і тієї ж відповідної величини 8-бітової ініціалізуючої величини.
25. Кодер за будь-яким із пп. 15-24, який відрізняється тим, що конструктор сконфігурований для виконання просторового і/або тимчасового прогнозування під час визначення цілих величин синтаксичних елементів для одержання сигналу прогнозування, для одержання залишку прогнозування з сигналу прогнозування, і відеоданих для виконання перетворення на залишок прогнозування для одержання рівнів значущості коефіцієнта перетворення, і для дискретизації рівнів значущості коефіцієнта перетворення, з використанням параметра дискретизації для одержання дискретизованих рівнів значущості коефіцієнта перетворення, які містяться в синтаксичних елементах.
26. Кодер за будь-яким із пп. 15-25, який відрізняється тим, що ентропійний кодер сконфігурований для одержання крутизни і зміщення лінійного рівняння, для кожного з різних контекстів, з першої і другої чотирибітових частин відповідної 8-бітової ініціалізуючої величини, 60 незалежно одне від іншого.
27. Кодер за будь-яким із пп. 15-26, який відрізняється тим, що ентропійний кодер сконфігурований для одержання крутизни і зміщення лінійного рівняння, для кожного з різних контекстів, з першої і другої чотирибітових частин відповідної 8-бітової ініціалізуючої величини, за допомогою таблиці пошуку або шляхом використання арифметичної операції.
28. Кодер за будь-яким із пп. 15-27, який відрізняється тим, що ентропійний кодер сконфігурований для одержання крутизни лінійного рівняння шляхом множення і зміщення першої чотирибітової частини на першу пару параметрів, і зміщення шляхом множення і зміщення другої чотирибітової частини на другу пару параметрів, для кожного з різних контекстів.
29. Кодер за п. 16 або п. 17, який відрізняється тим, що масив інформаційних зразків є картою глибин.
30. Спосіб декодування відеоданих з потоку даних, у якому кодуються синтаксичні елементи з використанням результатів бінаризацій синтаксичних елементів, у якому одержують ряд інформаційних величин результатів бінаризацій з потоку даних, з використанням бінарного ентропійного декодування шляхом вибору контексту серед різних контекстів і шляхом оновлення станів ймовірності, зв'язаних з різними контекстами, залежно від попередньо декодованих частин потоку даних; дебінаризують дані бінаризацій синтаксичних елементів для одержання цілих величин синтаксичних елементів; відновлюють відеоінформацію, на основі цілих величин синтаксичних елементів, з використанням параметра дискретизації, при цьому одержання ряду інформаційних величин результатів бінаризацій розрізняють в 126 станах ймовірності і ініціалізують стани ймовірності, зв'язані з різними контекстами, згідно з лінійним рівнянням параметра дискретизації, і для кожного з різних контекстів незалежно одержують крутизну лінійного рівняння з чотирьох найбільш значущих бітів 8-бітової ініціалізуючої величини і зміщення лінійного рівняння з чотирьох найменш значущих бітів 8-бітової ініціалізуючої величини.
31. Спосіб кодування відеоданих з одержанням потоку даних шляхом кодування синтаксичних елементів з одержанням потоку даних, з використанням результатів бінаризацій синтаксичних елементів, у якому представляють відеодані шляхом визначення цілих величин синтаксичних Зо елементів, залежно від параметра дискретизації, бінаризують цілі величини синтаксичних елементів для одержання результатів бінаризацій синтаксичних елементів; кодують ряд інформаційних величин результатів бінаризацій з одержанням потоку даних, з використанням бінарного ентропійного кодування шляхом вибору контексту серед різних контекстів і шляхом оновлення станів ймовірності, зв'язаних з різними контекстами, залежно від попередньо кодованих частин потоку даних; при цьому представлення відеоданих розрізняють в 126 станах ймовірності і ініціалізують стани ймовірності, зв'язані з різними контекстами, згідно 3 лінійним рівнянням параметра дискретизації, і для кожного з різних контекстів незалежно одержують крутизну лінійного рівняння з чотирьох найбільш значущих бітів 8-бітової ініціалізуючої величини і зміщення лінійного рівняння з чотирьох найменш значущих бітів відповідної 8-бітової ініціалізуючої величини.
32. Носій цифрових даних, який має збережений на собі потік даних, у який кодуються синтаксичні елементи з використанням результатів бінаризацій синтаксичних елементів, і з якого декодують відеодані шляхом одержання ряду інформаційних величин результатів бінаризацій з потоку даних з використанням бінарного ентропійного декодування шляхом вибору контексту серед різних контекстів і шляхом оновлення станів ймовірності, зв'язаних з різними контекстами, залежно від попередньо декодованих частин потоку даних; дебінаризації даних бінаризацій синтаксичних елементів для одержання цілих величин синтаксичних елементів; відновлення відеоінформації на основі цілих величин синтаксичних елементів з використанням параметра дискретизації, при цьому одержання ряду інформаційних величин результатів бінаризацій розрізняють в 126 станах ймовірності і шляхом ініціалізації станів ймовірності, зв'язаних з різними контекстами, згідно з лінійним рівнянням параметра дискретизації, і для кожного з різних контекстів шляхом незалежного одержання крутизни лінійного рівняння з чотирьох найбільш значущих бітів 8-бітової ініціалізуючої величини і зміщення лінійного рівняння з чотирьох найменш значущих бітів 8-бітової ініціалізуючої величини.
33. Носій цифрових даних за п. 32, який відрізняється тим, що масив інформаційних зразків є картою глибин.
т з т , по а 20 ЯН А
Фіг. 1 "п х ад Я0ю абс я ї й М / га м
Фіг. 2 А
М. Й кави вний шк шш Фі 2 в х - ї пн ие ще шишея ! 1 І І і нище рення НН «4 і з і ШУ пише зойойнвкія нки лофонінє поні Яйій намднй Ж АН Жан. р жк ши НИ. пін а пн о шишшш СПД, янннркю)
Фіг. 26 і Б х Й і ин їв декодер они нн осно , декодер : : Н І
Янг. З і пенжнноня и зн зані ват тя пеня й й Ї ; зе роз нишищи че і» " іпвратваечняк : Ї внтохудннй ! Я З Зв днк тні шини миня вадее ша ри--ж рої і Раш : що п І "бернане ЕЕ, пержсурораннягі оно ім преднаутко псеківк ! і Ї ша ЕІ п цен
Фіг. 4 й винну ню ян ння меня стен тт тт щі 152 і 0 у ї «в Н в Н Е І НИ з зв ше ШИ Іво зехетрапійн і «Жук В й КІ «ФЧобярннне З тні» кадее паренихманани слини тн ше, тв) мен ! ! дектов |в ; плані праджецер Ї до шюю нн пеня ек пкт тяж екхх кю же нях каз зало ха плля ло
Фіг. 5 ка! х т їх і ух птн А Зв нини ДЕ З Семи ТА БОЮ СТО Боб ЩЕ СВ Толя 3 го Ме: МИ ВНЗ ванн нини пи З Я ми шщЯ ака НЕ Б мине: нави: вався ур Ії і тори ий і Н ші с вн Ма: здо Шк: Е - икікікіт і і: КИВНННЕ ВД МЕ МАЯ Я ї о и НУ -- 1 г. сто Я т т-во іє х ї т ще ї Б ; М, МЕ і я ту ще
Чнг. 6 ще смнуакокнкі ше жохмюет ле : пілнаааалья КОМОД - а щ ще ве і У «а ЗДУ як ти "б Мі зи і з КЕ ооо вт МИ ШИ прРІШИХ мк пн , ран ям де я век | з ан Г-- чекстюєхвий пхтік дк Я / Х й Н | м зо ях Ка пон Е і | ї ІЗ І2 і Гпрюсноюван1 Її й яра ох дв Й х Шо Мі З шк 11 - поза она сннннн Ши ин | : щи | нееененнт| кр чеснево пені нка а Й терен У ння Енн Є ееетеєтееєттесесесееооєлеєєьноЯ Гевсренцок | пик Ї ях робки | «З З) еюмаюю їй і М а к з меу фени к чі Ж Токростікя 1 в ! : і : : 1 і ке р Кт 34 ленні 1 Бр руч мч «п А Ге : | еінсве іже рі ще х Шо х в ї ФУфЖрнюЯ Тени ретуттєтт вами ШИ пеекеек оте ежнтююютюєттня Н Ж юменуд в рання ие МВ З Я метковкй лоти БА М І Мо Не Те З ходи м фаст ети же ум зах миле ча | тую похід нніст пічлкму інкімю майна акпмоди
Фіг. 7
З15 о мимтехохвна ЗА 00 скехожокх С ких вмч і знімна МІ мім лю и 32 р - а пкт, ік: іа: ре Меню В бвконяжтор з к попа в 323 ДЕК учня | ОО ЕЗКЯ зм лемуютюннй наро у моко конк; КІ - лАлААнА далині і я. спину й БЮ УАД вк зіденакових ; І аж кий і пи і 7 й ро сля Р бич З 7 оходер і Ева «остокей хатік бетів У нище Лиш | Ще БУ НИ ад нини ді пити В З ща 7 У рних І йриєоеєюаьк і ІЗ й й КЗ У Що іхиремеємк| І лерематяа Її Мас месте ване (Й ідйаенаня | і липи ванннння феенке ши Щ і І і пе зір рн вея МА. босих мем вх, ТР шенню бю ме Н Б ди енававнаннннннй фін Са кім Н се ШИ пен ДОВ о ЕН діт та Н х є Ш " зе х ЕН ії, М т т . уеюх і і 5: ч ж - пжмежу 10 БЕ рер . - . Щі кої Б. що щ-е 33 м 6 І дяйковий ЩО: за зе Н чає Ні Б ЗМрЕДННА ГК ант У дуоудуююну вина Е фропегивтов Е сек. н-і Мен І є офоєтестив накхна той Кен ин дюнедовня пн еле нин ш Пуфомовцх ї сті нетоси поще буц як Росі мОЕНИТь -екюю В ехфрсомаційних ВЕлунака
Фіг. 8 щи що «ра що чо ( ( ї А ! х : я і заголовок К дізмі 1 потоку бітів | одні ва дані М патоку ЇЇ спотоху битв ви : пакет даних, І
Фіг. 9 . СУ 1 ця вій 414 0... 535 414 14 ; 413 що я а А до ТТ, с ах ,, Н х і Її і ї у р ї - й й- ча р їн г Ме х я х » У - х х ше Ше з й п А а а НА ЗВ ШИ ше шк В я дан о фідамо5в Дн іа зевно Е в 1; сечі п: че псОКУ мя КІ З МЕН загойовох яв поту патоку Злотому ЦеетоХИ МО у ж | дек М не ! 7 С бітів. бнів | дея; их Чбихів пили ее іх лллллжляля пиккжинжя тили Вікттттяя соя сен ожккпккжллялялля скпллллллллчиаляхлхіля ПОВЕ Дами о лллллахляляклтюхтттттттттф пет фур тен тт тет фін ее те еектттткктлефи можливий лосядок бечолуєання ! бля кджного частковоєв попу Сл, чаштониа покобухунвься в подяку в, о
Фіг. 10
, до Й 4 як 09 ї й у; З / зо Бо- 83? щи Г феод яв І: т Що ї | деснімес ї З І У ЕЕ но фовлекої пватов і. І й т - Бор о: ск Е | р Б. Ж |: І ай нропіяни |. ! : і п дн ВИН Я | вжяянянтня ! і ; і А ! і Є сн ШЕ і і снення 322 | з Н і и 1 у о 7 зт. ряжчКя Н ра м щі ЕМ 7 г ї ї2р в; ешу ! і 406 ВІН 4) к 409 щі Фіг Во щИ ЩО? І" с" КО ежреиК режи Е й ; ор ІВ БО ; | вововони ДЕ нин / ОЗ ем в ОО Би б
Фіг. 12 ИН ж М ї я . Іевідний З ізасй І Й й Ж. а 50? дллкнн і ве / в Мвт Е 1 ее сепюх.Ї Знання 1 фунструю | у оневаліяні уж тор то ж , і | шин Я тт КлаАААААЛААНАЛЛАНТ Н ! коми і Бесесефн ШІ Що і Її ще ЗюоОмО
Фіг. 13 тов / У Ї ненняй ши - зай т М що то тв / ти ханетрую: Ой ронмаотаа» ' ре Е тор ! - тент - - сн сію.
Фіг. 14 : : пролтртттутттех : Е | | : Ь І Я Е ' ї Е й : | : | ШИ НК потер нн зво нн Зіни ній ин пен ннни ї 1 Е Н Е ' 1 і Н ї ї і ЕК НИ с Н ! х Н р ї І Ех Ж і : і ; Е їх ї Е Н їх Н х Н їди рр ефе трутя чі Н ї Н ї В з. і ї Н : ! ! Н Е І ! і ь ! ї Н ї Н Н ї Ї ї Н о : ! | ! чі : й І : ій оніми занінананм я мн мини фе ДК ння коми ек ВК ни в НІ 2 4 Е В т І: 35 ЕК Ечи
Фіг. 15 яра зи 404 і Н Й Кт Ї зе ; щі / дк ї ї і енересняний ї - ї і
Фіг. 16 зр КІ З ск ; - / к Я й М 5ре пиши ще і щк Її ї |. ; снтуєкежний : / птн конатетоє ни шин пемкомівхор рнннвнчнннння мине м ни : | і Шк : ши ши і
Фіг. 17
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161497794P | 2011-06-16 | 2011-06-16 | |
US201161508506P | 2011-07-15 | 2011-07-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
UA123987C2 true UA123987C2 (uk) | 2021-07-07 |
Family
ID=46319135
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
UAA201600953A UA115186C2 (uk) | 2011-06-16 | 2012-06-18 | Ентропійне кодування різниць векторів руху |
UAA201701791A UA123987C2 (uk) | 2011-06-16 | 2012-06-18 | Ініціалізація контексту в ентропійному кодуванні |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
UAA201600953A UA115186C2 (uk) | 2011-06-16 | 2012-06-18 | Ентропійне кодування різниць векторів руху |
Country Status (31)
Country | Link |
---|---|
US (36) | US9455744B2 (uk) |
EP (11) | EP2721822B1 (uk) |
JP (11) | JP5925884B2 (uk) |
KR (13) | KR101662136B1 (uk) |
CN (26) | CN107529708B (uk) |
AP (3) | AP4072A (uk) |
AU (11) | AU2012268951B2 (uk) |
BR (4) | BR122020024986B1 (uk) |
CA (2) | CA2839560C (uk) |
CL (2) | CL2013003601A1 (uk) |
CO (2) | CO6852031A2 (uk) |
CY (1) | CY1124687T1 (uk) |
DK (5) | DK3343781T3 (uk) |
ES (5) | ES2897209T3 (uk) |
FI (2) | FI3930330T3 (uk) |
HK (17) | HK1197128A1 (uk) |
HR (1) | HRP20220272T1 (uk) |
HU (5) | HUE062605T2 (uk) |
IL (17) | IL305221B2 (uk) |
LT (4) | LT2721819T (uk) |
MX (7) | MX364201B (uk) |
MY (3) | MY202391A (uk) |
PH (15) | PH12018500331A1 (uk) |
PL (5) | PL2721822T3 (uk) |
PT (5) | PT2721822T (uk) |
RS (4) | RS63053B1 (uk) |
RU (7) | RU2615681C2 (uk) |
SI (4) | SI2721819T1 (uk) |
UA (2) | UA115186C2 (uk) |
WO (3) | WO2012172113A1 (uk) |
ZA (2) | ZA201400029B (uk) |
Families Citing this family (228)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BR122020008249B1 (pt) | 2010-04-13 | 2021-02-17 | Ge Video Compression, Llc | herança em amostra de arranjo em subdivisão multitree |
CN106231337B (zh) | 2010-04-13 | 2020-06-19 | Ge视频压缩有限责任公司 | 解码器、解码方法、编码器以及编码方法 |
CN106067983B (zh) | 2010-04-13 | 2019-07-12 | Ge视频压缩有限责任公司 | 解码数据流的方法、生成数据流的方法及解码器 |
EP3703369B1 (en) | 2010-04-13 | 2024-07-24 | GE Video Compression, LLC | Sample region merging |
US9288089B2 (en) | 2010-04-30 | 2016-03-15 | Ecole Polytechnique Federale De Lausanne (Epfl) | Orthogonal differential vector signaling |
US9985634B2 (en) | 2010-05-20 | 2018-05-29 | Kandou Labs, S.A. | Data-driven voltage regulator |
US9251873B1 (en) | 2010-05-20 | 2016-02-02 | Kandou Labs, S.A. | Methods and systems for pin-efficient memory controller interface using vector signaling codes for chip-to-chip communications |
US9288082B1 (en) | 2010-05-20 | 2016-03-15 | Kandou Labs, S.A. | Circuits for efficient detection of vector signaling codes for chip-to-chip communication using sums of differences |
US9077386B1 (en) | 2010-05-20 | 2015-07-07 | Kandou Labs, S.A. | Methods and systems for selection of unions of vector signaling codes for power and pin efficient chip-to-chip communication |
US8593305B1 (en) | 2011-07-05 | 2013-11-26 | Kandou Labs, S.A. | Efficient processing and detection of balanced codes |
US9246713B2 (en) | 2010-05-20 | 2016-01-26 | Kandou Labs, S.A. | Vector signaling with reduced receiver complexity |
WO2011151469A1 (en) | 2010-06-04 | 2011-12-08 | Ecole Polytechnique Federale De Lausanne | Error control coding for orthogonal differential vector signaling |
US20120182388A1 (en) * | 2011-01-18 | 2012-07-19 | Samsung Electronics Co., Ltd. | Apparatus and method for processing depth image |
CN107529708B (zh) | 2011-06-16 | 2019-05-07 | Ge视频压缩有限责任公司 | 解码器、编码器、解码和编码视频的方法及存储介质 |
PL3309969T3 (pl) | 2011-06-24 | 2023-09-18 | Sun Patent Trust | Sposób i urządzenie kodujące obraz |
ES2711671T3 (es) | 2011-06-28 | 2019-05-06 | Samsung Electronics Co Ltd | Procedimiento de decodificación de vídeo usando decodificación |
US11647197B2 (en) * | 2011-06-30 | 2023-05-09 | Velos Media, Llc | Context initialization based on slice header flag and slice type |
UA114674C2 (uk) | 2011-07-15 | 2017-07-10 | ДЖ.І. ВІДІЕУ КЕМПРЕШН, ЛЛСі | Ініціалізація контексту в ентропійному кодуванні |
EP4152749B1 (en) | 2011-07-15 | 2024-04-10 | GE Video Compression, LLC | Sample array coding for low-delay |
CN106101727B (zh) | 2011-08-04 | 2019-10-08 | 寰发股份有限公司 | 基于上下文自适应二进制算术编码的方法及装置 |
EP2740263B1 (en) * | 2011-09-16 | 2019-02-27 | HFI Innovation Inc. | Method and apparatus for prediction mode and partition mode syntax coding for coding units in hevc |
WO2013050612A1 (en) * | 2011-10-06 | 2013-04-11 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Entropy coding buffer arrangement |
US20130101047A1 (en) * | 2011-10-19 | 2013-04-25 | Sony Corporation | Context reduction of significance map coding of 4x4 and 8x8 transform coefficient in hm4.0 |
US9871537B2 (en) * | 2011-10-27 | 2018-01-16 | Qualcomm Incorporated | Mapping states in binary arithmetic coder for video coding |
US9484952B2 (en) | 2011-11-03 | 2016-11-01 | Qualcomm Incorporated | Context state and probability initialization for context adaptive entropy coding |
IN2014CN03598A (uk) * | 2011-11-04 | 2015-07-31 | Sharp Kk | |
KR20130050403A (ko) * | 2011-11-07 | 2013-05-16 | 오수미 | 인터 모드에서의 복원 블록 생성 방법 |
US9503717B2 (en) | 2012-01-09 | 2016-11-22 | Texas Instruments Incorporated | Context adaptive binary arithmetic coding (CABAC) with scalable throughput and coding efficiency |
WO2013106987A1 (en) * | 2012-01-16 | 2013-07-25 | Mediatek Singapore Pte. Ltd. | Methods and apparatuses of bypass coding and reducing contexts for some syntax elements |
US20130188698A1 (en) * | 2012-01-19 | 2013-07-25 | Qualcomm Incorporated | Coefficient level coding |
US9866829B2 (en) * | 2012-01-22 | 2018-01-09 | Qualcomm Incorporated | Coding of syntax elements that correspond to coefficients of a coefficient block in video coding |
US10158855B2 (en) * | 2012-03-08 | 2018-12-18 | Sun Patent Trust | Image decoding method, and image decoding apparatus using a selected context related to neighboring coefficients |
US11039138B1 (en) | 2012-03-08 | 2021-06-15 | Google Llc | Adaptive coding of prediction modes using probability distributions |
US9237344B2 (en) * | 2012-03-22 | 2016-01-12 | Qualcomm Incorporated | Deriving context for last position coding for video coding |
US9584802B2 (en) | 2012-04-13 | 2017-02-28 | Texas Instruments Incorporated | Reducing context coded and bypass coded bins to improve context adaptive binary arithmetic coding (CABAC) throughput |
US9621921B2 (en) | 2012-04-16 | 2017-04-11 | Qualcomm Incorporated | Coefficient groups and coefficient coding for coefficient scans |
AU2013264361B2 (en) | 2012-05-25 | 2017-01-05 | Sun Patent Trust | Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device |
CA2841112C (en) | 2012-05-25 | 2019-09-17 | Panasonic Corporation | Moving picture coding and decoding using context adaptive binary arithmetic coding with fixed probability for some sample adaptive offset parameters |
WO2013175736A1 (ja) * | 2012-05-25 | 2013-11-28 | パナソニック株式会社 | 動画像符号化方法、動画像符号化装置、動画像復号方法、動画像復号装置、および、動画像符号化復号装置 |
WO2013183232A1 (ja) | 2012-06-04 | 2013-12-12 | パナソニック株式会社 | 動画像符号化方法、動画像符号化装置、動画像復号方法、および、動画像復号装置 |
DE102012224060A1 (de) * | 2012-12-20 | 2014-06-26 | Robert Bosch Gmbh | Verfahren zur Datenübertragung für ein Batteriemanagementsystem |
CN104995612B (zh) | 2013-01-17 | 2020-01-03 | 康杜实验室公司 | 低同步开关噪声芯片间通信方法和系统 |
WO2014124450A1 (en) | 2013-02-11 | 2014-08-14 | Kandou Labs, S.A. | Methods and systems for high bandwidth chip-to-chip communications interface |
CN104053007B (zh) * | 2013-03-15 | 2019-05-07 | 乐金电子(中国)研究开发中心有限公司 | 深度图像帧内编码模式索引值配置方法及装置 |
GB2513111A (en) | 2013-04-08 | 2014-10-22 | Sony Corp | Data encoding and decoding |
KR102241045B1 (ko) | 2013-04-16 | 2021-04-19 | 칸도우 랩스 에스에이 | 고 대역폭 통신 인터페이스를 위한 방법 및 시스템 |
BR112015031918A2 (pt) | 2013-06-25 | 2017-07-25 | Numeri Ltd | aumento de resolução espaço-temporal de múltiplos níveis de vídeo |
EP2997704B1 (en) | 2013-06-25 | 2020-12-16 | Kandou Labs S.A. | Vector signaling with reduced receiver complexity |
US10021419B2 (en) * | 2013-07-12 | 2018-07-10 | Qualcomm Incorported | Rice parameter initialization for coefficient level coding in video coding process |
US20150098504A1 (en) * | 2013-10-09 | 2015-04-09 | Qualcomm Incorporated | Block vector coding for intra block copying |
US10270590B2 (en) | 2013-12-16 | 2019-04-23 | Mcafee, Llc | Process efficient preprocessing for any encryption standard |
GB2521828A (en) | 2013-12-23 | 2015-07-08 | Sony Corp | Data encoding and decoding |
WO2015100522A1 (en) * | 2013-12-30 | 2015-07-09 | Mediatek Singapore Pte. Ltd. | Methods for inter-component residual prediction |
US9806761B1 (en) | 2014-01-31 | 2017-10-31 | Kandou Labs, S.A. | Methods and systems for reduction of nearest-neighbor crosstalk |
CN105993151B (zh) | 2014-02-02 | 2019-06-21 | 康杜实验室公司 | 低isi比低功率芯片间通信方法和装置 |
US9787799B2 (en) | 2014-02-27 | 2017-10-10 | Dropbox, Inc. | Systems and methods for managing content items having multiple resolutions |
US10885104B2 (en) * | 2014-02-27 | 2021-01-05 | Dropbox, Inc. | Systems and methods for selecting content items to store and present locally on a user device |
EP3672176B1 (en) | 2014-02-28 | 2022-05-11 | Kandou Labs, S.A. | Clock-embedded vector signaling codes |
US9509437B2 (en) | 2014-05-13 | 2016-11-29 | Kandou Labs, S.A. | Vector signaling code with improved noise margin |
US20150334425A1 (en) * | 2014-05-14 | 2015-11-19 | Blackberry Limited | Adaptive context initialization |
US9148087B1 (en) | 2014-05-16 | 2015-09-29 | Kandou Labs, S.A. | Symmetric is linear equalization circuit with increased gain |
WO2015184069A1 (en) | 2014-05-28 | 2015-12-03 | Arris Enterprises, Inc. | Acceleration of context adaptive binary arithmetic coding (cabac) in video codecs |
US9337862B2 (en) | 2014-06-09 | 2016-05-10 | Tidal Systems, Inc. | VLSI efficient Huffman encoding apparatus and method |
US9852806B2 (en) | 2014-06-20 | 2017-12-26 | Kandou Labs, S.A. | System for generating a test pattern to detect and isolate stuck faults for an interface using transition coding |
US9930341B2 (en) * | 2014-06-20 | 2018-03-27 | Qualcomm Incorporated | Block vector coding for intra block copying |
US9112550B1 (en) | 2014-06-25 | 2015-08-18 | Kandou Labs, SA | Multilevel driver for high speed chip-to-chip communications |
US9854253B2 (en) * | 2014-06-30 | 2017-12-26 | Qualcomm Incorporated | Method for motion vector difference (MVD) and intra block copy vector difference (BVD) coding of screen content video data |
US9900186B2 (en) | 2014-07-10 | 2018-02-20 | Kandou Labs, S.A. | Vector signaling codes with increased signal to noise characteristics |
US9432082B2 (en) | 2014-07-17 | 2016-08-30 | Kandou Labs, S.A. | Bus reversable orthogonal differential vector signaling codes |
KR101943048B1 (ko) | 2014-07-21 | 2019-01-28 | 칸도우 랩스 에스에이 | 다분기 데이터 전송 |
CN110008166B (zh) | 2014-08-01 | 2023-07-18 | 康杜实验室公司 | 带内嵌时钟的正交差分向量信令码 |
US10283091B2 (en) * | 2014-10-13 | 2019-05-07 | Microsoft Technology Licensing, Llc | Buffer optimization |
CN105578180B (zh) * | 2014-10-16 | 2019-01-15 | 联想(北京)有限公司 | 一种编码方法及装置 |
US9674014B2 (en) | 2014-10-22 | 2017-06-06 | Kandou Labs, S.A. | Method and apparatus for high speed chip-to-chip communications |
CN104392725A (zh) * | 2014-12-02 | 2015-03-04 | 中科开元信息技术(北京)有限公司 | 多声道无损音频混合编解码方法及装置 |
US10097833B2 (en) | 2014-12-26 | 2018-10-09 | Intel Corporation | Method and system of entropy coding using look-up table based probability updating for video coding |
CN107211136B (zh) * | 2015-01-30 | 2019-10-29 | 联发科技股份有限公司 | 具有大字母表的源样本的熵编码与熵解码的方法 |
US9942551B2 (en) * | 2015-01-30 | 2018-04-10 | Qualcomm Incorporated | Palette index grouping for video coding |
EP3254465A1 (en) * | 2015-02-05 | 2017-12-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Multi-view video codec supporting residual prediction |
US9930378B2 (en) * | 2015-02-11 | 2018-03-27 | Qualcomm Incorporated | Signaling of operation points for carriage of HEVC extensions |
US10200711B2 (en) | 2015-03-27 | 2019-02-05 | Qualcomm Incorporated | Motion vector derivation in video coding |
WO2016161967A1 (en) | 2015-04-08 | 2016-10-13 | Mediatek Inc. | Methods of palette mode coding in video coding |
CN107810632B (zh) * | 2015-05-06 | 2020-06-23 | Ng编译码器股份有限公司 | 具有降低代价的块分割和细化的帧内模式选择的帧内预测处理器 |
KR102051200B1 (ko) * | 2015-05-19 | 2019-12-02 | 미디어텍 인크. | 다중 테이블 기반의 컨텍스트 적응 이진 산술 코딩을 위한 방법 및 장치 |
CN113225159B (zh) | 2015-06-26 | 2024-06-07 | 康杜实验室公司 | 高速通信系统 |
KR20240000649A (ko) * | 2015-08-24 | 2024-01-02 | 엘지전자 주식회사 | 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 |
WO2017041271A1 (en) * | 2015-09-10 | 2017-03-16 | Mediatek Singapore Pte. Ltd. | Efficient context modeling for coding a block of data |
ES2710234B1 (es) * | 2015-09-11 | 2020-03-09 | Kt Corp | Procedimiento y dispositivo para procesar señales de vídeo |
US10158874B2 (en) * | 2015-09-30 | 2018-12-18 | Apple Inc. | Parallel bypass and regular bin coding |
US10198355B2 (en) | 2015-10-29 | 2019-02-05 | Dropbox, Inc. | Proving a dynamic digital content cache |
US10440399B2 (en) * | 2015-11-13 | 2019-10-08 | Qualcomm Incorporated | Coding sign information of video data |
US10055372B2 (en) | 2015-11-25 | 2018-08-21 | Kandou Labs, S.A. | Orthogonal differential vector signaling codes with embedded clock |
WO2017132292A1 (en) | 2016-01-25 | 2017-08-03 | Kandou Labs, S.A. | Voltage sampler driver with enhanced high-frequency gain |
FR3047379A1 (fr) * | 2016-01-29 | 2017-08-04 | Orange | Procede de codage et decodage de donnees, dispositif de codage et decodage de donnees et programmes d'ordinateur correspondants |
US10791097B2 (en) | 2016-04-14 | 2020-09-29 | Sophos Limited | Portable encryption format |
US10573324B2 (en) | 2016-02-24 | 2020-02-25 | Dolby International Ab | Method and system for bit reservoir control in case of varying metadata |
US10003454B2 (en) | 2016-04-22 | 2018-06-19 | Kandou Labs, S.A. | Sampler with low input kickback |
EP3446403B1 (en) | 2016-04-22 | 2021-01-06 | Kandou Labs S.A. | High performance phase locked loop |
CN109313622B (zh) | 2016-04-28 | 2022-04-15 | 康杜实验室公司 | 用于密集路由线组的向量信令码 |
US10153591B2 (en) | 2016-04-28 | 2018-12-11 | Kandou Labs, S.A. | Skew-resistant multi-wire channel |
EP3449606A4 (en) | 2016-04-28 | 2019-11-27 | Kandou Labs S.A. | LOW POWER MULTILAYER ATTACK CIRCUIT |
US10708164B2 (en) * | 2016-05-03 | 2020-07-07 | Qualcomm Incorporated | Binarizing secondary transform index |
US10142652B2 (en) * | 2016-05-05 | 2018-11-27 | Google Llc | Entropy coding motion vector residuals obtained using reference motion vectors |
FR3054764B1 (fr) * | 2016-07-28 | 2018-07-27 | B<>Com | Procede de decodage d'une image, procede de codage, dispositifs, equipement terminal et programmes d'ordinateurs associes |
WO2018030293A1 (ja) * | 2016-08-10 | 2018-02-15 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法及び復号方法 |
US9906358B1 (en) | 2016-08-31 | 2018-02-27 | Kandou Labs, S.A. | Lock detector for phase lock loop |
US10411922B2 (en) | 2016-09-16 | 2019-09-10 | Kandou Labs, S.A. | Data-driven phase detector element for phase locked loops |
US10419781B2 (en) * | 2016-09-20 | 2019-09-17 | Qualcomm Incorporated | Storing and retrieving high bit depth image data |
US10264264B2 (en) * | 2016-09-24 | 2019-04-16 | Apple Inc. | Multi-bin decoding systems and methods |
US11356693B2 (en) * | 2016-09-29 | 2022-06-07 | Qualcomm Incorporated | Motion vector coding for video coding |
US10462462B2 (en) * | 2016-09-29 | 2019-10-29 | Qualcomm Incorporated | Motion vector difference coding technique for video coding |
CN106231318B (zh) * | 2016-09-30 | 2020-04-28 | 浙江宇视科技有限公司 | 一种基于量化变换系数的视频加扰方法及装置 |
PE20191058A1 (es) * | 2016-10-11 | 2019-08-06 | Genomsys Sa | Metodo y sistema para el acceso selectivo de datos bioinformaticos almacenados o transmitidos |
US10200188B2 (en) | 2016-10-21 | 2019-02-05 | Kandou Labs, S.A. | Quadrature and duty cycle error correction in matrix phase lock loop |
US10200218B2 (en) | 2016-10-24 | 2019-02-05 | Kandou Labs, S.A. | Multi-stage sampler with increased gain |
US10372665B2 (en) | 2016-10-24 | 2019-08-06 | Kandou Labs, S.A. | Multiphase data receiver with distributed DFE |
CN110100440B (zh) * | 2016-12-22 | 2023-04-25 | 株式会社Kt | 一种用于对视频进行解码、编码的方法 |
US11240526B2 (en) | 2017-01-02 | 2022-02-01 | Industry-University Cooperation Foundation Hanyang University | Method and apparatus for decoding image using interpicture prediction |
WO2018128222A1 (ko) * | 2017-01-03 | 2018-07-12 | 엘지전자 주식회사 | 영상 코딩 시스템에서 영상 디코딩 방법 및 장치 |
US10757412B2 (en) | 2017-01-03 | 2020-08-25 | Avago Technologies International Sales Pte. Limited | Architecture flexible binary arithmetic coding system |
KR20180087771A (ko) * | 2017-01-25 | 2018-08-02 | 삼성전자주식회사 | 엔트로피 인코더 및 이를 포함하는 비디오 인코더 |
US10595033B2 (en) | 2017-02-15 | 2020-03-17 | Sony Corporation | Variable length coding of header data for image compression |
KR102450863B1 (ko) * | 2017-03-22 | 2022-10-05 | 에스케이텔레콤 주식회사 | 움직임벡터를 부호화 또는 복호화하기 위한 장치 및 방법 |
US10554988B2 (en) * | 2017-03-22 | 2020-02-04 | Qualcomm Incorporated | Binary arithmetic coding with parameterized probability estimation finite state machines |
CA3222632A1 (en) | 2017-04-13 | 2018-10-18 | Lg Electronics Inc. | Method and device for entropy encoding and decoding video signal |
EP4216444A1 (en) | 2017-04-14 | 2023-07-26 | Kandou Labs, S.A. | Pipelined forward error correction for vector signaling code channel |
US10116468B1 (en) | 2017-06-28 | 2018-10-30 | Kandou Labs, S.A. | Low power chip-to-chip bidirectional communications |
US10686583B2 (en) | 2017-07-04 | 2020-06-16 | Kandou Labs, S.A. | Method for measuring and correcting multi-wire skew |
US10693587B2 (en) | 2017-07-10 | 2020-06-23 | Kandou Labs, S.A. | Multi-wire permuted forward error correction |
US11477492B2 (en) * | 2017-08-04 | 2022-10-18 | Google Inc. | Adaptation for entropy coding of blocks of image data |
US10203226B1 (en) | 2017-08-11 | 2019-02-12 | Kandou Labs, S.A. | Phase interpolation circuit |
US10791341B2 (en) * | 2017-10-10 | 2020-09-29 | Qualcomm Incorporated | Binary arithmetic coding with progressive modification of adaptation parameters |
US10484695B2 (en) * | 2017-10-23 | 2019-11-19 | Google Llc | Refined entropy coding for level maps |
US11039143B2 (en) * | 2017-11-20 | 2021-06-15 | Qualcomm Incorporated | Memory reduction for context initialization with temporal prediction |
EP3490253A1 (en) * | 2017-11-23 | 2019-05-29 | Thomson Licensing | Encoding and decoding methods and corresponding devices |
EP3721631A1 (en) * | 2017-12-06 | 2020-10-14 | V-Nova International Limited | Method and apparatus for decoding a received set of encoded data |
US10609421B2 (en) * | 2018-07-12 | 2020-03-31 | Google Llc | Context derivation for coefficient coding |
US10326623B1 (en) | 2017-12-08 | 2019-06-18 | Kandou Labs, S.A. | Methods and systems for providing multi-stage distributed decision feedback equalization |
US10694205B2 (en) * | 2017-12-18 | 2020-06-23 | Google Llc | Entropy coding of motion vectors using categories of transform blocks |
US10602178B1 (en) * | 2017-12-21 | 2020-03-24 | Mozilla Corporation | Systems and methods for frame context selection |
EP3503557A1 (en) * | 2017-12-22 | 2019-06-26 | Thomson Licensing | Method and apparatus for video encoding and decoding based on context switching |
US10554380B2 (en) | 2018-01-26 | 2020-02-04 | Kandou Labs, S.A. | Dynamically weighted exclusive or gate having weighted output segments for phase detection and phase interpolation |
EP4221201A1 (en) * | 2018-01-29 | 2023-08-02 | InterDigital VC Holdings, Inc. | Encoding and decoding with refinement of the reconstructed picture |
KR102566836B1 (ko) * | 2018-03-29 | 2023-08-16 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 병렬 코딩 기능들 향상을 위한 컨셉 |
TWI799785B (zh) * | 2018-03-29 | 2023-04-21 | 弗勞恩霍夫爾協會 | 視訊解碼器、視訊編碼器、用以解碼視訊內容之方法、用以編碼視訊內容之方法、電腦程式及視訊位元串流 |
US10986354B2 (en) * | 2018-04-16 | 2021-04-20 | Panasonic Intellectual Property Corporation Of America | Encoder, decoder, encoding method, and decoding method |
US10645381B2 (en) | 2018-04-30 | 2020-05-05 | Google Llc | Intra-prediction for smooth blocks in image/video |
US10630990B1 (en) * | 2018-05-01 | 2020-04-21 | Amazon Technologies, Inc. | Encoder output responsive to quality metric information |
CN108810553B (zh) * | 2018-05-02 | 2021-01-12 | 上海大学 | 一种基于稀疏化处理的移动节点监测数据序列压缩方法 |
TWI675441B (zh) * | 2018-05-14 | 2019-10-21 | 欣興電子股份有限公司 | 封裝載板結構及其製造方法 |
JP7183304B6 (ja) * | 2018-05-25 | 2022-12-20 | ライン プラス コーポレーション | 複数のチャネルを利用して動的ビットレートのビデオを配信および再生する方法およびシステム |
EP3782369B1 (en) | 2018-05-30 | 2023-08-23 | Huawei Technologies Co., Ltd. | Multi-type tree depth extension for picture boundary handling |
US10986340B2 (en) * | 2018-06-01 | 2021-04-20 | Qualcomm Incorporated | Coding adaptive multiple transform information for video coding |
US10939115B2 (en) * | 2018-06-19 | 2021-03-02 | Qualcomm Incorporated | Efficient weighted probability estimation for binary arithmetic coding |
CN108848380B (zh) * | 2018-06-20 | 2021-11-30 | 腾讯科技(深圳)有限公司 | 视频编码和解码方法、装置、计算机设备及存储介质 |
TWI728389B (zh) * | 2018-07-01 | 2021-05-21 | 大陸商北京字節跳動網絡技術有限公司 | 基於優先級的非相鄰merge設計 |
US20210274182A1 (en) * | 2018-07-02 | 2021-09-02 | Interdigital Vc Holdings, Inc. | Context-based binary arithmetic encoding and decoding |
US11051025B2 (en) * | 2018-07-13 | 2021-06-29 | Tencent America LLC | Method and apparatus for video coding |
CN108989825B (zh) * | 2018-07-18 | 2021-05-07 | 北京奇艺世纪科技有限公司 | 一种算术编码方法、装置及电子设备 |
US11218737B2 (en) | 2018-07-23 | 2022-01-04 | Google Llc | Asymmetric probability model update and entropy coding precision |
US10743029B2 (en) * | 2018-07-30 | 2020-08-11 | Tencent America LLC | Constraints on coding unit partition |
CN110809165B (zh) | 2018-08-04 | 2022-07-26 | 北京字节跳动网络技术有限公司 | 仿射的运动矢量差精度 |
US11336918B2 (en) | 2018-09-05 | 2022-05-17 | Qualcomm Incorporated | Regular coded bin reduction for coefficient coding |
CN110891180B (zh) | 2018-09-10 | 2023-11-17 | 华为技术有限公司 | 视频解码方法及视频解码器 |
CN114125467A (zh) * | 2018-09-13 | 2022-03-01 | 华为技术有限公司 | 一种预测运动信息的解码方法及装置 |
US11006150B2 (en) * | 2018-09-24 | 2021-05-11 | Tencent America LLC | Method and apparatus for video coding |
KR20240068680A (ko) * | 2018-10-05 | 2024-05-17 | 로즈데일 다이나믹스 엘엘씨 | 변환 계수 코딩 방법 및 그 장치 |
CN111010569B (zh) | 2018-10-06 | 2023-02-28 | 北京字节跳动网络技术有限公司 | Bio中的时间梯度计算的改善 |
US20200143226A1 (en) * | 2018-11-05 | 2020-05-07 | Samsung Electronics Co., Ltd. | Lossy compression of neural network activation maps |
US10983677B2 (en) | 2018-11-16 | 2021-04-20 | Dropbox, Inc. | Prefetching digital thumbnails from remote servers to client devices based on a dynamic determination of file display criteria |
US10841595B2 (en) * | 2018-11-27 | 2020-11-17 | Semiconductor Components Industries, Llc | Methods and apparatus for transform coefficient encoding and decoding |
US10917636B2 (en) * | 2018-12-03 | 2021-02-09 | Tencent America LLC | Method and apparatus for video coding |
US10904548B2 (en) * | 2018-12-06 | 2021-01-26 | Qualcomm Incorporated | Coefficient processing for video encoding and decoding |
US11323748B2 (en) | 2018-12-19 | 2022-05-03 | Qualcomm Incorporated | Tree-based transform unit (TU) partition for video coding |
CN111355958B (zh) * | 2018-12-21 | 2022-07-29 | 华为技术有限公司 | 视频解码方法及装置 |
BR112021009911A2 (pt) * | 2018-12-29 | 2021-08-17 | Huawei Technologies Co., Ltd. | codificador, decodificador e métodos correspondentes usando armazenamento de mv compacto |
JP7257524B2 (ja) | 2019-01-02 | 2023-04-13 | テレフオンアクチーボラゲット エルエム エリクソン(パブル) | ビデオエンコーディング/デコーディングシステムにおけるサイド動き精細化 |
US11032560B2 (en) * | 2019-01-17 | 2021-06-08 | Tencent America LLC | Method and apparatus for video coding without updating the HMVP table |
CN111475424B (zh) * | 2019-01-23 | 2023-07-28 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机可读存储介质 |
US11134273B2 (en) | 2019-02-14 | 2021-09-28 | Qualcomm Incorporated | Regular coded bin reduction for coefficient coding |
CN109946229B (zh) * | 2019-02-25 | 2024-07-16 | 南京文易特电子科技有限公司 | 一种香烟条包智能数字双拉线检测系统及检测方法 |
US10652581B1 (en) * | 2019-02-27 | 2020-05-12 | Google Llc | Entropy coding in image and video compression using machine learning |
US10939107B2 (en) * | 2019-03-01 | 2021-03-02 | Sony Corporation | Embedded codec circuitry for sub-block based allocation of refinement bits |
WO2020180153A1 (ko) * | 2019-03-06 | 2020-09-10 | 엘지전자 주식회사 | 인터 예측을 위한 비디오 신호의 처리 방법 및 장치 |
US11202100B2 (en) * | 2019-03-11 | 2021-12-14 | Qualcomm Incorporated | Coefficient coding for transform skip mode |
CA3133210A1 (en) * | 2019-03-12 | 2020-09-17 | Interdigital Vc Holdings, Inc. | Flexible allocation of regular bins in residual coding for video coding |
US11178399B2 (en) * | 2019-03-12 | 2021-11-16 | Qualcomm Incorporated | Probability initialization for video coding |
KR102223790B1 (ko) * | 2019-03-15 | 2021-03-05 | 삼성전자주식회사 | 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치 |
KR20220007853A (ko) * | 2019-03-18 | 2022-01-19 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 신경망의 매개변수를 압축하기 위한 방법 및 장치 |
CN109947398B (zh) * | 2019-03-25 | 2020-12-25 | 武汉轻工大学 | 三重积分求解方法、装置、终端设备及可读存储介质 |
EP3928524A4 (en) * | 2019-04-15 | 2022-06-22 | Beijing Bytedance Network Technology Co., Ltd. | TIME PREDICTION OF PARAMETERS IN A NONLINEAR ADAPTIVE LOOP FILTER |
KR20210135337A (ko) | 2019-05-14 | 2021-11-12 | 엘지전자 주식회사 | 적응적 루프 필터 기반 비디오 또는 영상 코딩 |
CN112135149B (zh) * | 2019-06-24 | 2023-07-18 | 华为技术有限公司 | 语法元素的熵编码/解码方法、装置以及编解码器 |
US11184642B2 (en) | 2019-08-02 | 2021-11-23 | Mediatek Inc. | Methods and apparatus for simplification of coding residual blocks |
CN114556927A (zh) * | 2019-08-06 | 2022-05-27 | 现代自动车株式会社 | 用于视频编码和解码的熵编码 |
EP4024869A4 (en) * | 2019-08-31 | 2023-08-16 | LG Electronics Inc. | METHOD AND DEVICE FOR ENCODING TRANSFORMATION COEFFICIENTS IN A VIDEO/IMAGE ENCODING SYSTEM |
CN114731446A (zh) * | 2019-09-24 | 2022-07-08 | 弗劳恩霍夫应用研究促进协会 | 用于信息值序列的编码概念 |
EP4035369A1 (en) * | 2019-09-24 | 2022-08-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Arithmetic encoders and decoders, video encoders and decoders, methods for encoding or decoding symbols, and methods for encoding or decoding video content |
JP7389898B2 (ja) * | 2019-10-01 | 2023-11-30 | ベイジン・ダジア・インターネット・インフォメーション・テクノロジー・カンパニー,リミテッド | 残差及び係数のコーディングの方法及び装置 |
US20230007260A1 (en) * | 2019-11-08 | 2023-01-05 | Google Llc | Probability Estimation for Video Coding |
CN112866181B (zh) * | 2019-11-28 | 2023-05-26 | 上海商汤智能科技有限公司 | 数据解码装置、加速器、以及片上系统 |
US11468601B2 (en) | 2020-01-13 | 2022-10-11 | Samsung Display Co., Ltd. | Systems and methods for scalable throughput entropy coder |
US11822902B2 (en) * | 2020-01-21 | 2023-11-21 | California Institute Of Technology | Systems and methods for performing lossless source coding |
WO2021162722A1 (en) * | 2020-02-12 | 2021-08-19 | Google Llc | Multi-context entropy coding for compression of graphs |
GB2593691B (en) * | 2020-03-30 | 2022-08-24 | Imagination Tech Ltd | Efficient encoding methods |
CN116018647A (zh) * | 2020-07-10 | 2023-04-25 | 皇家飞利浦有限公司 | 通过基于可配置机器学习的算术编码进行的基因组信息压缩 |
US11362681B2 (en) * | 2020-08-21 | 2022-06-14 | Seagate Technology Llc | One-shot state transition probability encoder and decoder |
CN112260699B (zh) * | 2020-09-15 | 2024-06-28 | 深圳拓邦股份有限公司 | 属性通讯编解码方法、编码装置、解码装置及系统 |
FR3114717B1 (fr) * | 2020-09-30 | 2023-10-13 | Fond B Com | Procédé et dispositif électronique de décodage d’un flux de données, programme d’ordinateur et flux de données associés |
US11722672B2 (en) | 2020-10-06 | 2023-08-08 | Qualcomm Incorporated | Adaptively deriving rice parameter values for high bit-depth video coding |
CN114501036A (zh) * | 2020-11-13 | 2022-05-13 | 联发科技股份有限公司 | 熵解码装置及相关熵解码方法 |
CN114727109B (zh) * | 2021-01-05 | 2023-03-24 | 腾讯科技(深圳)有限公司 | 多媒体的量化处理方法、装置及编码、解码设备 |
CN115086657A (zh) * | 2021-03-14 | 2022-09-20 | 腾讯科技(深圳)有限公司 | 视频编解码方法、装置、计算机可读介质及电子设备 |
US11356197B1 (en) | 2021-03-19 | 2022-06-07 | Kandou Labs SA | Error-tolerant forward error correction ordered set message decoder |
CN113079377B (zh) * | 2021-04-01 | 2022-09-30 | 中国科学技术大学 | 一种深度图像/视频压缩网络的训练方法 |
WO2022217245A1 (en) * | 2021-04-07 | 2022-10-13 | Innopeak Technology, Inc. | Remaining level binarization for video coding |
CN113489979A (zh) * | 2021-05-28 | 2021-10-08 | 杭州博雅鸿图视频技术有限公司 | 熵编码方法、装置、电子设备及存储介质 |
CN113422964B (zh) * | 2021-06-04 | 2024-07-30 | 绍兴市北大信息技术科创中心 | 一种串长度参数编解码方法和装置 |
WO2023023039A1 (en) * | 2021-08-17 | 2023-02-23 | Beijing Dajia Internet Information Technology Co., Ltd. | Sign prediction for block-based video coding |
US11871038B2 (en) * | 2021-09-29 | 2024-01-09 | Tencent America LLC | Techniques for constraint flag signaling for range extension with residual rice coding extension |
EP4449722A1 (en) * | 2021-12-16 | 2024-10-23 | Beijing Dajia Internet Information Technology Co., Ltd. | Sign prediction for block-based video coding |
US20230247206A1 (en) * | 2022-02-03 | 2023-08-03 | Tencent America LLC | Methods, devices, and storage medium for multi-symbol arithmetic coding |
US20230291935A1 (en) * | 2022-03-11 | 2023-09-14 | Tencent America LLC | Systems and methods for division-free probability regularization for arithmetic coding |
US20230308651A1 (en) * | 2022-03-22 | 2023-09-28 | Tencent America LLC | Systems and methods for regularization-free multi-hypothesis arithmetic coding |
WO2023195643A1 (ko) * | 2022-04-05 | 2023-10-12 | 삼성전자 주식회사 | 엔트로피 부호화 및 복호화 장치 및 그 방법 |
WO2024007090A1 (zh) * | 2022-07-04 | 2024-01-11 | 嘉兴尚坤科技有限公司 | 一种超高清视频数据编码/解码处理方法及系统 |
WO2024148491A1 (zh) * | 2023-01-09 | 2024-07-18 | Oppo广东移动通信有限公司 | 编解码方法、码流、编码器、解码器以及存储介质 |
WO2024155078A1 (ko) * | 2023-01-16 | 2024-07-25 | 주식회사 케이티 | 영상 부호화/복호화 방법 및 비트스트림을 저장하는 기록 매체 |
Family Cites Families (127)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6885864B2 (en) | 1992-03-06 | 2005-04-26 | Aircell, Inc. | Virtual private network for cellular communications |
US5381145A (en) | 1993-02-10 | 1995-01-10 | Ricoh Corporation | Method and apparatus for parallel decoding and encoding of data |
US5717394A (en) | 1993-02-10 | 1998-02-10 | Ricoh Company Ltd. | Method and apparatus for encoding and decoding data |
JPH06334993A (ja) * | 1993-03-26 | 1994-12-02 | Sony Corp | 動画像符号化又は復号化装置、並びに動きベクトルの可変長符号化及び復号化方法 |
KR970003102B1 (ko) * | 1993-09-17 | 1997-03-14 | 대우전자 주식회사 | 영상 복호기에서의 하프 픽셀 움직임 보상 회로 |
JP3560393B2 (ja) | 1995-07-06 | 2004-09-02 | 株式会社日鉱マテリアルズ | アルミニウム合金スパッタリングターゲットの製造方法 |
JP2866616B2 (ja) | 1996-06-24 | 1999-03-08 | 昇 大串 | 健康ベッド |
US5847776A (en) | 1996-06-24 | 1998-12-08 | Vdonet Corporation Ltd. | Method for entropy constrained motion estimation and coding of motion vectors with increased search range |
JPH10151789A (ja) | 1996-11-22 | 1998-06-09 | Eiji Shiozaki | 粉体飛翔式印字制御方法および印字装置 |
WO1998044479A1 (fr) * | 1997-03-31 | 1998-10-08 | Matsushita Electric Industrial Co., Ltd. | Procede de visualisation du premier plan d'images et dispositif connexe |
KR100255754B1 (ko) * | 1997-08-30 | 2000-05-01 | 전주범 | 이진 형상 신호 부호화 방법 |
CN1146245C (zh) * | 1997-12-22 | 2004-04-14 | 株式会社大宇电子 | 隔行二进制形状编码方法和装置 |
US6677868B2 (en) * | 2001-03-16 | 2004-01-13 | Sharp Laboratories Of America, Inc. | Entropy coding with adaptive syntax to replace high probability symbols with lower probabilities symbols |
US6865298B2 (en) | 2001-03-30 | 2005-03-08 | Sharp Laboratories Of America, Inc. | Compound document compression based upon neighboring pixels |
JP4125565B2 (ja) * | 2001-08-31 | 2008-07-30 | 松下電器産業株式会社 | 画像符号化方法、画像復号化方法及びその装置 |
US20030048808A1 (en) * | 2001-09-12 | 2003-03-13 | Stahl Thomas Anthony | Method and apparatus for changing received streaming content channels |
KR100765060B1 (ko) | 2001-11-09 | 2007-10-09 | 주식회사 포스코 | 침전조의 워터배출 조정장치 |
US7435543B2 (en) * | 2001-11-27 | 2008-10-14 | Animal Technology Institute Of Taiwan | Genetic markers for pig backfat thickness |
WO2003053066A1 (en) * | 2001-12-17 | 2003-06-26 | Microsoft Corporation | Skip macroblock coding |
US7003035B2 (en) * | 2002-01-25 | 2006-02-21 | Microsoft Corporation | Video coding methods and apparatuses |
JP2003348598A (ja) * | 2002-04-12 | 2003-12-05 | Seiko Epson Corp | メモリ効率のいい圧縮領域ビデオ処理のための且つ因数分解及び整数近似法を用いる高速逆動き補償のための方法並びに装置 |
JP2003319391A (ja) * | 2002-04-26 | 2003-11-07 | Sony Corp | 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム |
PT1467491E (pt) | 2002-05-02 | 2007-03-30 | Fraunhofer Ges Forschung | Codificação aritmética de coeficientes de transformação |
SI1550219T1 (sl) * | 2002-05-02 | 2009-04-30 | Fraunhofer Ges Forschung | Postopek in razvrstitev za aritmetično kodiranje in dekodiranje binarnih stanj kot tudi ustrezen računalniški program in ustrezno računalniško berljivo pomnilniško sredstvo |
JP4230188B2 (ja) * | 2002-06-06 | 2009-02-25 | パナソニック株式会社 | 可変長符号化方法および可変長復号化方法 |
US6919105B2 (en) | 2003-01-06 | 2005-07-19 | Philip Morris Usa Inc. | Continuous process for retaining solid adsorbent particles on shaped micro-cavity fibers |
US6900748B2 (en) * | 2003-07-17 | 2005-05-31 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Method and apparatus for binarization and arithmetic coding of a data value |
US6894628B2 (en) | 2003-07-17 | 2005-05-17 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | Apparatus and methods for entropy-encoding or entropy-decoding using an initialization of context variables |
US7499495B2 (en) * | 2003-07-18 | 2009-03-03 | Microsoft Corporation | Extended range motion vectors |
US20050013498A1 (en) * | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Coding of motion vector information |
US7233622B2 (en) * | 2003-08-12 | 2007-06-19 | Lsi Corporation | Reduced complexity efficient binarization method and/or circuit for motion vector residuals |
EP1513350A1 (en) * | 2003-09-03 | 2005-03-09 | Thomson Licensing S.A. | Process and arrangement for encoding video pictures |
US6771197B1 (en) | 2003-09-26 | 2004-08-03 | Mitsubishi Electric Research Laboratories, Inc. | Quantizing signals using sparse generator factor graph codes |
US7599435B2 (en) | 2004-01-30 | 2009-10-06 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Video frame encoding and decoding |
JP4241417B2 (ja) * | 2004-02-04 | 2009-03-18 | 日本ビクター株式会社 | 算術復号化装置、および算術復号化プログラム |
JP4408766B2 (ja) | 2004-07-30 | 2010-02-03 | Ntn株式会社 | Icタグ付き車輪用軸受装置 |
CN1589023A (zh) * | 2004-08-06 | 2005-03-02 | 联合信源数字音视频技术(北京)有限公司 | 一种基于上下文的多码表变长编解码方法及编解码装置 |
US7609947B2 (en) | 2004-09-10 | 2009-10-27 | Panasonic Corporation | Method and apparatus for coordinating playback from multiple video sources |
CN101052972A (zh) * | 2004-09-22 | 2007-10-10 | 液滴技术有限公司 | 多技术熵编码系统和方法 |
DE102004049156B4 (de) * | 2004-10-08 | 2006-07-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Codierschema für einen ein zeitlich veränderliches Graphikmodell darstellenden Datenstrom |
KR20060038189A (ko) * | 2004-10-29 | 2006-05-03 | 삼성전자주식회사 | 컨텍스트 기반 적응형 이진 산술 복부호화 방법 및 장치 |
KR100636229B1 (ko) * | 2005-01-14 | 2006-10-19 | 학교법인 성균관대학 | 신축형 부호화를 위한 적응적 엔트로피 부호화 및 복호화방법과 그 장치 |
KR100703760B1 (ko) | 2005-03-18 | 2007-04-06 | 삼성전자주식회사 | 시간적 레벨간 모션 벡터 예측을 이용한 비디오인코딩/디코딩 방법 및 장치 |
AU2006201490B2 (en) * | 2005-04-19 | 2008-05-22 | Samsung Electronics Co., Ltd. | Method and apparatus for adaptively selecting context model for entropy coding |
RU2336661C2 (ru) * | 2005-04-19 | 2008-10-20 | Самсунг Электроникс Ко., Лтд. | Способ и устройство адаптивного выбора контекстной модели для кодирования по энтропии |
EP1727371A1 (en) * | 2005-05-27 | 2006-11-29 | Thomson Licensing | Method for controlling the encoder output bit rate in a block-based video encoder, and corresponding video encoder apparatus |
CN1878309A (zh) * | 2005-06-08 | 2006-12-13 | 松下电器产业株式会社 | 视频编码装置 |
JP4856954B2 (ja) * | 2005-06-08 | 2012-01-18 | パナソニック株式会社 | 画像符号化装置 |
KR100683788B1 (ko) | 2005-06-25 | 2007-02-20 | 삼성에스디아이 주식회사 | 복수의 층들의 전극 라인들이 형성된 교류형 방전디스플레이 패널 |
RU2371881C1 (ru) * | 2005-07-08 | 2009-10-27 | ЭлДжи ЭЛЕКТРОНИКС ИНК. | Способ моделирования информации кодирования видеосигнала для компрессии/декомпрессии информации |
CN101223780A (zh) * | 2005-07-18 | 2008-07-16 | 三星电子株式会社 | 减少编码器和解码器之间的不匹配的视频编码方法和设备 |
CN100461863C (zh) * | 2005-08-05 | 2009-02-11 | 上海富瀚微电子有限公司 | 基于上下文自适应二进制算术解码器 |
EP1755341A1 (en) * | 2005-08-19 | 2007-02-21 | Texas Instruments Incorporated | Method of quantization of transform coefficients |
US7221296B2 (en) * | 2005-08-22 | 2007-05-22 | Streaming Networks (Pvt.) Ltd. | Method and system for fast context based adaptive binary arithmetic coding |
KR100813963B1 (ko) * | 2005-09-16 | 2008-03-14 | 세종대학교산학협력단 | 동영상의 무손실 부호화, 복호화 방법 및 장치 |
CN100403801C (zh) * | 2005-09-23 | 2008-07-16 | 联合信源数字音视频技术(北京)有限公司 | 一种基于上下文的自适应熵编/解码方法 |
CN100466739C (zh) | 2005-10-12 | 2009-03-04 | 华为技术有限公司 | Cabac解码系统及方法 |
AU2005338015C1 (en) | 2005-10-31 | 2010-11-18 | Life Spring Biotech Co., Ltd. | Scleral buckle band and method for making it |
KR100873636B1 (ko) * | 2005-11-14 | 2008-12-12 | 삼성전자주식회사 | 단일 부호화 모드를 이용하는 영상 부호화/복호화 방법 및장치 |
PL1955484T3 (pl) | 2005-11-25 | 2013-01-31 | Gregor Zebic | Aplikacja sieci domowej wykorzystująca przewodowe oraz bezprzewodowe bezpieczne łącza |
US7245242B2 (en) * | 2005-11-28 | 2007-07-17 | Conexant Systems, Inc. | Decoding systems and methods |
US7956930B2 (en) | 2006-01-06 | 2011-06-07 | Microsoft Corporation | Resampling and picture resizing operations for multi-resolution video coding and decoding |
JP4318050B2 (ja) | 2006-01-24 | 2009-08-19 | ソニー株式会社 | ワイヤレスチャンネル決定選択方法およびアクセスポイント装置 |
KR100750165B1 (ko) * | 2006-02-22 | 2007-08-17 | 삼성전자주식회사 | 압축률 향상을 위해 개선된 컨텍스트 모델 선택을 사용하는cabac 부호화 방법 및 장치, 그리고 cabac복호화 방법 및 장치 |
US20070217702A1 (en) * | 2006-03-14 | 2007-09-20 | Sung Chih-Ta S | Method and apparatus for decoding digital video stream |
US8848789B2 (en) | 2006-03-27 | 2014-09-30 | Qualcomm Incorporated | Method and system for coding and decoding information associated with video compression |
US7929608B2 (en) * | 2006-03-28 | 2011-04-19 | Sony Corporation | Method of reducing computations in intra-prediction and mode decision processes in a digital video encoder |
JP2007300455A (ja) * | 2006-05-01 | 2007-11-15 | Victor Co Of Japan Ltd | 算術符号化装置、および算術符号化装置におけるコンテキストテーブル初期化方法 |
JP2007306370A (ja) * | 2006-05-12 | 2007-11-22 | Victor Co Of Japan Ltd | 画像符号化記録装置 |
US8472527B2 (en) * | 2006-09-13 | 2013-06-25 | Texas Instruments Incorporated | Hierarchical motion estimation using original frame for sub-sampled reference |
CN101198051B (zh) * | 2006-12-07 | 2011-10-05 | 深圳艾科创新微电子有限公司 | 基于h.264的熵解码器的实现方法及装置 |
US7573405B2 (en) * | 2006-12-29 | 2009-08-11 | Texas Instruments Incorporated | System updating accumulated statistics coding variable values after multiple encodings |
US20080162432A1 (en) * | 2006-12-29 | 2008-07-03 | Wen-Shan Wang | Search table for unary k-th order exp-golomb decoder |
CN101005287A (zh) * | 2007-01-26 | 2007-07-25 | 北京中星微电子有限公司 | 提高算术编码速度的方法、系统及编码装置 |
US20080225947A1 (en) * | 2007-03-13 | 2008-09-18 | Matthias Narroschke | Quantization for hybrid video coding |
CN101115200B (zh) * | 2007-04-20 | 2010-05-19 | 西安交通大学 | 一种有效的运动矢量可伸缩编码方法 |
KR101166732B1 (ko) * | 2007-05-04 | 2012-07-19 | 퀄컴 인코포레이티드 | 추정된 코딩 비용을 이용하는 비디오 코딩 모드 선택 |
JP2008300455A (ja) | 2007-05-29 | 2008-12-11 | Sumitomo Electric Ind Ltd | パワーモジュール |
CN107105257B (zh) * | 2007-06-29 | 2020-08-28 | 威勒斯媒体国际有限公司 | 图像编码装置、图像编码方法、图像译码装置、图像译码方法 |
US8254455B2 (en) * | 2007-06-30 | 2012-08-28 | Microsoft Corporation | Computing collocated macroblock information for direct mode macroblocks |
US9648325B2 (en) * | 2007-06-30 | 2017-05-09 | Microsoft Technology Licensing, Llc | Video decoding implementations for a graphics processing unit |
KR101408698B1 (ko) | 2007-07-31 | 2014-06-18 | 삼성전자주식회사 | 가중치 예측을 이용한 영상 부호화, 복호화 방법 및 장치 |
US7839311B2 (en) * | 2007-08-31 | 2010-11-23 | Qualcomm Incorporated | Architecture for multi-stage decoding of a CABAC bitstream |
US7535387B1 (en) * | 2007-09-10 | 2009-05-19 | Xilinx, Inc. | Methods and systems for implementing context adaptive binary arithmetic coding |
CN101478672B (zh) * | 2008-01-04 | 2012-12-19 | 华为技术有限公司 | 视频编码、解码方法及装置和视频处理系统 |
EP2077550B8 (en) * | 2008-01-04 | 2012-03-14 | Dolby International AB | Audio encoder and decoder |
JP4915350B2 (ja) * | 2008-01-16 | 2012-04-11 | 日本電気株式会社 | エントロピ符号化器、映像符号化装置、映像符号化方法および映像符号化プログラム |
US8855196B2 (en) | 2008-01-22 | 2014-10-07 | Dolby Laboratories Licensing Corporation | Adaptive motion information cost estimation with dynamic look-up table updating |
US20090201983A1 (en) | 2008-02-07 | 2009-08-13 | Motorola, Inc. | Method and apparatus for estimating high-band energy in a bandwidth extension system |
JP4479829B2 (ja) | 2008-04-03 | 2010-06-09 | ソニー株式会社 | 撮像装置及び撮像方法 |
US7656320B2 (en) | 2008-04-10 | 2010-02-02 | Red Hat, Inc. | Difference coding adaptive context model using counting |
JP4962400B2 (ja) | 2008-04-30 | 2012-06-27 | ソニー株式会社 | 算術復号装置 |
US8179974B2 (en) * | 2008-05-02 | 2012-05-15 | Microsoft Corporation | Multi-level representation of reordered transform coefficients |
CN101267559A (zh) * | 2008-05-08 | 2008-09-17 | 上海交通大学 | 视频解码器的通用熵解码方法及装置 |
US20090304071A1 (en) * | 2008-06-06 | 2009-12-10 | Apple Inc. | Adaptive application of entropy coding methods |
CN101304522A (zh) * | 2008-06-20 | 2008-11-12 | 中国民航大学 | 一种以jpeg2000压缩图像为载体的大容量信息隐藏方法 |
WO2010041855A2 (en) * | 2008-10-06 | 2010-04-15 | Lg Electronics Inc. | A method and an apparatus for processing a video signal |
US7932843B2 (en) * | 2008-10-17 | 2011-04-26 | Texas Instruments Incorporated | Parallel CABAC decoding for video decompression |
US9973739B2 (en) * | 2008-10-17 | 2018-05-15 | Nokia Technologies Oy | Sharing of motion vector in 3D video coding |
EP2182732A1 (en) * | 2008-10-28 | 2010-05-05 | Panasonic Corporation | Switching between scans in image coding |
US20100127904A1 (en) | 2008-11-26 | 2010-05-27 | Horizon Semiconductors Ltd. | Implementation of a rapid arithmetic binary decoding system of a suffix length |
CA2745314A1 (en) * | 2008-12-03 | 2010-06-10 | Nokia Corporation | Switching between dct coefficient coding modes |
JP2010268094A (ja) * | 2009-05-13 | 2010-11-25 | Sony Corp | 画像復号化装置および画像復号化方法 |
JP2010278668A (ja) | 2009-05-27 | 2010-12-09 | Sony Corp | 符号化装置及び符号化方法、並びに復号装置及び復号方法 |
US9479812B2 (en) * | 2009-06-05 | 2016-10-25 | Time Warner Cable Enterprises Llc | User selection of software components in a television set-top box |
KR101678968B1 (ko) * | 2009-08-21 | 2016-11-25 | 에스케이텔레콤 주식회사 | 참조 픽처 보간 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 |
KR101377530B1 (ko) * | 2009-08-21 | 2014-03-27 | 에스케이텔레콤 주식회사 | 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치 |
CN102055483B (zh) * | 2009-10-29 | 2013-05-08 | 鸿富锦精密工业(深圳)有限公司 | 熵解码装置 |
JP5409268B2 (ja) * | 2009-10-30 | 2014-02-05 | 株式会社日立ソリューションズ | 情報提示装置及び携帯端末 |
KR20110071047A (ko) * | 2009-12-20 | 2011-06-28 | 엘지전자 주식회사 | 비디오 신호 디코딩 방법 및 장치 |
US9237355B2 (en) | 2010-02-19 | 2016-01-12 | Qualcomm Incorporated | Adaptive motion resolution for video coding |
US9973768B2 (en) | 2010-03-16 | 2018-05-15 | Texas Instruments Incorporated | CABAC decoder with decoupled arithmetic decoding and inverse binarization |
CN101841707B (zh) * | 2010-03-19 | 2012-01-04 | 西安电子科技大学 | 基于jpeg2000标准的高速实时处理算术熵编码方法 |
CN103119849B (zh) * | 2010-04-13 | 2017-06-16 | 弗劳恩霍夫应用研究促进协会 | 概率区间分割编码器和译码器 |
US20120014429A1 (en) * | 2010-07-15 | 2012-01-19 | Jie Zhao | Methods and Systems for Parallel Video Encoding and Parallel Video Decoding |
US8806050B2 (en) | 2010-08-10 | 2014-08-12 | Qualcomm Incorporated | Manifest file updates for network streaming of coded multimedia data |
CN101938654B (zh) * | 2010-08-17 | 2013-04-10 | 浙江大学 | 一种变换系数的优化量化方法及装置 |
CN101951516B (zh) * | 2010-09-25 | 2013-06-05 | 清华大学 | 基于h.264/avc中cabac的并行编码实现电路及编码方法 |
US8913666B2 (en) * | 2010-10-01 | 2014-12-16 | Qualcomm Incorporated | Entropy coding coefficients using a joint context model |
US10327008B2 (en) * | 2010-10-13 | 2019-06-18 | Qualcomm Incorporated | Adaptive motion vector resolution signaling for video coding |
JP5570437B2 (ja) * | 2011-01-12 | 2014-08-13 | 三菱電機株式会社 | エントロピー符号化装置、エントロピー復号装置、エントロピー符号化方法及びエントロピー復号方法 |
US9008181B2 (en) | 2011-01-24 | 2015-04-14 | Qualcomm Incorporated | Single reference picture list utilization for interprediction video coding |
ITTO20110414A1 (it) * | 2011-05-11 | 2012-11-12 | St Microelectronics Pvt Ltd | Procedimento ed apparecchiatura per elaborare segnali video, prodotto informatico e segnale codificato relativi |
CN107529708B (zh) * | 2011-06-16 | 2019-05-07 | Ge视频压缩有限责任公司 | 解码器、编码器、解码和编码视频的方法及存储介质 |
US9654772B2 (en) | 2012-01-19 | 2017-05-16 | Qualcomm Incorporated | Context adaptive entropy coding with a reduced initialization value set |
US9584802B2 (en) | 2012-04-13 | 2017-02-28 | Texas Instruments Incorporated | Reducing context coded and bypass coded bins to improve context adaptive binary arithmetic coding (CABAC) throughput |
US10856009B2 (en) * | 2014-09-04 | 2020-12-01 | Mediatek Inc. | Method of block vector clipping and coding for screen content coding and video coding |
-
2012
- 2012-06-18 CN CN201710694424.6A patent/CN107529708B/zh active Active
- 2012-06-18 IL IL305221A patent/IL305221B2/en unknown
- 2012-06-18 CN CN201710491640.0A patent/CN107333142B/zh active Active
- 2012-06-18 CA CA2839560A patent/CA2839560C/en active Active
- 2012-06-18 EP EP12734832.4A patent/EP2721822B1/en active Active
- 2012-06-18 CN CN201710977462.2A patent/CN107517384B/zh active Active
- 2012-06-18 EP EP24166608.0A patent/EP4407996A2/en active Pending
- 2012-06-18 CN CN201710695327.9A patent/CN107360423B/zh active Active
- 2012-06-18 BR BR122020024986-2A patent/BR122020024986B1/pt active IP Right Grant
- 2012-06-18 MX MX2017000909A patent/MX364201B/es unknown
- 2012-06-18 PL PL12734832T patent/PL2721822T3/pl unknown
- 2012-06-18 AP AP2014007360A patent/AP4072A/en active
- 2012-06-18 EP EP18203401.7A patent/EP3471415B1/en active Active
- 2012-06-18 PT PT12734832T patent/PT2721822T/pt unknown
- 2012-06-18 LT LTEPPCT/EP2012/061615T patent/LT2721819T/lt unknown
- 2012-06-18 UA UAA201600953A patent/UA115186C2/uk unknown
- 2012-06-18 ES ES18203401T patent/ES2897209T3/es active Active
- 2012-06-18 KR KR1020147001047A patent/KR101662136B1/ko active IP Right Grant
- 2012-06-18 ES ES21189232T patent/ES2953667T3/es active Active
- 2012-06-18 AP AP2016009618A patent/AP2016009618A0/en unknown
- 2012-06-18 JP JP2014515230A patent/JP5925884B2/ja active Active
- 2012-06-18 PL PL18152613T patent/PL3343781T3/pl unknown
- 2012-06-18 CN CN201710694354.4A patent/CN107529704B/zh active Active
- 2012-06-18 AU AU2012268951A patent/AU2012268951B2/en active Active
- 2012-06-18 KR KR1020197018337A patent/KR102160647B1/ko active IP Right Grant
- 2012-06-18 EP EP21189232.8A patent/EP3930330B1/en active Active
- 2012-06-18 ES ES12734832T patent/ES2704627T3/es active Active
- 2012-06-18 LT LTEP21189232.8T patent/LT3930330T/lt unknown
- 2012-06-18 CN CN201710694799.2A patent/CN107529710B/zh active Active
- 2012-06-18 UA UAA201701791A patent/UA123987C2/uk unknown
- 2012-06-18 PT PT211892328T patent/PT3930330T/pt unknown
- 2012-06-18 ES ES18152613T patent/ES2906869T3/es active Active
- 2012-06-18 KR KR1020187000824A patent/KR101994869B1/ko active IP Right Grant
- 2012-06-18 WO PCT/EP2012/061613 patent/WO2012172113A1/en active Application Filing
- 2012-06-18 PL PL12728084.0T patent/PL2721819T3/pl unknown
- 2012-06-18 EP EP21211399.7A patent/EP4033672A1/en active Pending
- 2012-06-18 CN CN201710694425.0A patent/CN107529709B/zh active Active
- 2012-06-18 CN CN201710694423.1A patent/CN107529707B/zh active Active
- 2012-06-18 CN CN201280039832.3A patent/CN103733622B/zh active Active
- 2012-06-18 CN CN201710965903.7A patent/CN107613307B/zh active Active
- 2012-06-18 HU HUE21189232A patent/HUE062605T2/hu unknown
- 2012-06-18 IL IL297827A patent/IL297827B2/en unknown
- 2012-06-18 MY MYPI2018001555A patent/MY202391A/en unknown
- 2012-06-18 HU HUE12734832A patent/HUE042350T2/hu unknown
- 2012-06-18 CN CN201710694395.3A patent/CN107529706B/zh active Active
- 2012-06-18 JP JP2014515229A patent/JP6059212B2/ja active Active
- 2012-06-18 HR HRP20220272TT patent/HRP20220272T1/hr unknown
- 2012-06-18 KR KR1020227029290A patent/KR102631388B1/ko active IP Right Grant
- 2012-06-18 CN CN201710694392.XA patent/CN107529705B/zh active Active
- 2012-06-18 LT LTEP18203401.7T patent/LT3471415T/lt unknown
- 2012-06-18 KR KR1020207034609A patent/KR102437504B1/ko active IP Right Grant
- 2012-06-18 WO PCT/EP2012/061614 patent/WO2012172114A1/en active Application Filing
- 2012-06-18 WO PCT/EP2012/061615 patent/WO2012172115A1/en active Application Filing
- 2012-06-18 EP EP23177778.0A patent/EP4277276A1/en active Pending
- 2012-06-18 DK DK18152613.8T patent/DK3343781T3/da active
- 2012-06-18 KR KR1020207015415A patent/KR102254000B1/ko active IP Right Grant
- 2012-06-18 HU HUE18203401A patent/HUE056273T2/hu unknown
- 2012-06-18 IL IL299953A patent/IL299953B2/en unknown
- 2012-06-18 MX MX2013014868A patent/MX2013014868A/es active IP Right Grant
- 2012-06-18 CN CN201280039896.3A patent/CN103931194B/zh active Active
- 2012-06-18 CN CN201280039922.2A patent/CN103748886B/zh active Active
- 2012-06-18 SI SI201232044T patent/SI2721819T1/sl unknown
- 2012-06-18 FI FIEP21189232.8T patent/FI3930330T3/fi active
- 2012-06-18 PL PL21189232.8T patent/PL3930330T3/pl unknown
- 2012-06-18 CN CN201710477936.7A patent/CN107465928B/zh active Active
- 2012-06-18 EP EP18152613.8A patent/EP3343781B1/en active Active
- 2012-06-18 DK DK21189232.8T patent/DK3930330T3/da active
- 2012-06-18 RU RU2014101166A patent/RU2615681C2/ru active
- 2012-06-18 IL IL309379A patent/IL309379B1/en unknown
- 2012-06-18 KR KR1020197035422A patent/KR102187981B1/ko active IP Right Grant
- 2012-06-18 RS RS20220220A patent/RS63053B1/sr unknown
- 2012-06-18 IL IL311563A patent/IL311563A/en unknown
- 2012-06-18 RU RU2016129117A patent/RU2642373C1/ru active
- 2012-06-18 MX MX2016001282A patent/MX345195B/es unknown
- 2012-06-18 AP AP2014007361A patent/AP3686A/xx active
- 2012-06-18 KR KR1020187021221A patent/KR102052471B1/ko active IP Right Grant
- 2012-06-18 RS RS20211362A patent/RS62714B1/sr unknown
- 2012-06-18 CN CN201710477937.1A patent/CN107333140B/zh active Active
- 2012-06-18 BR BR112013032333-7A patent/BR112013032333B1/pt active IP Right Grant
- 2012-06-18 BR BR112013032332-9A patent/BR112013032332B1/pt active IP Right Grant
- 2012-06-18 IL IL312098A patent/IL312098A/en unknown
- 2012-06-18 KR KR1020167026722A patent/KR101818978B1/ko active IP Right Grant
- 2012-06-18 KR KR1020167003248A patent/KR101730587B1/ko active IP Right Grant
- 2012-06-18 IL IL304856A patent/IL304856B2/en unknown
- 2012-06-18 JP JP2014515231A patent/JP5952900B2/ja active Active
- 2012-06-18 IL IL290229A patent/IL290229B2/en unknown
- 2012-06-18 ES ES12728084T patent/ES2961663T3/es active Active
- 2012-06-18 CN CN201710478537.2A patent/CN107333141B/zh active Active
- 2012-06-18 CN CN201710694391.5A patent/CN107347161B/zh active Active
- 2012-06-18 LT LTEP18152613.8T patent/LT3343781T/lt unknown
- 2012-06-18 KR KR1020247003097A patent/KR20240017975A/ko active Application Filing
- 2012-06-18 DK DK12728084.0T patent/DK2721819T3/da active
- 2012-06-18 CN CN201710694312.0A patent/CN107801042B/zh active Active
- 2012-06-18 CA CA2839569A patent/CA2839569C/en active Active
- 2012-06-18 CN CN201710694292.7A patent/CN107801025B/zh active Active
- 2012-06-18 BR BR122021000264-9A patent/BR122021000264B1/pt active IP Right Grant
- 2012-06-18 CN CN201710694268.3A patent/CN107801041B/zh active Active
- 2012-06-18 EP EP12728524.5A patent/EP2721820A1/en not_active Ceased
- 2012-06-18 PT PT181526138T patent/PT3343781T/pt unknown
- 2012-06-18 PL PL18203401T patent/PL3471415T3/pl unknown
- 2012-06-18 RU RU2017109078A patent/RU2658883C1/ru active
- 2012-06-18 DK DK18203401.7T patent/DK3471415T3/da active
- 2012-06-18 CN CN201710694930.5A patent/CN107360434B/zh active Active
- 2012-06-18 HU HUE12728084A patent/HUE063990T2/hu unknown
- 2012-06-18 RU RU2014101164/08A patent/RU2595934C2/ru active
- 2012-06-18 HU HUE18152613A patent/HUE057958T2/hu unknown
- 2012-06-18 CN CN201710477823.7A patent/CN107465926B/zh active Active
- 2012-06-18 MY MYPI2014000424A patent/MY170940A/en unknown
- 2012-06-18 EP EP24166607.2A patent/EP4407995A2/en active Pending
- 2012-06-18 IL IL252388A patent/IL252388B/en unknown
- 2012-06-18 PT PT182034017T patent/PT3471415T/pt unknown
- 2012-06-18 CN CN201710962381.5A patent/CN107517383B/zh active Active
- 2012-06-18 SI SI201231980T patent/SI3343781T1/sl unknown
- 2012-06-18 EP EP12728084.0A patent/EP2721819B1/en active Active
- 2012-06-18 FI FIEP12728084.0T patent/FI2721819T3/fi active
- 2012-06-18 RS RS20231075A patent/RS64867B1/sr unknown
- 2012-06-18 SI SI201232038T patent/SI3930330T1/sl unknown
- 2012-06-18 SI SI201231961T patent/SI3471415T1/sl unknown
- 2012-06-18 EP EP20155692.5A patent/EP3703367A1/en active Pending
- 2012-06-18 KR KR1020147000948A patent/KR101619333B1/ko active IP Right Grant
- 2012-06-18 CN CN201710962467.8A patent/CN107770559B/zh active Active
- 2012-06-18 CN CN201710477825.6A patent/CN107465927B/zh active Active
- 2012-06-18 PT PT127280840T patent/PT2721819T/pt unknown
- 2012-06-18 MX MX2013014867A patent/MX336735B/es unknown
- 2012-06-18 MY MYPI2014000425A patent/MY184473A/en unknown
- 2012-06-18 RS RS20230766A patent/RS64604B1/sr unknown
- 2012-06-18 AU AU2012268950A patent/AU2012268950B2/en active Active
- 2012-06-18 DK DK12734832.4T patent/DK2721822T3/en active
- 2012-06-18 KR KR1020177010779A patent/KR101882848B1/ko active IP Right Grant
-
2013
- 2013-12-16 US US14/108,132 patent/US9455744B2/en active Active
- 2013-12-16 MX MX2019004403A patent/MX2019004403A/es unknown
- 2013-12-16 US US14/108,173 patent/US9918090B2/en active Active
- 2013-12-16 CL CL2013003601A patent/CL2013003601A1/es unknown
- 2013-12-16 US US14/108,108 patent/US9473170B2/en active Active
- 2013-12-16 MX MX2023005265A patent/MX2023005265A/es unknown
- 2013-12-16 MX MX2023005264A patent/MX2023005264A/es unknown
- 2013-12-16 CL CL2013003603A patent/CL2013003603A1/es unknown
- 2013-12-17 IL IL230023A patent/IL230023A/en active IP Right Grant
-
2014
- 2014-01-06 ZA ZA2014/00029A patent/ZA201400029B/en unknown
- 2014-01-06 ZA ZA2014/00030A patent/ZA201400030B/en unknown
- 2014-01-12 IL IL230415A patent/IL230415A/en not_active IP Right Cessation
- 2014-01-16 CO CO14007528A patent/CO6852031A2/es active IP Right Grant
- 2014-01-16 CO CO14007521A patent/CO6852030A2/es unknown
- 2014-10-23 HK HK14110575.6A patent/HK1197128A1/xx unknown
-
2016
- 2016-04-20 JP JP2016084671A patent/JP6356723B2/ja active Active
- 2016-04-26 AU AU2016202638A patent/AU2016202638B2/en active Active
- 2016-08-16 US US15/238,294 patent/US9596475B2/en active Active
- 2016-08-16 US US15/238,523 patent/US9729883B2/en active Active
- 2016-08-23 US US15/244,126 patent/US9628827B2/en active Active
- 2016-08-23 US US15/244,156 patent/US9686568B2/en active Active
- 2016-12-08 JP JP2016238858A patent/JP6492047B2/ja active Active
- 2016-12-19 IL IL249644A patent/IL249644A/en active IP Right Grant
-
2017
- 2017-01-30 US US15/419,006 patent/US9743090B2/en active Active
- 2017-02-13 US US15/430,826 patent/US9762913B2/en active Active
- 2017-05-15 US US15/595,097 patent/US9768804B1/en active Active
- 2017-06-28 US US15/636,425 patent/US9918104B2/en active Active
- 2017-06-28 US US15/636,451 patent/US10021393B2/en active Active
- 2017-06-28 US US15/636,476 patent/US9930370B2/en active Active
- 2017-07-05 US US15/641,992 patent/US9936227B2/en active Active
- 2017-07-05 US US15/642,085 patent/US9930371B2/en active Active
- 2017-08-10 US US15/674,150 patent/US9973761B2/en active Active
- 2017-09-03 IL IL254274A patent/IL254274B/en active IP Right Grant
- 2017-09-14 AU AU2017228613A patent/AU2017228613B2/en active Active
- 2017-12-15 US US15/843,679 patent/US10057603B2/en active Active
-
2018
- 2018-01-09 RU RU2018100106A patent/RU2699677C2/ru active
- 2018-01-26 US US15/880,772 patent/US10148962B2/en active Active
- 2018-01-26 US US15/880,837 patent/US10063858B2/en active Active
- 2018-01-30 AU AU2018200699A patent/AU2018200699B2/en active Active
- 2018-02-14 PH PH12018500331A patent/PH12018500331A1/en unknown
- 2018-02-14 PH PH12018500329A patent/PH12018500329A1/en unknown
- 2018-02-14 PH PH12018500328A patent/PH12018500328B1/en unknown
- 2018-02-14 PH PH12018500330A patent/PH12018500330B1/en unknown
- 2018-02-15 PH PH12018500354A patent/PH12018500354B1/en unknown
- 2018-02-15 PH PH12018500355A patent/PH12018500355A1/en unknown
- 2018-02-15 PH PH12018500352A patent/PH12018500352A1/en unknown
- 2018-02-15 PH PH12018500351A patent/PH12018500351B1/en unknown
- 2018-02-15 PH PH12018500350A patent/PH12018500350B1/en unknown
- 2018-02-15 PH PH12018500353A patent/PH12018500353A1/en unknown
- 2018-02-15 PH PH12018500349A patent/PH12018500349A1/en unknown
- 2018-02-15 PH PH12018500356A patent/PH12018500356B1/en unknown
- 2018-02-15 PH PH12018500348A patent/PH12018500348B1/en unknown
- 2018-03-12 US US15/918,105 patent/US10440364B2/en active Active
- 2018-04-02 JP JP2018070521A patent/JP6560393B2/ja active Active
- 2018-05-02 HK HK18105679.7A patent/HK1246541A1/zh unknown
- 2018-05-02 HK HK18105680.4A patent/HK1246542A1/zh unknown
- 2018-05-02 HK HK18105678.8A patent/HK1246540A1/zh unknown
- 2018-05-03 HK HK18105710.8A patent/HK1246543A1/zh unknown
- 2018-05-03 HK HK18105749.3A patent/HK1246545A1/zh unknown
- 2018-05-24 HK HK18106770.3A patent/HK1247487A1/zh unknown
- 2018-05-24 HK HK18106785.6A patent/HK1247489A1/zh unknown
- 2018-05-24 HK HK18106776.7A patent/HK1247488A1/zh unknown
- 2018-05-25 HK HK18106812.3A patent/HK1247490A1/zh unknown
- 2018-06-03 IL IL259768A patent/IL259768A/en active IP Right Grant
- 2018-06-06 RU RU2018120845A patent/RU2758981C2/ru active
- 2018-06-10 HK HK18107525.9A patent/HK1248434B/zh unknown
- 2018-06-12 US US16/006,288 patent/US10298964B2/en active Active
- 2018-06-14 HK HK18107723.9A patent/HK1248436A1/zh unknown
- 2018-06-27 JP JP2018121555A patent/JP6867334B2/ja active Active
- 2018-06-28 HK HK18108379.4A patent/HK1248949A1/zh unknown
- 2018-06-28 HK HK18108377.6A patent/HK1248947A1/zh unknown
- 2018-06-28 HK HK18108378.5A patent/HK1248948B/zh unknown
- 2018-07-03 HK HK18108563.0A patent/HK1249313B/zh unknown
- 2018-07-04 HK HK18108644.3A patent/HK1248951A1/zh unknown
- 2018-07-17 US US16/037,914 patent/US10313672B2/en active Active
- 2018-07-20 US US16/040,764 patent/US10230954B2/en active Active
- 2018-08-14 US US16/103,266 patent/US10306232B2/en active Active
- 2018-11-19 JP JP2018216486A patent/JP6814780B2/ja active Active
-
2019
- 2019-01-02 US US16/238,013 patent/US10425644B2/en active Active
- 2019-01-18 AU AU2019200328A patent/AU2019200328B2/en active Active
- 2019-01-28 US US16/259,815 patent/US10432940B2/en active Active
- 2019-01-28 US US16/259,738 patent/US10432939B2/en active Active
- 2019-03-26 IL IL265636A patent/IL265636B/en active IP Right Grant
- 2019-04-11 PH PH12019500792A patent/PH12019500792A1/en unknown
- 2019-04-11 PH PH12019500790A patent/PH12019500790A1/en unknown
- 2019-05-30 AU AU2019203792A patent/AU2019203792B2/en active Active
- 2019-06-27 US US16/454,387 patent/US10630988B2/en active Active
- 2019-06-27 US US16/454,247 patent/US10630987B2/en active Active
- 2019-08-28 RU RU2019127048A patent/RU2755020C2/ru active
- 2019-11-25 US US16/693,886 patent/US10819982B2/en active Active
-
2020
- 2020-01-31 US US16/778,048 patent/US11533485B2/en active Active
- 2020-05-05 US US16/867,149 patent/US11277614B2/en active Active
- 2020-10-23 JP JP2020178469A patent/JP7231594B2/ja active Active
-
2021
- 2021-04-08 JP JP2021065563A patent/JP7100836B2/ja active Active
- 2021-06-02 IL IL283649A patent/IL283649B/en unknown
- 2021-07-29 AU AU2021209284A patent/AU2021209284B2/en active Active
- 2021-11-03 CY CY20211100947T patent/CY1124687T1/el unknown
-
2022
- 2022-02-01 US US17/590,596 patent/US11838511B2/en active Active
- 2022-06-30 IL IL294454A patent/IL294454B2/en unknown
- 2022-09-09 US US17/930,997 patent/US12069267B2/en active Active
- 2022-09-19 AU AU2022235513A patent/AU2022235513B2/en active Active
- 2022-11-07 US US18/053,219 patent/US20230188719A1/en active Pending
-
2023
- 2023-02-16 JP JP2023022627A patent/JP7464768B2/ja active Active
- 2023-06-16 AU AU2023203785A patent/AU2023203785B2/en active Active
- 2023-10-06 US US18/482,683 patent/US20240048708A1/en active Pending
-
2024
- 2024-03-15 AU AU2024201731A patent/AU2024201731B2/en active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
UA123987C2 (uk) | Ініціалізація контексту в ентропійному кодуванні | |
RU2820857C2 (ru) | Энтропийное кодирование разностей векторов движения | |
RU2779898C1 (ru) | Инициализация контекста при энтропийном кодировании | |
UA124408C2 (uk) | Декодер і кодер, спосіб декодування і кодування відеоданих, здатний до читання носій даних для виконання декодування і кодування, а також носій цифрових даних, що зберігає потік даних |