Статистичне кодування коефіцієнтів, використовуючи об'єднану контекстну модель

 

ОБЛАСТЬ ТЕХНІКИ

[0001] Даний винахід відноситься до кодування відео і, більш конкретно, статистичного кодування для кодування відео.

РІВЕНЬ ТЕХНІКИ

[0002] Цифрові можливості відео можуть бути вбудовані в широкий діапазон пристроїв, включаючи цифрові телевізори, цифрові системи прямого мовлення, бездротові системи мовлення, персональні цифрові помічники (PDA), ноутбуки, настільні комп'ютери, цифрові камери, цифрові пристрої запису, цифрові медіа програвачі, відеоігрові пристрою, відеоігрові консолі, стільникові або супутникові радіотелефони, пристрої відео організації телеконференцій, і т. п. Цифрові відео пристрої реалізують способи стиснення відео, такі як описані в стандартах, визначених MPEG-2, MPEG-4, ITU-T H. 263, ITU-T H. 264/MPEG-4 part 10, Удосконалене кодування відео (AVC), або знаходить в стадії становлення стандарт кодування відео високої ефективності (HEVC), і розширення таких стандартів.

[0003] Способи стиснення відео виконують просторове передбачення та/або тимчасове застереження, щоб зменшити або видалити надмірність, притаманну послідовності відео. Для заснованого на блоках кодування відео, кадр відео або вирізка мов передбачення (PU), щоб визначити прогнозують дані відео для CU. Способи стиснення відео можуть також розділити CU в один або більше блоків перетворення (TU) блоків залишкових даних відео, які становлять різницю між блоком відео, який повинен бути закодований, і прогнозирующими даними відео. Лінійні перетворення, такі як двовимірне дискретне косинусне перетворення (DCT), можуть бути застосовані до TU, щоб перетворити блоки залишкових даних відео з піксельної області в частотну область, щоб досягти подальшого стиснення.

[0004] Після перетворення коефіцієнти перетворення в TU можуть бути далі стиснуті допомогою квантування. Після квантування модуль статистичного кодування може застосовувати зигзагоподібний перегляд або інший порядок перегляду, асоційований з розміром TU, щоб переглянути двовимірне безліч коефіцієнтів TU, щоб сформувати перетворений в послідовну форму вектор, який може бути статистично кодирован. Модуль статистичного кодування потім статистично кодує перетворений в послідовну форму вектор коефіцієнтів. Наприклад, модуль статистичного кодування може виконати контекстно-адаптивне кодування�ий спосіб статистичного кодування. У разі контекстно-адаптивного статистичного кодування модуль статистичного кодування може вибрати контексти для кожного з коефіцієнтів TU згідно контекстної моделі, асоційованої з розміром TU. Коефіцієнти можуть потім бути статистично закодовані на підставі обраних контекстів.

СУТНІСТЬ ВИНАХОДУ

[0005] В цілому даний винахід описує способи для виконання статистичного кодування і декодування коефіцієнтів перетворення, асоційованих з блоком залишкових даних відео, використовуючи об'єднану контекстну модель, спільно використовувану між блоками перетворення, що мають різні розміри. Наприклад, об'єднана контекстна модель може бути спільно використана між блоками перетворення, що мають перший розмір 32x32, і блоками перетворення, що мають другий розмір 16x16. В деяких випадках більше ніж два розміру блоків перетворення можуть спільно використовувати одну і ту ж об'єднану контекстну модель. В якості одного прикладу, об'єднана контекстна модель може бути об'єднаної контекстною моделлю карти значущості для блоку перетворення. В інших прикладах об'єднана контекстна модель може�ії становлення стандарті кодування відео з високою ефективністю (HEVC), блок кодування (CU) може включати в себе один або більше блоків перетворення (TU), які включають в себе залишкові дані відео для перетворення. Додаткові розміри блоку перетворення, наприклад, 32x32 аж до 128x128, було запропоновано, щоб поліпшити ефективність кодування відео, але також і призвели до збільшеної пам'яті і обчислювальних вимогам для підтримки контекстної моделі для кожного з додаткових розмірів блоку перетворення. Виконання статистичного кодування, використовуючи об'єднану контекстну модель, спільно використовувану між блоками перетворення, що мають різні розміри, може зменшити обсяг пам'яті, необхідної, щоб зберегти контексти і ймовірності на пристроях кодування і декодування відео, та зменшити обчислювальні витрати підтримки контекстних моделей пристроїв кодування і декодування відео.

[0007] У деяких прикладах способи можуть також зменшити вимоги проміжної буферизації для великих розмірів блоку перетворення при виконанні двовимірних перетворень. У цьому випадку способи включають в себе обнулення, тобто, встановлення значень в нуль, поднабора більш високочастотних коефіцієнтів�мірного перетворення, щоб згенерувати блок решти коефіцієнтів. У цьому прикладі об'єднана контекстна модель для статистичного кодування може бути спільно використана між блоком перетворення, що мають перший розмір, з коефіцієнтами, обнуленними, щоб генерувати блок решти коефіцієнтів, і блоком перетворення, спочатку мають другий розмір. У деяких випадках блок решти коефіцієнтів може мати розмір, що дорівнює другого розміру. В інших прикладах об'єднана контекстна модель для статистичного кодування може бути спільно використана між блоком перетворення, що мають перший розмір, і блоком перетворення, що мають другий розмір.

[0008] В одному прикладі винахід описує спосіб декодування відео даних, що містить підтримку об'єднаної контекстної моделі, що використовується спільно блоком перетворення, що мають перший розмір, з коефіцієнтами, які є обнуленними, щоб генерувати блок решти коефіцієнтів, і блоком перетворення, що мають другий розмір, в якому перший розмір і другий розмір різні. Спосіб також включає в себе вибір контекстів для коефіцієнтів, асоційованих з блоком перетворення, имеѵкстной моделі, і статистичне кодування коефіцієнтів, асоційованих з блоком перетворення відповідно до процесу кодування на підставі обраних контекстів.

[0009] В іншому прикладі винахід описує пристрій кодування відео, що містить пам'ять, яка зберігає об'єднану контекстну модель, яка спільно використовується блоком перетворення, що мають перший розмір, з коефіцієнтами, які є обнуленними, щоб генерувати блок решти коефіцієнтів, і блоком перетворення, що мають другий розмір, при цьому перший розмір і другий розмір різні. Пристрій кодування відео далі включає в себе процесор, конфігурується, щоб підтримувати об'єднану контекстну модель, вибирати контексти для коефіцієнтів, асоційованих з блоком перетворення, які мають один із першого розміру з блоком решти коефіцієнтів і другого розміру, згідно об'єднаної контекстної моделі, і статистично кодувати коефіцієнти, асоційовані з блоком перетворення, відповідно до процесу кодування, на підставі обраних контекстів.

[0010] В іншому прикладі винахід описує пристрій кодування відео, містить засіб для підтримки об'єднаної контекстнляются обнуленними, щоб генерувати блок решти коефіцієнтів, і блоком перетворення, що мають другий розмір, в якому перший розмір і другий розмір різні. Пристрій кодування відео також містить засіб для вибору контекстів для коефіцієнтів, асоційованих з блоком перетворення, які мають один із першого розміру з блоком решти коефіцієнтів і другого розміру згідно об'єднаної контекстної моделі, і засіб для статистичного кодування коефіцієнтів, асоційованих з цим блоком перетворення, відповідно до процесу кодування на підставі обраних контекстів.

[0011] В іншому прикладі винахід описує зчитаний комп'ютером носій, що містить інструкції для кодування відео даних, які, коли виконуються, змушують процесор підтримувати об'єднану контекстну модель, яка спільно використовується блоком перетворення, що мають перший розмір, з коефіцієнтами, які є обнуленними, щоб генерувати блок решти коефіцієнтів, і блоком перетворення, що мають другий розмір, в якому перший розмір і другий розмір різні. Інструкції також змушують процесор вибирати контексти для коефіцієнтів, асоційованих з блоком перетворенням�ненной контекстної моделі, і статистично кодувати коефіцієнти, асоційовані з цим блоком перетворення, відповідно до процесу кодування на підставі обраних контекстів.

[0012] В іншому прикладі винахід описує спосіб кодування відео даних, що містить підтримку об'єднаної контекстної моделі, що використовується спільно блоком перетворення, що мають перший розмір, і блоком перетворення, що мають другий розмір, при цьому перший розмір і другий розмір різні. Спосіб також включає в себе вибір контекстів для коефіцієнтів, асоційованих з блоком перетворення, які мають один із першого розміру і другого розміру, згідно об'єднаної контекстної моделі, і статистичне кодування коефіцієнтів блоку перетворення відповідно до процесу кодування на підставі обраних контекстів.

[0013] додаткового прикладі винахід описує пристрій кодування відео, що містить пам'ять, яка зберігає об'єднану контекстну модель, яка спільно використовується блоком перетворення, що мають перший розмір, і блоком перетворення, що мають другий розмір, в якому перший розмір і другий розмір різні, і процесор, конфігурується, щоб підтримувати об'єднану контекстну модеазмера і другого розміру згідно об'єднаної контекстної моделі, і статистично кодувати коефіцієнти блоку перетворення відповідно до процесу кодування на підставі обраних контекстів.

[0014] надалі прикладі винахід описує пристрій кодування відео, містить засіб для підтримки об'єднаної контекстної моделі, що використовується спільно блоком перетворення, що мають перший розмір, і блоком перетворення, що мають другий розмір, при цьому перший розмір і другий розмір різні. Пристрій кодування відео також включає в себе засіб для вибору контекстів для коефіцієнтів, асоційованих з блоком перетворення, які мають один із першого розміру і другого розміру згідно об'єднаної контекстної моделі, і засіб для статистичного кодування коефіцієнтів блоку перетворення відповідно до процесу кодування на підставі обраних контекстів.

[0015] В іншому прикладі винахід описує зчитаний комп'ютером носій, що містить інструкції для кодування відео даних, які, коли виконуються, змушують процесор підтримувати об'єднану контекстну модель, яка спільно використовується блоком перетворення, що мають перший розмір, і блоком перетворення, що мають другий розмір, при цьому першою�м перетворення, мають один з першого розміру і другого розміру згідно об'єднаної контекстної моделі, і статистично кодувати коефіцієнти блоку перетворення відповідно до процесу кодування на підставі обраних контекстів.

КОРОТКИЙ ОПИС КРЕСЛЕНЬ

[0016] Фіг. 1 є блок-схема, що ілюструє приблизну систему кодування і декодування відео, яка може використовувати способи для виконання статистичного кодування коефіцієнтів відео, використовуючи об'єднану контекстну модель, спільно використовувану між блоками перетворення, що мають різні розміри.

[0017] Фіг. 2 є блок-схема, що ілюструє зразковий відео кодер, який може реалізувати способи для статистичного кодування коефіцієнтів відео, використовуючи об'єднану контекстну модель.

[0018] Фіг. 3A і 3B - концептуальні діаграми, відповідно ілюструють квадратні і прямокутні області блоків решти коефіцієнтів, що мають другий розмір, блоку перетворення, має перший розмір.

[0019] Фіг. 4 є блок-схема, що ілюструє приблизний декодер відео, який може реалізувати способи для статистичного декодування коефіцієнтів відео, використовуючи объедиого кодування, конфігурується, щоб вибрати контексти для коефіцієнтів відео згідно об'єднаної контекстної моделі.

[0021] Фіг. 6 є блок-схема, що ілюструє приблизний модуль статистичного декодування, конфігурується, щоб вибрати контексти для коефіцієнтів відео згідно об'єднаної контекстної моделі.

[0022] Фіг. 7 є послідовністю операцій, що ілюструє приблизну операцію статистичного кодування і статистичного декодування коефіцієнтів відео, використовуючи об'єднану контекстну модель, спільно використовувану між першим блоком перетворення, що мають перший розмір, і другим блоком перетворення, що мають другий розмір.

[0023] Фіг. 8 є послідовністю операцій, що ілюструє приблизну операцію статистичного кодування і декодування коефіцієнтів відео, використовуючи об'єднану контекстну модель, спільно використовувану між першим блоком перетворення, що мають перший розмір, з коефіцієнтами, обнуленними, щоб генерувати блок решти коефіцієнтів, який має другий розмір, і другим блоком перетворення, що мають другий розмір.

ДЕТАЛЬНИЙ ОПИС

[0024] В цілому це винахід описує способи для оком залишкових даних відео, використовуючи об'єднану контекстну модель, спільно використовувану між блоками перетворення, що мають різні розміри. Наприклад, об'єднана контекстна модель може бути спільно використана між блоками перетворення, що мають перший розмір 32x32, і блоками перетворення, що мають другий розмір 16x16. Знаходиться В стадії становлення стандарті кодування відео з високою ефективністю (HEVC) блок кодування (CU) може включати в себе один або більше блоків перетворення (TU), які включають в себе залишкові дані відео. До перетворення залишкові дані відео включають залишкові піксельні значення в просторовій області. Після перетворення залишкові дані відео включають залишкові коефіцієнти перетворення в області перетворення. Додаткові розміри блоку перетворення, наприклад, 32x32 аж до 128x128, було запропоновано, щоб поліпшити ефективність кодування відео, але також призвело до збільшення пам'яті і обчислювальних вимогам, щоб підтримувати контекстні моделі для кожного з додаткових розмірів блоку перетворення. Виконання статистичного кодування, використовуючи об'єднану контекстну модель, спільно испой, щоб зберегти контексти і ймовірності на пристроях кодування і декодування відео, та зменшити обчислювальні витрати підтримки контекстних моделей пристроїв кодування і декодування відео.

[0025] У деяких прикладах способи можуть також зменшити вимоги проміжної буферизації для більш великих розмірів блоків перетворення при виконанні двовимірних перетворень. Способи включають в себе обнулення, тобто, встановлення значень в нуль, поднабора більш високочастотних коефіцієнтів перетворення, включених в блок перетворення першого розміру, після того як кожний напрям двовимірного перетворення було застосовано, щоб генерувати блок решти коефіцієнтів. Пристрої кодування і декодування відео можуть потім буферизувати скорочена кількість коефіцієнтів між застосуванням кожного напрямку, тобто, рядки та стовпці, двовимірного перетворення. Коли більш високочастотні коефіцієнти обнулені з блоку перетворення, має перший розмір, коефіцієнти, включені в блок решти коефіцієнтів, мають аналогічну імовірнісну статистику, що і коефіцієнти, включені в блок перетворення спочатку второгно використана між блоками перетворення, мають перший розмір, з коефіцієнтами, обнуленними для генерування блоку залишилися коефіцієнтів, та блоками перетворення, спочатку мають другий розмір. У деяких випадках блок решти коефіцієнтів може мати розмір, що дорівнює другого розміру. В інших випадках блок решти коефіцієнтів може мати розмір, що дорівнює третього розміру, відмінним і від першого розміру і від другого розміру.

[0026] В інших прикладах коефіцієнти, включені в перший блок перетворення, має перший розмір, можуть мати подібну статистику ймовірності, як і коефіцієнти, включені в другий блок перетворення другого розміру навіть без обнулення більш високочастотних коефіцієнтів у межах першого блоку перетворення. Це можливо тому, що більш високочастотні коефіцієнти можуть представляти такі маленькі залишкові дані відео, що вплив на імовірнісну статистику сусідніх коефіцієнтів для статистичного кодування незначно. У цьому випадку об'єднана контекстна модель для статистичного кодування може бути спільно використана між блоками перетворення, що мають перший розмір, і блоками перетворення, що мають другий розмір.

[0027�ет використовувати способи для виконання статистичного кодування коефіцієнтів відео, використовуючи об'єднану контекстну модель, спільно використовувану між блоками перетворення, що мають різні розміри. Як показано на Фіг. 1, система 10 включає в себе вихідне пристрій 12, яке може зберігати кодоване відео і/або передавати кодоване відео на пристрій-адресат 14 через комунікаційний канал 16. Вихідний пристрій 12 і пристрій-адресат 14 можуть не обов'язково брати участь в активній зв'язку в реальному часі один з одним. У деяких випадках вихідне пристрій 12 може зберігати кодовані дані відео на носій даних, до якого пристрій-адресат 14 може отримати доступ при необхідності за допомогою звернення до диска, або може зберегти кодовані дані відео на файл-сервер, до якого пристрій-адресат 14 може отримати доступ при необхідності за допомогою потокової передачі. Вихідний пристрій 12 і пристрій-адресат 14 можуть містити будь-які із широкого діапазону пристроїв. У деяких випадках вихідне пристрій 12 і пристрій-адресат 14 можуть містити пристрої бездротового зв'язку, які можуть обмінюватися інформацією відео по комунікаційному каналу 16, коли комунікаційний канал 16 є бездротовим.

[0028] Однак, споѿользуя об'єднану контекстну модель, не обов'язково обмежені бездротовими додатками або параметрами. Наприклад, ці способи можуть ставитися до ефірного телевізійного мовлення, передачах кабельного телебачення, передач супутникового телебачення, передач відео з Інтернет, кодованому цифрового відео, яке закодовано на носій даних, або іншими сценаріями. Відповідно, комунікаційний канал 16 може містити будь-яку комбінацію бездротових або дротяних носіїв, придатних для передавання кодованих даних відео, і пристрою 12, 14 можуть містити будь-яку з безлічі пристроїв з дротовими або бездротовими носіями, такими як мобільні телефони, смартфони, цифрові медіа-програвачі, телевізійні приставки, телевізори, монітори, настільні комп'ютери, портативні комп'ютери, планшетні комп'ютери, ігрові консолі, портативні ігрові пристрої або подібне.

[0029] У прикладі згідно Фіг. 1 вихідне пристрій 12 включає в себе джерело 18 відео, кодер 20 відео, модулятор/демодулятор (модем) 22 і передавач 24. Пристрій-адресат 14 включає в себе приймач 26, модем 28, 30 відео декодер і пристрій 32 відображення. В інших прикладах вихідне пристрій і пристрій-адресат можуть включвнешнего джерела 18 відео, такого як зовнішня камера, запам'ятовуючий пристрій відео, джерело комп'ютерної графіки або подібне. Аналогічно, пристрій-адресат 14 може сполучатися з зовнішнім пристроєм відображення, замість включення інтегрованого пристрої відображення.

[0030] Ілюстрована система 10 згідно фіг. 1 є просто одним прикладом. В інших прикладах будь-який цифровий пристрій кодування та/або декодування відео може виконувати розкриті способи для статистичного кодування коефіцієнтів відео, використовуючи об'єднану контекстну модель. Способи можуть бути також виконані кодером/декодер відео, зазвичай званим "кодеком". Крім того, способи згідно з цим винаходу можуть бути також виконані препроцесором відео. Вихідний пристрій 12 і пристрій-адресат 14 є просто прикладами таких пристроїв кодування, у яких вихідне пристрій 12 генерує кодовані дані відео для передачі на пристрій-адресат 14. В деяких прикладах пристрою 12, 14 можуть працювати по суті симетричним чином таким чином, що кожне з пристроїв 12, 14 включають в себе компоненти кодування і декодування відео. Отже, система 10 може підтримувати однонаправле�, відтворення відео, бездротового мовлення відео або відео телефонії.

[0031] Джерело 18 відео з вихідного пристрою 12 може включати в себе пристрій захоплення відео, відео камера, відео архів, що містить раніше захоплене відео, та/або подання відео від постачальника відео контенту. В якості іншої альтернативи, 18 джерело відео може генерувати засновані на комп'ютерній графіці дані в якості вихідного відео, або комбінації відео в реальному часі, архівованого відео і генерується комп'ютером відео. У деяких випадках, якщо джерело 18 відео є відео камерою, вихідне пристрій 12 і пристрій-адресат 14 можуть формувати так звані камерофони або відео телефони. Як згадано вище, однак, способи, описані в цьому винаході, можуть бути застосовними до кодування відео взагалі, і можуть бути застосовані до безпроводових та/або дротовим додатками. У кожному разі захоплене, попередньо захоплене або генерується комп'ютером відео може бути закодовано кодером 20 відео. Закодована інформація відео може модулюватися модемом 22 згідно стандарту зв'язку, і передана на пристрій-адресат 14 через передавач 24. Модем 22 може вгнала. Передавач 24 може включати в себе схеми, розроблені для передачі даних, включаючи підсилювачі, фільтри і одну або більше антен.

[0032] У відповідності з цим винаходом кодер 20 відео з вихідного пристрою 12 може бути налаштований, щоб застосовувати способи для статистичного кодування коефіцієнтів відео, використовуючи об'єднану контекстну модель. Блок кодування (CU) кадру відео, який повинен бути закодований, може включати в себе один або більше блоків перетворення (TU), які включають в себе залишкові дані відео. До перетворення залишкові дані відео включають залишкові піксельні значення в просторовій області. Після перетворення залишкові дані відео включають залишкові коефіцієнти перетворення у перетвореній області. Кодер 20 відео може підтримувати об'єднану контекстну модель, спільно використовувану між блоками перетворення, що мають різні розміри, і вибирати контексти для коефіцієнтів, асоційованих з одним із створених блоків згідно об'єднаної контекстної моделі. Кодер 20 відео може потім статистично кодувати коефіцієнти на підставі обраних контекстів.

[0033] В якості еющими перший розмір 32x32, і блоками перетворення, що мають другий розмір 16x16. В інших прикладах більш ніж два розміру блоків перетворення можуть спільно використовувати одну і ту ж об'єднану контекстну модель. Крім того, два або більше розмірів блоків перетворення можуть спільно використовувати деякі або всі з контекстних моделей для блоків TU. В одному випадку об'єднана контекстна модель може бути об'єднаної контекстною моделлю карти значущості для TU. В інших випадках об'єднана контекстна модель може бути асоційована з іншою інформацією кодування або елементами синтаксису. Ці способи тому можуть зменшити обсяг пам'яті, необхідної, щоб зберігати контексти і ймовірності на кодері 20 відео і зменшити обчислювальні витрати підтримки контекстних моделей на кодері 20 відео.

[0034] В одному прикладі кодер 20 відео може обнуляти, тобто, встановлювати значення рівними нулю, більш високочастотний підмножиною коефіцієнтів перетворення, включених в блок перетворення першого розміру, після того як кожний напрям двовимірного перетворення застосовано, щоб генерувати блок решти коефіцієнтів. У цьому випадку засоби можуть зменшити кількість коефіцієнтів, кіт�еобразования. Коли високочастотні коефіцієнти обнуляються з блоку перетворення, коефіцієнти, включені в блок решти коефіцієнтів, мають аналогічну імовірнісну статистику, що і коефіцієнти, включені в блок перетворення спочатку другого розміру. У цьому прикладі кодер 20 відео може підтримувати об'єднану контекстну модель, яка спільно використовується блоками перетворення, що мають перший розмір, з коефіцієнтами, які є обнуленними, щоб генерувати блок решти коефіцієнтів, та блоками перетворення, що мають другий розмір, і вибирати контексти для коефіцієнтів блоку перетворення одного з першого розміру з блоком решти коефіцієнтів і другого розміру, згідно об'єднаної контекстної моделі. У деяких випадках блок решти коефіцієнтів може мати розмір, що дорівнює другого розміру. В інших випадках блок решти коефіцієнтів може мати розмір, що дорівнює третього розміру, відмінним і від першого розміру і від другого розміру.

[0035] В іншому прикладі коефіцієнти, включені в перший блок перетворення, має перший розмір, може мати подібну статистику ймовірності, що і коефіцієнти, включені в другий блок перетворений�ования. Це можливо, так як високочастотні коефіцієнти можуть представляти такі маленькі залишкові дані відео, що вплив на імовірнісну статистику сусідніх коефіцієнтів для статистичного кодування незначно. У цьому прикладі кодер 20 відео може підтримувати об'єднану контекстну модель, яка спільно використовується блоками перетворення, що мають перший розмір і другий розмір, і вибирати контексти для коефіцієнтів у блоці перетворення одного з першого і другого розміру згідно об'єднаної контекстної моделі. В деяких випадках тільки високочастотні коефіцієнти в межах перетворених блоків першого розміру і другого розміру можуть спільно використовувати об'єднану контекстну модель. Низькочастотні коефіцієнти, наприклад, компоненти DC і сусідні коефіцієнти, перетворення першого розміру можуть використовувати відмінну контекстну модель, ніж низькочастотні коефіцієнти перетворення другого розміру.

[0036] Приймач 26 з пристрою-адресата 14 приймає інформацію по каналу 16, і модем 28 демодулирует цю інформацію. Інформація, передана по каналу 16, може включати в себе інформацію синтаксису, визначену кодером 20 відео, яка також ки і/або обробку блоків кодування (CU), блоків передбачення (PU), блоків перетворення (TU) або інші одиниці кодованого відео, наприклад, вирізок відео, кадрів відео і послідовностей відео або груп картинок (GOP). Пристрій 32 відображення відображає декодированние дані відео користувачеві, і може містити будь безліч пристроїв відображення, таких як електронно-променева трубка (ЕПТ), рідкокристалічний дисплей (LCD), плазмовий дисплей, дисплей на органічних світловипромінюючих діодах (OLED), або інший тип пристрою відображення.

[0037] У відповідності з цим винаходом декодер 30 відео з пристрою-адресата 14 може бути налаштований, щоб застосовувати способи статистичного декодування коефіцієнтів відео, використовуючи об'єднану контекстну модель. Блок CU кадру відео, який повинен бути декодирован, може включати в себе один або більше блоків TU, які включають в себе залишкові дані відео до і після перетворення. Декодер 30 відео може підтримувати об'єднану контекстну модель, спільно використовувану між блоками перетворення, що мають різні розміри, і вибирати контексти для коефіцієнтів, асоційованих з одним із створених блоків, згідно об'єднаної контекстної м�ст.

[0038] як приклад об'єднана контекстна модель може бути спільно використана між блоками перетворення, що мають перший розмір 32x32, і блоками перетворення, що мають другий розмір 16x16. Як описано вище, в інших прикладах більше ніж два розміру блоків перетворення можуть спільно використовувати одну і ту ж об'єднану контекстну модель. Крім того, два або більше розмірів блоків перетворення можуть спільно використовувати деякі або всі контекстні моделі для блоків TU. В одному випадку об'єднана контекстна модель може бути об'єднаної контекстною моделлю карти значущості для TU. В інших випадках об'єднана контекстна модель може бути асоційована з іншою інформацією кодування або елементами синтаксису. Ці способи тому можуть зменшувати обсяг пам'яті, необхідної, щоб зберегти контексти і ймовірності на декодері 30 відео, та зменшити обчислювальні витрати на підтримку контекстних моделей на декодері 30 відео.

[0039] В одному прикладі декодер 30 відео може прийняти потік бітів, який представляє кодовані коефіцієнти, асоційовані з блоком решти коефіцієнтів, і обнулені коефіцієнти від блоку перетворення, має ти, включені в блок решти коефіцієнтів, мають аналогічну імовірнісну статистику, що і коефіцієнти, включені в блок перетворення спочатку другого розміру. У цьому прикладі декодер 30 відео може підтримувати об'єднану контекстну модель, яка спільно використовується блоками перетворення, що мають перший розмір, з коефіцієнтами, які є обнуленними, щоб генерувати блок решти коефіцієнтів, та блоками перетворення, що мають другий розмір, і вибирати контексти для кодованих коефіцієнтів, асоційованих з блоком перетворення одного з першого розміру з блоком решти коефіцієнтів і другого розміру, згідно об'єднаної контекстної моделі. У деяких випадках блок решти коефіцієнтів може мати розмір, що дорівнює другого розміру. В інших випадках блок решти коефіцієнтів може мати розмір, що дорівнює третього розміру, відмінним і від першого розміру і від другого розміру.

[0040] В іншому прикладі декодер 30 відео може прийняти потік бітів, який представляє кодовані коефіцієнти, асоційовані з блоком перетворення, які мають один із першого розміру і другого розміру. Коефіцієнти, включені в перший блок преобразовторой блок перетворення другого розміру, навіть без обнулення високочастотних коефіцієнтів у межах першого блоку перетворення. У цьому прикладі декодер 30 відео може підтримувати об'єднану контекстну модель, яка спільно використовується блоками перетворення, що мають перший розмір і другий розмір, і вибирати контексти для кодованих коефіцієнтів, асоційованих з блоком перетворення одного з першого і другого розміру, згідно об'єднаної контекстної моделі. В деяких випадках тільки високочастотні коефіцієнти в межах перетворених блоків першого розміру і другого розміру можуть спільно використовувати об'єднану контекстну модель. Низькочастотні коефіцієнти, наприклад, компоненти DC і сусідні коефіцієнти, перетворення першого розміру можуть використовувати відмінну контекстну модель, ніж низькочастотні коефіцієнти перетворення другого розміру.

[0041] У прикладі на Фіг. 1 комунікаційний канал 16 може містити будь-який з бездротового чи дротового носія зв'язку, такого як радіочастотний (RF, РЧ) спектр або одна або більше фізичних ліній передачі, або будь-яку комбінацію бездротового та дротового носія. Комунікаційний канал 16 може формувати частину заснованої на пакетної уникационний канал 16 зазвичай являє собою будь-який підходящий комунікаційний носій, або колекцію різних комунікаційних носіїв, для того, щоб передати дані відео від вихідного пристрою 12 на пристрій-адресат 14, включаючи будь-яку відповідну комбінацію дротового або бездротового носія. Комунікаційний канал 16 може включати в себе маршрутизатори, комутатори, базові станції або будь-яке інше обладнання, яке може бути використано, щоб полегшити передачу від вихідного пристрою 12 на пристрій-адресат 14. Як описано вище, в деяких випадках вихідне пристрій 12 і пристрій-адресат 14 можуть не брати участь в активній зв'язку в реальному часі через комунікаційний канал 16. Наприклад, початкове пристрій 12 може замість цього зберегти кодовані дані відео на носій даних, до якого пристрій-адресат 14 може отримати доступ при необхідності за допомогою доступу до диска, або зберегти кодовані дані відео в файл-сервер, до якого пристрій-адресат 14 може отримати доступ при необхідності за допомогою потокової передачі.

[0042] 20 відео Кодер і декодер 30 відео можуть працювати згідно стандарту стиснення відео, такого що знаходиться в стадії становлення стандарт кодування відео з високою ефективністю (HEVC) або стандарт ITU-T H. 264,�ретения, однак, не обмежені жодним конкретним стандартом кодування. Інші приклади включають в себе MPEG-2, ITU-T H. 263. Хоча не показано на Фіг. 1, в деяких аспектах 20 відео кодер і декодер 30 відео можуть бути інтегровані з кодером і декодер аудіо, і можуть включати в себе відповідні блоки MUX-DEMUX (мультиплексування-демультиплексування), або інше апаратне забезпечення і програмне забезпечення, щоб обробляти кодування аудіо та відео в загальному потоці даних або окремих потоках даних. Якщо застосовно, блоки MUX-DEMUX можуть відповідати протоколу ITU H. 223 мультиплексора або іншим протоколам, таким як протокол дейтаграм користувача UDP).

[0043] Зусилля по стандартизації HEVC засновані на моделі пристрою кодування відео, званого Тестова Модель HEVC (HM). HM передбачає кілька додаткових можливостей пристрою кодування відео щодо існуючих пристроїв, згідно, наприклад, ITU-T H. 264/AVC. HM посилається на блок даних відео як блок кодування (CU). Дані синтаксису в межах потоку бітів можуть визначати найбільший блок кодування (LCU), який є найбільшим блоком кодування в термінах кількості пікселів. В цілому, CU має аналогічне призн� бути розділений на під-CU. В цілому, посилання в цьому винаході на CU можуть ставитися до найбільшого блоку кодування картинки або під-CU в LCU. LCU може бути розділений на під-CU, і кожен під-CU може бути далі розділений на під-CU. Дані синтаксису для потоку бітів можуть визначити максимальну кількість разів, скільки LCU може бути розділений, зване глибиною CU. Відповідно, потік бітів може також визначити найменший блок кодування (SCU).

[0044] CU, яка далі не розділений (тобто, листовий вузол LCU) може включати в себе один або більше блоків передбачення (PU). В цілому, PU представляє весь або частину відповідного CU, і включає в себе дані для вилучення опорної вибірки для PU. Наприклад, коли PU є закодованим у внутрішньому режимі, PU може включати в себе дані, що описують режим внутрішнього передбачення для PU. В якості іншого прикладу, коли PU є закодованим у зовнішньому режимі, PU може включати в себе дані, що визначають вектор руху для PU. Дані, що визначають вектор руху, можуть описувати, наприклад, горизонтальний компонент вектора руху, вертикальний компонент вектора руху, дозвіл для вектора руху (наприклад, точність у полпикселя, точність у чверть пікселя, і�адров (наприклад, Список 0 або Список 1) для вектора руху. Дані для CU, визначають PU(s), можуть також описувати, наприклад, фрагментованість CU в один або більше блоків PU. Режими фрагментованість можуть відрізнятися між тим, є CU пропущеним або закодованих в прямому режимі, закодованих у режимі внутрішнього передбачення, або закодованих в режимі зовнішнього передбачення.

[0045] CU, що має один або більше PU, може також включати в себе один або більше блоків перетворення (TU). Слідуючи передрікання, використовуючи PU, відео кодер може обчислити залишкові значення для частини CU, відповідної PU. Залишкові значення, включені в блоки TU, відповідають значенням піксельної різниці, які можуть бути перетворені в коефіцієнти перетворення, потім квантовани і скановані, щоб сформувати перетворені в послідовну форму коефіцієнти перетворення для статистичного кодування. TU не обов'язково обмежений розміром PU. Таким чином, блоки TU можуть бути більшими або меншими, ніж відповідний PU для одного і того ж CU. В деяких прикладах максимальний розмір TU може бути розміром відповідного CU. Даний винахід використовує термін "блок відео", щоб звертатися до будь-якого з C�схем кодера, таких, як один або декілька мікропроцесорів, цифрових сигнальних процесорів (DSP), спеціалізованих інтегральних схем (ASIC), програмованих користувачем вентильних матриць (FPGA), дискретної логіки, програмного забезпечення, апаратного забезпечення, програмно-апаратних засобів або будь-яких їх комбінацій. Кожен 20 відео кодер і декодер 30 відео може бути включений в один або більше кодери або декодери, кожний з яких може бути інтегрований як частина об'єднаного кодера/декодера (кодека) у відповідну камеру, комп'ютер, мобільний пристрій, пристрій абонента, пристрій мовлення, телевізійну приставку, сервер або подібне.

[0047] Послідовність відео або група картинок (GOP, ГК) зазвичай включають в себе ряд кадрів відео. GOP може включати дані синтаксису в заголовок GOP, заголовок одного або більше кадрів в GOP, або в інше місце, які описують кількість кадрів, включених в GOP. Кожен кадр може включати в себе дані синтаксису кадру, які описують режим кодування для відповідного кадру. Кодер 20 відео зазвичай оперує над блоками відео в межах індивідуальних кадрів відео, щоб закодувати дані відео. Блок відео може відповідати CU або PU в CU. Блок ві�дарту кодування. Кожен кадр відео може включати в себе безліч вирізок. Кожна вирізка може включати в себе безліч CU, які можуть включати в себе один або більше PU.

[0048] як приклад Тестова Модель HEVC (HM) підтримує передбачення в CU різних розмірів. Розмір LCU може бути визначений за допомогою інформації синтаксису. Припускаючи, що розмір конкретного CU дорівнює 2Nx2N, HM підтримує внутрішнє передбачення в розмірах 2Nx2N або NxN, і зовнішнє передбачення в симетричних розмірах 2Nx2N, 2NxN, Nx2N або NxN. HM також підтримує асиметричний поділ для зовнішнього передбачення для 2NxnU, 2NxnD, nLx2N і nRx2N. В асиметричному розподілі один напрямок CU не поділяється, в той час як інший напрям поділяється на 25% і 75%. Частина CU, відповідна 25%-ому поділу, позначається "n" з супроводжуючою індикацією "Верхній", "Нижній", "Лівий" або "Правий". Таким чином, наприклад, "2NxnU" відноситься до 2Nx2N CU, який розділений горизонтально з 2Nx0.5N PU зверху і 2Nx1.5N PU внизу.

[0049] У цьому винаході "NxN" і "N на N" може використовуватися як взаємозамінні, щоб ставитися до піксельною вимірам блоку відео (наприклад, CU, PU або TU) в термінах вертикальних і горизонтальних вимірів, наприклад, 16x16 пікселів або 16 на 16 пікселів. Блок 16x16 буо, блок NxN має N пікселів у вертикальному напрямку та N пікселів в горизонтальному напрямі, де N-невід'ємне ціле число. Пікселі в блоці можуть бути розміщені в рядках і стовпцях. Крім того, блоки не обов'язково повинні мати те ж кількість пікселів в горизонтальному напрямі, як у вертикальному напрямку. Наприклад, блоки можуть містити прямокутні області з пікселями NxM, де М не обов'язково дорівнює N.

[0050] Після кодування з внутрішнім передбаченням або зовнішнім пророкуванням, щоб сформувати PU для CU, кодер 20 відео може обчислити залишкові дані, щоб сформувати один або більше блоків TU для CU. Залишкові дані можуть відповідати піксельною різницями між пікселями незакодированной картинки і значеннями передбачення PU в CU. Кодер 20 відео може сформувати один або більше блоків TU, що включають в себе залишкові дані для CU. Кодер 20 відео може потім перетворити блоки TU. До застосування перетворення, такого як дискретне косинусне перетворення (DCT), цілочисельне перетворення, вейвлет перетворення, або концептуально подібне перетворення, блоки TU в CU можуть містити залишкові дані відео, що містять значення пік� перетворення, які представляють залишкові дані відео в частотній області.

[0051] Після будь-яких перетворень для формування коефіцієнтів перетворення може бути виконано квантування коефіцієнтів перетворення. Квантування в цілому відноситься до процесу, в якому коефіцієнти перетворення квантуются, щоб можливо зменшити кількість даних, що використовуються для представлення коефіцієнтів. Процес квантування може зменшити глибину в бітах, асоційовану з деякими або всіма коефіцієнтами. Наприклад, значення n-біт може бути заокруглюється в меншу сторону до бітового значення m-бітів під час квантування, де n більше ніж m.

[0052] Кодер 20 відео може застосувати зигзагоподібний перегляд, горизонтальний перегляд, вертикальний перегляд або інший порядок перегляду, асоційований з розміром TU, щоб сканувати (переглянути) квантовані коефіцієнти перетворення, щоб сформувати перетворений в послідовну форму вектор, який може бути статистично кодирован. В деяких прикладах кодер 20 відео може використовувати заздалегідь заданий порядок перегляду, щоб переглянути квантовані коефіцієнти перетворення. В інших прикладах кодер 20 відео може в�б сформувати одновимірний вектор, кодер 20 відео може статистично кодувати одновимірний вектор, наприклад, згідно контекстно-адаптивного кодування із змінною довжиною коду (CAVLC), контекстно-адаптивного двійковому арифметичного кодування (CABAC), або іншого методу статистичного кодування.

[0053] Щоб виконати контекстно-адаптивне статистичне кодування, кодер 20 відео повинен призначити контекст на кожен коефіцієнт згідно контекстної моделі, яка може стосуватися, наприклад, того, чи є значення сусідніх коефіцієнтів відмінними від нуля. Кодер 20 відео потім визначає процес кодування для цього коефіцієнта, асоційованого з призначеним контекстом у контекстної моделі. Зазвичай, кодер 20 відео повинен підтримувати окремі контекстні моделі для кожного з різних розмірів блоків TU, підтримуваних реалізованим стандартом стиснення відео. Для стандарту HEVC додаткові розміри блоку перетворення, наприклад, 32x32 аж до 128x128, було запропоновано, щоб поліпшити ефективність кодування відео, але додаткові розміри TU також призводять до збільшеної пам'яті і обчислювальних вимогам, щоб підтримувати контекстну моделі для кожного з додаткових розмірів блоку преоб� статистичне кодування, кодер 20 відео може вибрати контексти для коефіцієнтів згідно об'єднаної контекстної моделі, що використовується спільно між блоками TU різних розмірів. Більш конкретно, кодер 20 відео може призначити контекст об'єднаної контекстної моделі заданому коефіцієнту блоку TU на підставі значень раніше кодованих сусідніх коефіцієнтів цього TU. Призначений контекст вибирають на підставі критеріїв, визначених об'єднаної контекстною моделлю, що використовується спільно допомогою TU. Кодер 20 відео може визначити процес кодування для коефіцієнта, асоційованого з призначеним контекстом в об'єднаній контекстної моделі. Кодер 20 відео потім статистично кодує цей коефіцієнт на підставі певної оцінки ймовірності. Наприклад, у разі CABAC кодер 20 відео може визначити оцінку ймовірності для значення (наприклад, 0 або 1) коефіцієнта, асоційованого з призначеним контекстом в об'єднаній контекстної моделі. Кодер 20 відео потім оновлює оцінку ймовірності, асоційовану з призначеним контекстом в об'єднаній контекстної моделі, на підставі фактично кодованого значення коефіцієнта.

[0055] як приклад кодер 20 відео може вибрати коком решти коефіцієнтів у межах першого блоку перетворення, спочатку має перший розмір, або з другим блоком перетворення, спочатку мають другий розмір. Крім того, кодер 20 відео може оновити оцінки ймовірності, асоційовані з вибраними контекстами в об'єднаній контекстної моделі, на підставі фактичних кодованих значень коефіцієнтів або блоку залишилися коефіцієнтів у межах першого блоку перетворення спочатку першого розміру, або другого блоку перетворення спочатку другого розміру. В якості іншого прикладу, кодер 20 відео може вибрати контексти, використовуючи одну і ту ж об'єднану контекстну модель для коефіцієнтів, асоційованих або з першим блоком перетворення, що мають перший розмір, або з другим блоком перетворення, що мають другий розмір. У цьому випадку кодер 20 відео може потім оновити оцінки ймовірності, асоційовані з вибраними контекстами в об'єднаній контекстної моделі, на підставі фактичних кодованих значень коефіцієнтів або першого блоку перетворення першого розміру або другого блоку перетворення другого розміру.

[0056] У будь-якому випадку спільно використовуючи об'єднану контекстну модель між двома або більш розмірами блоки перетворенням Крім того, спільне використання об'єднаної контекстної моделі може також зменшити обчислювальні витрати підтримки контекстних моделей на кодері 20 відео, включаючи перевстановлення всій контекстної моделі на початку вирізки відео.

[0057] Кодер 20 відео може також статистично кодувати елементи синтаксису, вказують інформацію передбачення. Наприклад, кодер 20 відео може статистично кодувати елементи синтаксису, вказують інформацію блоку відео, включає розміри блоків CU, PU і TU, інформацію вектора руху для передбачення у внутрішньому режимі, та інформацію карти значущих коефіцієнтів, тобто, карти одиниць і нулів, що вказують позицію значущих коефіцієнтів, для CABAC. Декодер 30 відео може працювати способом, по суті симетричним такого кодера 20 відео.

[0058] Фіг. 2 є блок-схема, що ілюструє зразковий відео кодер, який може реалізувати способи для статистичного кодування коефіцієнтів відео, використовуючи об'єднану контекстну модель. Кодер 20 відео може виконувати внутрішнє і зовнішнє кодування блоків кодування в межах кадрів відео. Внутрішнє кодування покладається на просторове передбачення, щоб зменшити або видалити просѽное передбачення, щоб зменшити або видалити тимчасову надмірність у відео в межах суміжних кадрів послідовності відео. Внутрішній режим (I режим) може відноситися до будь-якого з декількох просторово-заснованих режимів стиснення. Зовнішні режими, такі як односпрямоване передбачення (P-режим), двоспрямоване передбачення (B-режим), або узагальнене передбачення P/B (режим GPB) можуть ставитися до будь-якого з декількох час-заснованих режимів стиснення.

[0059] У прикладі на Фіг. 2 кодер 20 відео включає в себе модуль 38 вибору режиму, модуль 40 передбачення, модуль 50 підсумовування, модуль 52 перетворення, модуль 54 квантування, модуль 56 статистичного кодування і пам'ять 64 опорних кадрів. Модуль 40 передбачення включає в себе модуль 42 оцінки руху, модуль 44 компенсації руху і модуль 46 внутрішнього передбачення. Для реконструкції блоку відео кодер 20 відео також включає в себе модуль 58 зворотного квантування, модуль 60 зворотного перетворення і модуль 62 підсумовування. Фільтр видалення блочності або інші контурні фільтри, такий адаптивний контурний фільтр (ALF) і адаптивне зміщення вирізки (SAO) (не показано на Фіг. 2) можуть бути також включені, щоб фільтрувати межі блоку, щоб видалити артефактѵт фільтрувати вихідний сигнал модуля 62 підсумовування.

[0060] Як показано на Фіг. 2, кодер 20 відео приймає блок відео в межах кадру відео або вирізки, які повинні бути кодовані. Кадр або вирізка можуть бути розділені на численні блоки відео або CU. Модуль 38 вибору режиму може вибрати один з режимів кодування, внутрішній або зовнішній, для блоку відео на підставі результатів помилки. Модуль 40 передбачення потім видає получающееся внутрішньо або зовні кодований блок прогнозування до модулю 50 підсумовування, щоб згенерувати залишкові дані блоку, і до модулю 62 підсумовування, щоб відновити (реконструювати) кодований блок для використання в якості як опорного блоку в опорному кадрі.

[0061] Модуль 46 внутрішнього передбачення в модулі 40 передбачення виконує кодування з внутрішнім прогнозуванням блоку відео щодо одного або більше сусідніх блоків в тому ж кадрі, що і блок відео, який повинен бути кодирован. Модуль 42 оцінки руху і модуль 44 компенсації руху в модулі 40 передбачення виконують кодування з зовнішнім прогнозуванням блоку відео щодо одного або більше опорних блоків в одному або більше опорних кадрах, збережених у пам'яті 64 опорних кадрів. Модуль 42 оцінки движеептуальних цілях. Оцінка руху, виконана модулем 42 оцінки руху, є процесом генерування векторів руху, які оцінюють рух для блоків відео. Вектор руху, наприклад, може вказати зсув блоку відео або PU в межах поточного кадру відео відносно опорного блоку або PU в межах опорного кадру. Опорний блок є блоком, який виявлений як близько відповідний блоку відео або PU, який повинен бути закодований, в термінах піксельної різниці, яка може бути визначена за допомогою суми абсолютної різниці (SAD), суми різниці квадратів (SSD), або іншими метриками різниці.

[0062] Модуль 42 оцінки руху посилає обчислений вектор руху в модуль 44 компенсації руху. Компенсація руху, виконана модулем 44 компенсації руху, може залучити вибірку або генерування блоку прогнозування на підставі вектора руху, визначеного за допомогою оцінки руху. Кодер 20 відео формує залишковий блок відео, віднімаючи блок прогнозування з кодованого блоку відео. Модуль 50 підсумовування являє компонент або компоненти, які виконують цю операцію віднімання.

[0063] Модуль 44 компенсації руху може генерувати елементи з�ьности відео, рівня кадру відео, рівня вирізки відео, рівня CU відео, або рівня PU відео. Наприклад, модуль 44 компенсації руху може генерувати елементи синтаксису, вказують інформацію блоку відео, включаючи розміри CU, PU і TU, та інформацію вектора руху для передбачення у внутрішньому режимі.

[0064] Після того, як кодер 20 відео сформував залишковий блок відео за допомогою віднімання блоку прогнозування з поточного блоку відео, модуль 52 перетворення може сформувати один або більше блоків TU з залишкового блоку. Модуль 52 перетворення перетворення, таке як дискретне косинусне перетворення (DCT), цілочисельне перетворення, вейвлет перетворення або концептуально подібне перетворення, TU, щоб сформувати блок відео, містить залишкові коефіцієнти перетворення. Перетворення може перетворювати залишковий блок з піксельної області в область перетворення, таку як частотна область. Більш конкретно, до застосування перетворення TU може містити залишкові дані відео в піксельної області, і після застосування перетворення TU може містити коефіцієнти перетворення, які представляють залишкові дані відео в частотній області�ие. Модуль 52 перетворення може застосовувати двовимірне перетворення до TU спочатку за допомогою застосування одновимірного перетворення рядків залишкових відео даних в блоці TU, тобто, в першому напрямку, і потім застосування одновимірного перетворення стовпців залишкових відео даних в блоці TU, тобто, в другому напрямку, або навпаки. В якості одного прикладу, TU може містити 32x32 TU. Модуль 52 перетворення може застосувати одномірне 32-точкове перетворення до кожної рядку піксельних даних в TU, щоб згенерувати 32x32 TU проміжних коефіцієнтів перетворення, і по-друге застосувати 32-точкове одномірне перетворення на кожному стовпцю проміжних коефіцієнтів перетворення у TU, щоб генерувати 32x32 TU коефіцієнтів перетворення.

[0066] Після застосування одновимірного перетворення в першому напрямку до залишковим відео даних в TU, кодер 20 відео буферизує проміжні коефіцієнти перетворення для застосування одновимірного перетворення в другому напрямку. Як описано вище, в стандарті HEVC великі розміри блоку перетворення, наприклад, 32x32 аж до 128x128, було запропоновано, щоб поліпшити ефективність кодування відео. Великі розміри TU, одн�міри, у разі 32x32 TU, кодер 20 відео повинен буферизувати 1024 проміжних коефіцієнтів перетворення після одновимірного перетворення в першому напрямку.

[0067] Щоб зменшити вимоги проміжної буферизації для великих розмірів TU, способи, описані в цьому винаході, включають в себе обнулення високочастотного поднабора коефіцієнтів перетворення, включених в TU першого розміру, після того як кожний напрям двовимірного перетворення було застосовано. Таким чином, модуль 52 перетворення може генерувати блок решти коефіцієнтів в блоці TU, який має другий розмір, менший ніж перший розмір TU.

[0068] Процес обнулення містить встановлення значень поднабора коефіцієнтів перетворення в блоці TU, рівними нулю. Коефіцієнти перетворення, які є обнуленними, не обчислюються або відхиляються; замість цього, обнулені коефіцієнти перетворення просто встановлюються рівними нулю і не мають ніякого значення для збереження або кодування. Згідно з цим винаходу обнулені коефіцієнти перетворення зазвичай є більш високочастотними коефіцієнтами перетворення щодо решти більш низькочастотних коѵ відео, які зазвичай відповідають дуже маленьким піксельною різницями між блоком відео, який повинен бути закодований, і блоком прогнозування. Високочастотні коефіцієнти перетворення тому можуть містити такі маленькі залишкові дані відео, що встановлення цих значень рівними нулю, має незначний вплив на якість декодувати відео.

[0069] як приклад модуль 52 перетворення може застосовувати одномірне перетворення в першому напрямку, наприклад, по рядках, до залишковим відео даних в 32x32 TU і обнуляти половину проміжних коефіцієнтів перетворення, отриманих з перетворення. Кодеру 20 відео потім лише потрібно буферизувати половину проміжних коефіцієнтів перетворення. Модуль 52 перетворення може потім застосувати одномірне перетворення в другому напрямку, наприклад, по стовпцях, до решти проміжним коефіцієнтами перетворення в 32x32 TU і знову обнулити половину коефіцієнтів перетворення, отриманих з перетворення. Таким чином, модуль 52 перетворення може генерувати блок решти коефіцієнтів значущих коефіцієнтів, що мають розмір 16x16 в блоці TU спочатку розмір блок решти коефіцієнтів, тобто, одну чверть початкового розміру TU. В інших випадках модуль 52 перетворення може бути налаштований, щоб генерувати блок решти коефіцієнтів, що має відмінний розмір, за допомогою обнулення більшого або меншого відсотка коефіцієнтів залежно від вимог складності кодування для процесу кодування. Крім того, в деяких випадках модуль 52 перетворення може бути налаштований, щоб генерувати блок решти коефіцієнтів, що має прямокутну область. У цьому випадку способи забезпечують подальше скорочення вимог проміжної буферизації спочатку за допомогою застосування одновимірного перетворення в напрямку більш короткої сторони (тобто, менше від решти коефіцієнтів перетворення) прямокутної області. Таким чином, кодер 20 відео може буферизувати менше, ніж половину проміжних коефіцієнтів перетворення до застосування одновимірного перетворення в напрямку довгої сторони прямокутної області. Процеси обнулення блоків решти коефіцієнтів і для квадратної і для прямокутної області описані більш детально з посиланнями на фіг. 3A і 3B.

[0071] Модуль 52 перетворення може послати підлогу�еобразования, щоб далі зменшити швидкість передачі (частоту слідування) бітів. Процес квантування може зменшити глибину в бітах, асоційовану з деякими або всіма коефіцієнтами. Ступінь квантування може бути змінена за допомогою регулювання параметр квантування. Модуль 56 статистичного кодування або модуль 54 квантування може потім виконувати перегляд TU, що включає в себе квантовані коефіцієнти перетворення. Модуль 56 статистичного кодування може застосувати зигзагоподібний перегляд, або інший порядок перегляду, асоційований з розміром TU, щоб переглянути квантовані коефіцієнти перетворення, щоб сформувати перетворений в послідовну форму вектор, який може бути статистично кодирован.

[0072] В одному прикладі, в якому коефіцієнти TU спочатку першого розміру обнулені, щоб згенерувати блок решти коефіцієнтів, який має другий розмір, модуль 56 статистичного кодування може переглянути залишилися коефіцієнти, використовуючи порядок перегляду щодо TU другого розміру. У цьому випадку модуль 56 статистичного кодування може застосувати порядок перегляду 16x16 до блоку залишилися коефіцієнтів, що має розмір ера були обнулені, щоб генерувати блок решти коефіцієнтів, який має другий розмір, модуль 56 статистичного кодування може переглянути залишилися коефіцієнти, використовуючи порядок перегляду щодо TU першого розміру, який був змінений, щоб пропустити коефіцієнти TU, не включені в блок решти коефіцієнтів. У цьому випадку блок статистичного кодування може застосувати порядок перегляду 32x32 до блоку залишилися коефіцієнтів, що має розмір 16x16, пропускаючи обнулені всі коефіцієнти в блоці TU спочатку розміру 32x32.

[0073] Після перегляду квантованих коефіцієнтів перетворення, щоб сформувати одновимірний вектор, модуль 56 статистичного кодування статистично кодує вектор квантованих коефіцієнтів перетворення. Наприклад, модуль 56 статистичного кодування може виконати контекстно-адаптивне статистичне кодування, таке як CABAC, CAVLC, або інший спосіб статистичного кодування. Після статистичного кодування за допомогою модуля 56 статистичного кодування кодований потік бітів може бути переданий до відео декодера, такого як декодер 30 відео, або заархіваваний для пізнішої передачі або вилучення.

[0074] Щоб виконати� на кожен коефіцієнт згідно контекстної моделі, яка може ставитися, наприклад, до того, чи є значення сусідніх коефіцієнтів відмінними від нуля. Модуль 56 статистичного кодування також визначає процес кодування для коефіцієнта, асоційованого з призначеним контекстом у контекстної моделі. Модуль 56 статистичного кодування потім статистично кодує коефіцієнти на підставі призначених контекстів. Наприклад, у разі CABAC модуль 56 статистичного кодування може визначити оцінку ймовірності для значення (наприклад, 0 або 1) коефіцієнта, асоційованого з призначеним контекстом в об'єднаній контекстної моделі. Модуль 56 статистичного кодування потім оновлює оцінку ймовірності, асоційовану з призначеним контекстом у контекстної моделі, на підставі фактично кодованого значення цього коефіцієнта.

[0075] Зазвичай кодер 20 відео підтримує окремі контекстні моделі для кожного з різних розмірів блоків TU, підтримуваних реалізованим стандартом стиснення відео. Для стандарту HEVC додаткові розміри блоку перетворення, наприклад, 32x32 аж до 128x128, було запропоновано, щоб поліпшити ефективність кодування відео, але ці додаткові розміри TU також призводять до збільшення�их розмірів блоку перетворення. У деяких випадках великі розміри TU можуть використовувати більше контекстів, які можуть призвести до збільшеної пам'яті і обчислювальному вимогу, щоб підтримувати збільшене число контекстів для великих розмірів TU.

[0076] Згідно способам цього винаходу модуль 56 статистичного кодування може бути налаштований, щоб виконувати статистичне кодування коефіцієнтів відео, використовуючи об'єднану контекстну модель, спільно використовувану між блоками перетворення, що мають різні розміри. Ці способи головним чином описуються щодо способу статистичного кодування CABAC. У деяких випадках, однак, ці способи можуть бути також застосовані до інших контекстно-адаптивним способів статистичного кодування. Спільне використання об'єднаної контекстної моделі між двома або більш розмірами блоків перетворення може зменшити обсяг пам'яті, необхідної, щоб зберегти контексти і ймовірності на кодері 20 відео. Крім того, спільне використання об'єднаної контекстної моделі може також зменшити обчислювальні витрати підтримки контекстних моделей на кодері 20 відео, включаючи скидання всіх контекстних моделей на поч оцінок ймовірності моделей контексту на підставі фактичних кодованих значень коефіцієнтів.

[0077] У відповідності з цим винаходом модуль 56 статистичного кодування може підтримувати об'єднану контекстну модель, спільно використовувану між блоками перетворення, що мають різні розміри, і вибирати контексти для коефіцієнтів, асоційованих з одним із створених блоків згідно об'єднаної контекстної моделі. Модуль 56 статистичного кодування може потім статистично кодувати значущі коефіцієнти в межах перетворених блоків на підставі обраних контекстів. В якості прикладу об'єднана контекстна модель може бути спільно використана між блоками перетворення, що мають перший розмір 32x32, і блоками перетворення, що мають другий розмір 16x16. В деяких випадках більше ніж два розміру блоків перетворення можуть спільно використовувати одну і ту ж об'єднану контекстну модель. В одному прикладі об'єднана контекстна модель може бути об'єднаної контекстною моделлю карт значущості для блоків перетворення. В інших прикладах об'єднана контекстна модель може бути асоційована з іншою інформацією кодування або елементами синтаксису. Процес кодування CABAC, використовує об'єднані конте�дирования може підтримувати об'єднану контекстну модель, спільно використовувану допомогою блоку TU, має перший розмір, з коефіцієнтами, які є обнуленними, щоб генерувати блок решти коефіцієнтів, та ТУ, спочатку мають другий розмір. У деяких випадках блок решти коефіцієнтів може мати розмір, що дорівнює другого розміру. Наприклад, коли високочастотні коефіцієнти є обнуленними із TU першого розміру, коефіцієнти, включені в блок решти коефіцієнтів другого розміру, мають аналогічну статистику ймовірності, що і коефіцієнти, включені в TU спочатку другого розміру. В цьому випадку, коли блок решти коефіцієнтів другого розміру згенерований за допомогою обнулення коефіцієнтів TU спочатку першого розміру, модуль 56 статистичного кодування може вибрати контексти для коефіцієнтів блоку залишилися коефіцієнтів згідно об'єднаної контекстної моделі. Модуль 56 статистичного кодування потім статистично кодує значущі коефіцієнти в блоці решти коефіцієнтів на підставі обраних контекстів. У разі CABAC модуль 56 статистичного кодування також оновлює оцінки ймовірності, асоційовані з вибраними контекстами в об'єднаній контекс6 статистичного кодування може підтримувати об'єднану контекстну модель, спільно використовувану першим TU, які мають перший розмір, і другим TU, що мають другий розмір. У деяких випадках коефіцієнти, включені в перший TU, має перший розмір, можуть мати аналогічну статистику ймовірності, що і коефіцієнти, включені у другій TU, який має другий розмір, навіть без обнулення високочастотних коефіцієнтів в першому TU. Це можливо, так як високочастотні коефіцієнти можуть представляти такі маленькі залишкові дані відео, що вплив на імовірнісну статистику сусідніх коефіцієнтів для статистичного кодування є незначним. У цьому прикладі модуль 56 статистичного кодування може вибрати контексти для коефіцієнтів в блоці TU з одного з першого і другого розміру згідно об'єднаної контекстної моделі. Модуль 56 статистичного кодування потім статистично кодує значущі коефіцієнти в блоці TU на підставі обраних контекстів. У разі CABAC модуль 56 статистичного кодування може потім оновити оцінки ймовірності, асоційовані з вибраними контекстами в об'єднаній контекстної моделі, на підставі фактичних кодованих значень коефіцієнтів.

[0080] Модуль 56 статистичного кодування може також стдля кодованого відео блоку. Наприклад, модуль 56 статистичного кодування може статистично кодувати елементи синтаксису, що вказують карту значущості, тобто, карту одиниць і нулів, що вказують позицію значущих коефіцієнтів TU, використовуючи методи, описані в цьому винаході. Модуль 56 статистичного кодування може також конструювати інформацію заголовка, яка включає в себе відповідні елементи синтаксису, що генеруються модулем 44 компенсації руху, для передачі в закодованому потоці бітів. Кодер 20 відео може статистично кодувати елементи синтаксису, вказують інформацію блоку відео, включаючи розміри блоків CU, PU і TU, та інформацію вектора руху для передбачення у внутрішньому режимі. Для статистичного кодування елементів синтаксису модуль 56 статистичного кодування може виконати CABAC допомогою бінаризації елементів синтаксису в один або більше двійкових бітів і вибору контекстів для кожного біта згідно контекстної моделі.

[0081] Модуль 58 зворотного квантування і модуль 60 зворотного перетворення застосовують зворотне квантування і зворотне перетворення, відповідно, щоб реконструювати залишковий блок в піксельної області для більш пізнього� залишковий блок в прогнозувальний блок, генерується модулем 44 компенсації руху, щоб сформувати опорний блок для зберігання в пам'яті 64 опорних кадрів. Опорний блок може використовуватися модулем 42 оцінки руху і модулем 44 компенсації руху в якості опорного блоку, щоб внутрішньо передбачити блок в наступному кадрі відео.

[0082] Фіг. 3A і 3B є концептуальними діаграмами, відповідно ілюструють квадратні і прямокутні області блоків решти коефіцієнтів, що мають другий розмір в блоці перетворення, має перший розмір. На концептуальних ілюстраціях на Фіг. 3A і 3B різні прямокутники представляють коефіцієнти перетворення в блоці TU після застосування перетворення. Коефіцієнти в межах зазначених штрихуванням областей містять залишилися коефіцієнти перетворення, а коефіцієнти, не включені в зазначені штрихуванням області (тобто, білий або затемнені прямокутники), що містять коефіцієнти, які були скинуті під час двовимірного перетворення.

[0083] Як описано вище, способи згідно з цим винаходу зменшують вимоги проміжної буферизації для великих розмірів TU, наприклад, 32x32 аж до 128x128, за допомогою обнулення високочастотного поднаобразования. Таким чином, модуль 52 перетворення згідно Фіг. 2 може генерувати блок решти коефіцієнтів в блоці TU, який має другий розмір, менший ніж перший розмір TU.

[0084] Процес обнулення містить встановлення значень поднабора коефіцієнтів перетворення в блоці TU рівними нулю. Коефіцієнти перетворення, які є обнуленними, не обчислюються або відхиляються; замість цього обнулені коефіцієнти перетворення просто встановлюються рівними нулю і не мають ніякого значення для збереження або кодування. Згідно з цим винаходу обнулені коефіцієнти перетворення є високочастотними коефіцієнтами перетворення щодо решти коефіцієнтів перетворення у TU. Високочастотні коефіцієнти перетворення представляють залишкові дані відео, які відповідають дуже маленьким піксельною різницями між блоком відео, який повинен бути закодований, і блоком прогнозування. Високочастотні коефіцієнти перетворення тому може містити такі маленькі залишкові дані відео, що встановлення цих значень рівними нулю має незначний вплив на якість декодувати відео.

[0085] Фіг. 3A иллюстри�ть другого розміру 8x8 в блоці TU 70. Розмір і форма блоку 74 решти коефіцієнтів може бути обрана на підставі вимог складності кодування для процесу кодування. У цьому прикладі модуль 52 перетворення згідно фіг. 2 може бути налаштований, щоб генерувати блок 74 решти коефіцієнтів з квадратної областю розміром 8x8 в блоці TU 70 спочатку розміру 16x16. Щоб згенерувати блок 74 решти коефіцієнтів, модуль 52 перетворення може обнулити половину більш високочастотних коефіцієнтів після застосування кожного напрямку, тобто, рядків і стовпців, двовимірного перетворення. В інших випадках модуль 52 перетворення може бути налаштований обнуляти більший або менший підмножиною коефіцієнтів залежно від вимог складності кодування для процесу кодування.

[0086] Спочатку модуль 52 перетворення може застосовувати одномірне перетворення рядків залишкових відео даних в TU 70, і обнуляти підмножиною (в цьому випадку половину) проміжних коефіцієнтів перетворення, отриманих з перетворення. В ілюстрованому прикладі на Фіг. 3A залишилися проміжні коефіцієнти перетворення включені в блок 73 залишилися проміжних коефіцієнтів (тобто, затемнені бл�аборти (тобто, білі блоки в TU 70) можуть включати в себе коефіцієнти зі значеннями частоти, які вище, ніж коефіцієнти в межах блоку 73 залишилися проміжних коефіцієнтів з TU 70. В ілюстрованому прикладі, модуль 52 перетворення обнуляє половину коефіцієнтів з 8 найвищими значеннями частоти в кожному рядку TU 70. Цей процес обнулення призводить до блоку 73 залишилися проміжних коефіцієнтів з прямокутною областю 16x8 в блоці TU 70. В інших прикладах область блоку 73 залишилися проміжних коефіцієнтів може мати інший розмір або форму. Модуль 52 перетворення може обнуляти половину коефіцієнтів з найвищими значеннями частоти серед всіх коефіцієнтів у TU 70 16x16. Цей процес обнулення може призвести до збереженого проміжного блоку коефіцієнтів з трикутної областю у верхньому лівому куті в TU 70.

[0087] за Допомогою обнулення половини проміжних коефіцієнтів перетворення, отриманих із перетворення в першому напрямку, кодеру 20 відео лише потрібно буферизувати коефіцієнти в межах блоку 73 залишилися проміжних коефіцієнтів перш, ніж застосувати перетворення в другому напрямку. Коефіцієнти в межах обнуленного поднабора (естьэти способи можуть зменшити вимоги проміжної буферизації при виконанні двовимірних перетворень. Це може бути особливо корисно для великих розмірів блоку перетворення, наприклад, 32x32 аж до 128x128, які були запропоновані для стандарту HEVC.

[0088] Після буферизації модуль 52 перетворення може потім застосувати одномірне перетворення стовпців залишилися проміжних коефіцієнтів перетворення в блоці 73 залишилися проміжних коефіцієнтів і обнулити підмножиною (в цьому випадку половину), коефіцієнтів перетворення, отриманих з перетворення. В ілюстрованому прикладі на Фіг. 3A залишилися коефіцієнти перетворення включені в блок 74 решти коефіцієнтів (тобто, зазначені штрихуванням блоки в TU 70), які мають квадратну область розміром 8x8, що дорівнює одній четвертій вихідного розміру 16x16 в TU 70. Обнулений підмножиною (тобто, не зазначені штрихуванням квадрати в блоці 73 залишилися проміжних коефіцієнтів) може включати в себе коефіцієнти зі значеннями частоти, які вище, ніж коефіцієнти в блоці 74 решти коефіцієнтів з TU 70. В ілюстрованому прикладі модуль 52 перетворення обнуляє половину коефіцієнтів з 8 найвищими значеннями частоти в кожному стовпці блоку 73 залишилися проміжних коефіцієнтів. В інших прикладах модуль 52 преонтов в блоці 73 залишилися проміжних коефіцієнтів 16x8. У будь-якому випадку процес обнулення призводить до блоку 74 решти коефіцієнтів з квадратної областю 8x8 в блоці TU 70.

[0089] Фіг. 3B ілюструє TU 76, має перший розмір 16x16 і блок 78 решти коефіцієнтів, що має остаточну прямокутну область другого розміру 4x16 в блоці TU 76. Розмір і форма блоку 78 решти коефіцієнтів може бути обрана на підставі вимоги складності кодування для процесу кодування. Більш конкретно, остаточна прямокутна область блоку 78 решти коефіцієнтів може бути обрана на підставі щонайменше одного з режиму внутрішнього кодування, шаблону перегляду і позиції останнього значимого коефіцієнта для блоку 78 решти коефіцієнтів.

[0090] В ілюстрованому прикладі на Фіг. 3B модуль 52 перетворення може бути налаштований, щоб генерувати блок 78 решти коефіцієнтів з прямокутною областю розміром 4x16 в блоці TU 76 спочатку розміру 16x16. Модуль 52 перетворення може спочатку бути застосований до TU 76 в напрямку самої короткої сторони (наприклад, стовпців) остаточної прямокутної області блоку 78 решти коефіцієнтів. Щоб генерувати блок 78 решти коефіцієнтів, блок 52 перетворення може оер, стовпцями). В інших випадках модуль 52 перетворення може бути налаштований для обнулення більшого або меншого поднабора коефіцієнтів залежно від вимог складності кодування для процесу кодування.

[0091] Коли прямокутна область обрана для блоку залишилися коефіцієнтів, способи можуть забезпечити подальше скорочення вимог проміжної буферизації спочатку за допомогою застосування одновимірного перетворення в напрямку більш короткої сторони (тобто, менше від решти коефіцієнтів перетворення) прямокутної області. Таким чином, кодер 20 відео може буферизувати менше ніж половину проміжних коефіцієнтів перетворення до застосування одновимірного перетворення в напрямку довгої сторони прямокутної області. В ілюстрованому прикладі на Фіг. 3B, висота (H) остаточної прямокутної області блоку 78 решти коефіцієнтів менше, ніж ширина (W) прямокутної області, таким чином менше проміжних коефіцієнтів перетворення буде збережено у вертикальному напрямку. Модуль 52 перетворення може тому спочатку застосувати перетворення стовпців TU 76 таким чином, що кодер 20 відео може буферизувати мен� перетворення рядків TU 76.

[0092] Більш конкретно, модуль 52 перетворення може застосувати одномірне перетворення стовпців залишкових відео даних в TU 76, і обнулити підмножиною (в цьому випадку три чверті) проміжних коефіцієнтів перетворення, отриманих з перетворення. В ілюстрованому прикладі на Фіг. 3B, що залишилися проміжні коефіцієнти перетворення включені в блок 77 залишилися проміжних коефіцієнтів (тобто, затемнені блоки в TU 76), які мають прямокутну область 4x16, що дорівнює одній чверті вихідного розміру 16x16 в TU 76. Обнулений підмножиною (тобто, білі блоки в TU 76) може включати в себе коефіцієнти зі значеннями частоти, які вище, ніж коефіцієнти в блоці 77 залишилися проміжних коефіцієнтів з TU 76. В ілюстрованому прикладі модуль 52 перетворення обнуляє три чверті коефіцієнтів з 12 найвищими значеннями частоти в кожному стовпці в TU 76. Ці процес обнулення призводить до блоку 77 залишилися проміжних коефіцієнтів з прямокутною областю 4x16 в блоці TU 76.

[0093] за Допомогою обнулення трьох чвертей проміжних коефіцієнтів перетворення, отриманих із перетворення в першому напрямку, кодеру 20 відео лише потрібно буферизувати коэффициентии. Коефіцієнти в межах обнуленного поднабора (тобто, білі блоки в TU 76) не мають ніякого значення для збереження, перетворення, або кодування. Таким чином, ці способи можуть зменшити вимоги проміжної буферизації при виконанні двовимірних перетворень. Це може бути особливо корисно для великих розмірів блоку перетворення, наприклад, 32x32 аж до 128x128, які були запропоновані для стандарту HEVC.

[0094] Після буферизації модуль 52 перетворення може потім застосувати одномірне перетворення рядків коефіцієнтів в блоці 77 залишилися проміжних коефіцієнтів. У цьому прикладі модуль 52 перетворення може не обнуляти будь-який з коефіцієнтів перетворення, отриманих із перетворення, так як TU 76 вже був обнулений до однієї чверті початкового розміру 16x16. В ілюстрованому прикладі на Фіг. 3В залишилися коефіцієнти перетворення включені в блок 78 решти коефіцієнтів (тобто, зазначені штрихуванням блоки в TU 76), які мають ту ж саму прямокутну область 4x16, що і блок 77 залишилися проміжних коефіцієнтів. Процес обнулення призводить до блоку 78 решти коефіцієнтів з прямокутною областю 4x16 в блоці TU 70.

[0095] Фіг. 4 блок-сх�ования коефіцієнтів відео, використовуючи об'єднану контекстну модель. У прикладі на Фіг. 4 декодер 30 відео включає в себе модуль 80 статистичного декодування, модуль 81 передбачення, модуль 86 зворотного квантування, модуль 88 зворотного перетворення, модуль 90 підсумовування і пам'ять 92 опорних кадрів. Модуль 81 передбачення включає в себе модуль 82 компенсації руху і модуль 84 внутрішнього передбачення. Декодер 30 відео, в деяких прикладах, може виконати прохід декодування, в цілому зворотний до проходу кодування, описаному щодо кодера 20 відео (Фіг. 2).

[0096] Під час процесу декодування декодер 30 відео приймає кодований потік бітів відео, який представляє кодовані кадри відео або вирізки і елементи синтаксису, які представляють інформацію кодування з кодера 20 відео. Модуль 80 статистичного декодування статистично декодує потік двійкових сигналів, щоб генерувати квантовані коефіцієнти перетворення в межах TU. Наприклад, модуль 80 статистичного декодування може виконати контекстно-адаптивне статистичне декодування, таке як CABAC, CAVLC або інший спосіб статистичного кодування. Модуль 80 статистичного декодування також статистичесию значущих коефіцієнтів TU, використовуючи методи, описані в цьому винаході. Модуль 80 статистичного декодування може також статистично декодувати вектори руху та інші елементи синтаксису передбачення.

[0097] Щоб виконати контекстно-адаптивне статистичне декодування, модуль 80 статистичного декодування призначає контекст на кожен кодований коефіцієнт, представлений в потоці бітів, згідно контекстної моделі, яка може ставиться до того, наприклад, чи є значення раніше декодованих сусідніх коефіцієнтів відмінними від нуля. Модуль 80 статистичного декодування також визначає процес кодування для кодованого коефіцієнта, асоційованого з призначеним контекстом у контекстної моделі. Модуль 80 статистичного декодування потім статистично декодує коефіцієнти на підставі призначених контекстів. У разі CABAC модуль 80 статистичного декодування визначає оцінку ймовірності для значення (наприклад, 0 або 1) кодованого коефіцієнта, асоційованого з призначеним контекстом у контекстної моделі. Модуль 80 статистичного декодування потім оновлює оцінку ймовірності, асоційовану з призначеним контекстом в контекстно�део повинен підтримувати окремі контекстні моделі для кожного з різних розмірів блоків TU, підтримуються за допомогою реалізованого стандарту стиснення відео. Для стандарту HEVC додаткові розміри блоку перетворення, наприклад, 32x32 аж до 128x128, було запропоновано, щоб поліпшити ефективність кодування відео, але додаткові розміри TU також призводять до збільшеної пам'яті і обчислювальних вимогам, щоб підтримувати контекстну модель для кожного з додаткових розмірів блоку перетворення.

[0099] Згідно способам цього винаходу модуль 80 статистичного декодування може бути налаштований, щоб виконувати статистичне декодування коефіцієнтів відео, використовуючи об'єднану контекстну модель, спільно використовувану між блоками перетворення, що мають різні розміри. Способи головним чином описані щодо статистичного декодування способу CABAC. У деяких випадках, однак, способи можуть бути також застосовані до інших контекстно-адаптивним способів статистичного кодування. Спільне використання об'єднаної контекстної моделі між двома або більш розмірами блоків перетворення може зменшити обсяг пам'яті, необхідної, щоб зберегти контексти і ймовірності на декодері 30 відео. Крім того, совместЏ контекстних моделей на декодері 30 відео, включаючи установку у вихідне стан всіх контекстних моделей на початку вирізки відео. У разі CABAC ці способи можуть також зменшити витрати обчислень безперервно оновлюються оцінок ймовірності моделей контексту на підставі фактичних кодованих значень коефіцієнтів.

[0100] У відповідності з цим винаходом модуль 80 статистичного декодування може підтримувати об'єднану контекстну модель, спільно використовувану між блоками перетворення, що мають різні розміри, і вибирати контексти для коефіцієнтів, асоційованих з одним з блоків перетворення, відповідно об'єднаної контекстної моделі. Модуль 80 статистичного декодування може потім статистично декодувати значущі коефіцієнти, асоційовані з блоками перетворення, на підставі обраних контекстів. В якості прикладу об'єднана контекстна модель може бути спільно використана між блоками перетворення, що мають перший розмір 32x32, і блоками перетворення, що мають другий розмір 16x16. В деяких випадках більше ніж два розміру блоків перетворення можуть спільно використовувати одну і ту ж об'єднану контекстну модель. В одному прикладі об'єднана контекх прикладах об'єднана контекстна модель може бути асоційована з іншою інформацією кодування або елементами синтаксису. Процес декодування CABAC, використовує об'єднану контекстну модель, описаний більш детально з посиланнями на фіг. 6.

[0101] В одному прикладі модуль 80 статистичного декодування може підтримувати об'єднану контекстну модель, яка спільно використовується блоком TU, які мають перший розмір, з коефіцієнтами, обнуленними щоб генерувати блок решти коефіцієнтів, та ТУ, спочатку мають другий розмір. У деяких випадках блок решти коефіцієнтів може мати розмір, що дорівнює другого розміру. Наприклад, в цьому випадку модуль 80 статистичного декодування може вибрати контексти для коефіцієнтів блоку залишилися коефіцієнтів, що має другий розмір, в блоці TU, спочатку має перший розмір, згідно об'єднаної контекстної моделі. Модуль 80 статистичного декодування потім арифметично декодує кодовані значущі коефіцієнти блок решти коефіцієнтів в блоці TU, має перший розмір, на підставі обраних контекстів. У разі CABAC модуль 80 статистичного декодування також оновлює оцінки ймовірності, асоційовані з вибраними контекстами, в об'єднаній контекстної моделі, на підставі фактичних декодованих значень коефі�нтекстную модель, спільно використовувану першим TU, які мають перший розмір, і другим TU, що мають другий розмір. У цьому прикладі модуль 80 статистичного декодування може вибрати контексти для кодованих коефіцієнтів, асоційованих з TU одного з першого і другого розміру згідно об'єднаної контекстної моделі. Модуль 80 статистичного декодування потім статистично декодує кодовані значущі коефіцієнти TU на підставі обраних контекстів. У разі CABAC модуль 80 статистичного декодування може потім оновити оцінки ймовірності, асоційовані з вибраними контекстами, в об'єднаній контекстної моделі на підставі фактичних декодованих значень коефіцієнтів. У будь-якому випадку модуль 80 статистичного декодування направляє квантовані декодированние коефіцієнти перетворення в блоках TU або першого розміру або другого розміру до модулю 86 зворотного квантування.

[0103] Модуль 86 зворотного квантування назад квантует, тобто, деквантует, квантовані коефіцієнти перетворення, декодированние в блоки TU, з допомогою модуля 80 статистичного декодування, як описано вище. Зворотний процес квантування може включати в себе використання параметра квантованогично, ступінь зворотного квантування, яка повинна бути застосована. Модуль 88 зворотного перетворення зворотне перетворення, наприклад, зворотне DCT, зворотне ціле перетворення, зворотне вейвлет перетворення, або концептуально подібний процес зворотного перетворення до коефіцієнтів перетворення у межах блоків TU, щоб сформувати залишкові дані відео в піксельної області.

[0104] У деяких прикладах модуль 88 зворотного перетворення може містити двовимірне разделимое перетворення. Модуль 88 зворотного перетворення може застосувати двовимірне перетворення до TU з допомогою спочатку застосування одномірного зворотного перетворення рядків коефіцієнтів перетворення в блоці TU, і потім застосувати одномірне зворотне перетворення стовпці коефіцієнтів перетворення в блоці TU, або навпаки. Після застосування одномірного зворотного перетворення в першому напрямку до коефіцієнтів перетворення у TU декодер 30 відео буферизує проміжні залишкові дані для застосування одномірного зворотного перетворення в другому напрямку. Як описано вище, в стандарті HEVC великі розміри блоку перетворення, наприклад, 32x32 аж до 128x128, билличенним вимогам проміжної буферизації для двовимірних перетворень.

[0105] Щоб зменшити вимоги проміжної буферизації для великих розмірів TU, способи, описані в цьому винаході, можуть включати в себе обнулення високочастотного поднабора коефіцієнтів перетворення, включених в TU, кодером 20 відео згідно фіг. 2. Обнулені коефіцієнти перетворення в блоці TU просто встановлюються рівними нулю і не мають ніякого значення для збереження, перетворення, або кодування. Модуль 80 статистичного декодування тому приймає кодований потік бітів, який представляє кодовані коефіцієнти, асоційовані з блоком решти коефіцієнтів, що мають другий розмір в блоці TU, спочатку має перший розмір. Модуль 80 статистичного декодування декодує коефіцієнти блок решти коефіцієнтів в блоці TU, має перший розмір. TU тоді включає в себе коефіцієнти в блоці решти коефіцієнтів другого розміру, і нулі, які представляють залишилися коефіцієнти в межах цього TU.

[0106] Таким чином, процес обнулення коефіцієнтів перетворення в кодері 20 відео може також зменшити вимоги до проміжної буферизації для великих розмірів TU при виконанні зворотного перетворення в �реобразование в першому напрямку, наприклад, по рядках, до коефіцієнтів перетворення блоці решти коефіцієнтів, що має розмір 16x16 в блоці TU, має розмір 32x32. Після зворотного перетворення рядка декодеру 30 відео може знадобитися тільки буферизувати проміжні залишкові дані, перетворені з коефіцієнтів в блоці решти коефіцієнтів, який містить тільки половину TU, тобто коефіцієнти 32x16. Модуль 88 зворотного перетворення може потім застосувати одномірне зворотне перетворення в другому напрямку, наприклад, по стовпцях, до проміжним залишковим даними в TU. Таким чином, модуль 88 зворотного перетворення може генерувати TU початкового розміру 32x32 допомогою включення залишкових даних у блок решти коефіцієнтів, що має розмір 16x16, і додавання нулів для подання залишилися залишкових даних в TU.

[0107] Модуль 80 статистичного декодування також передає декодированние вектори руху та інші елементи синтаксису передбачення до модулю 81 передбачення. Декодер 30 відео може прийняти елементи синтаксису на рівні блоку передбачення відео, рівні блоку кодування відео, рівні вирізки відео, рівні кадру відео та/або рівні послідовності вигляді� передбачення генерують дані передбачення для блоків відео поточного кадру відео на підставі даних від раніше декодованих блоків поточного кадру. Коли кадр відео кодується як зовні кодований кадр, модуль 82 компенсації руху з модуля 81 передбачення формує блоки прогнозування для блоків відео поточного кадру відео на підставі декодованих векторів руху, прийнятих від модуля 80 статистичного декодування. Блоки прогнозування можуть генеруватися щодо одного або більше опорних блоків опорного кадру, збережених у пам'яті 92 опорних кадрів.

[0108] Модуль 82 компенсації руху визначає інформацію передбачення для блоку відео, який повинен бути декодирован, за допомогою синтаксичного аналізу векторів руху та іншого синтаксису передбачення, і використовує інформацію передбачення, щоб генерувати блоки прогнозування для поточного декодируемого блоку відео. Наприклад, модуль 82 компенсації руху використовує деякі з прийнятих елементів синтаксису, щоб визначити розміри блоків CU, використовуваних для кодування поточного кадру, поділу інформації, яка описує, як кожен CU кадру розділений, режими, які вказують, як кожне поділ кодується (наприклад, з допомогою внутрішнього або зовнішнього передбачення), тип вирізки зовнішнього передбачення (наприклад, B вирізка, P вирізка, іл�, вектори руху для кожного блоку кадру відео, значення параметрів відео, асоційованих з векторами руху, та іншу інформацію, щоб декодувати поточний кадр відео.

[0109] Декодер 30 відео формує декодований блок відео допомогою підсумовування залишкових блоків від модуля 88 зворотного перетворення з відповідними блоками передбачення, що генеруються модулем 82 компенсації руху. Модуль 90 підсумовування являє компонент або компоненти, які виконують цю операцію підсумовування. Якщо бажано, фільтр видалення блочності також може бути застосований, щоб фільтрувати декодированние блоки, щоб видалити артефакти блочності на квадрати. Декодированние блоки відео потім зберігаються в опорних кадрах в пам'яті 92 опорних кадрів, яка забезпечує опорні блоки опорних кадрів для подальшої компенсації руху. Пам'ять 92 опорних кадрів також формує декодированное відео для подання на пристрої відображення, такі як пристрій 32 відображення згідно фіг. 1.

[0110] Фіг. 5 є блок-схема, що ілюструє приклад модуля 56 статистичного кодування згідно фіг. 2, настроєний, щоб вибрати контексти для коефіцієнтів відео соглаѽого моделювання, модуль 99 арифметичного кодування і сховище 98 об'єднаної контекстної моделі. Як описано вище, способи згідно з цим винаходу спрямовані на виконання статистичного кодування коефіцієнтів відео, використовуючи об'єднану контекстну модель, спільно використовувану між блоками перетворення, що мають різні розміри. Зокрема, способи описані тут щодо процесу кодування CABAC.

[0111] Модуль 56 статистичного кодування підтримує об'єднану контекстну модель, спільно використовувану між блоками перетворення, що мають різні розміри, в сховище 98 об'єднаної контекстної моделі. В якості одного прикладу, сховище 98 об'єднаної контекстної моделі може зберігати об'єднану контекстну модель, яка спільно використовується блоком TU, які мають перший розмір, з коефіцієнтами, обнуленними, щоб згенерувати блок решти коефіцієнтів, який має другий розмір, і блоком TU, спочатку мають другий розмір. В якості іншого прикладу, сховище 98 об'єднаної контекстної моделі може зберігати об'єднану контекстну модель, яка спільно використовується блоком TU, які мають перший розмір, і ТУ, що мають другий розмір. У деяких случаярования приймає коефіцієнти перетворення, асоційовані із TU або першого розміру або другого розміру, які були скановані, у вектор для статистичного кодування. Модуль 94 контекстного моделювання потім призначає контекст на кожен з коефіцієнтів TU на підставі значень раніше кодованих сусідніх коефіцієнтів TU згідно об'єднаної контекстної моделі. Більш конкретно, модуль 94 контекстного моделювання може призначити контексти відповідно до того, чи є значення раніше кодованих сусідніх коефіцієнтів відмінними від нуля. Призначений контекст може посилатися на індекс контексту, наприклад, контекст (i), де i=0, 1, 2..., N, в об'єднаній контекстної моделі.

[0113] Після того, як контекст призначений коефіцієнту, модуль 94 контекстного моделювання може визначити оцінку ймовірності для значення (наприклад, 0 або 1) коефіцієнта, асоційованого з призначеним контекстом в об'єднаній контекстної моделі. Кожен різний індекс контексту асоційований з оцінкою ймовірності для значення коефіцієнта з цим індексом контексту. Оцінка ймовірності, виконана для CABAC допомогою модуля 94 контекстного моделювання, може бути заснована на керованому таблицею модулі оцінки, що використовує кінцевий автомат�онтекста і забезпечуючи поточний стан як найкращу оцінку ймовірності того, що заданий коефіцієнт має значення 0 або 1. Наприклад, якщо стану ймовірності змінюються від 0 до 127, стан 0 може означати, що вірогідність коефіцієнта, має значення 0, дорівнює 0,9999, і стан 127 може означати, що вірогідність коефіцієнта, має значення 0, дорівнює 0,0001.

[0114] Модуль 99 арифметичного кодування арифметично кодує коефіцієнт на підставі певної оцінки вірогідності коефіцієнта, асоційованого з призначеним контекстом. Таким чином, модуль 99 арифметичного кодування генерує кодований потік бітів, який представляє арифметично кодовані коефіцієнти, асоційовані з TU або першого розміру або другого розміру, згідно об'єднаної контекстної моделі.

[0115] Після кодування модуль 99 арифметичного кодування подає фактичне кодоване значення коефіцієнта назад до модулю 94 контекстного моделювання, щоб оновити оцінку ймовірності, асоційовану з призначеним контекстом в об'єднаній контекстної моделі, в сховище 98 об'єднаної контекстної моделі. Модуль 94 контекстного моделювання виконує оновлення ймовірності призначеного контексту в об'єднаній контекстної моделі, перехід�ймовірність, що значення коефіцієнта дорівнює 0, може бути збільшена, переходячи до більш низького стану. За допомогою безперервного оновлення оцінок ймовірності об'єднаної контекстної моделі, щоб відобразити фактичні кодовані значення коефіцієнтів, оцінки ймовірності для майбутніх коефіцієнтів, призначених на ті ж самі контексти в об'єднаній контекстної моделі, можуть бути більш точними і привести до подальшого зменшеному кодування бітів модулем 99 арифметичного кодування.

[0116] У першому прикладі сховище 98 об'єднаної контекстної моделі може зберігати об'єднану контекстну модель, яка спільно використовується блоком TU, які мають перший розмір, з коефіцієнтами, обнуленними щоб генерувати блок решти коефіцієнтів, який має другий розмір, і блоком TU, спочатку мають другий розмір. Наприклад, сховище 98 об'єднаної контекстної моделі може зберегти об'єднану контекстну модель, яка спільно використовується блоками решти коефіцієнтів, що мають розмір 16x16 в блоках TU, спочатку мають розмір 32x32, і ТУ, спочатку мають розмір 16x16.

[0117] Перший коефіцієнт в блоці решти коефіцієнтів розміру 16x16 в першому TU розміром 32x32 може бути призначення�ентами, обнуленними, щоб генерувати блок решти коефіцієнтів розміру 16x16, і TU розміром 16x16. Модуль 94 контекстного моделювання потім визначає оцінку ймовірності для значення першого коефіцієнта, асоційованого з призначеним контекстом (5) в об'єднаній контекстної моделі, і оновлює оцінку ймовірності, асоційовану з призначеним контекстом (5) в об'єднаній контекстної моделі, на підставі фактичного закодованого значення першого коефіцієнта. Другим коефіцієнтом у другому TU розміром 16x16 можна також призначити той самий контекст (5) в об'єднаній контекстної моделі, що і коефіцієнт блоці решти коефіцієнтів в першому TU. Модуль 94 контекстного моделювання потім визначає оцінку ймовірності для значення другого коефіцієнта, асоційованого з тим же призначеним контекстом (5) в об'єднаній контекстної моделі, і оновлює оцінку ймовірності, асоційовану з тим же призначеним контекстом (5) в об'єднаній контекстної моделі, на підставі фактичного закодованого значення другого коефіцієнта.

[0118] У другому прикладі сховище 98 об'єднаної контекстної моделі може зберігати об'єднану контекстну модель, яка спільно використовується блоко�одягли може зберігати об'єднану контекстну модель, спільно використовувану блоками TU, мають розміри 32x32 і 16x16. Перший коефіцієнт у першому TU розміром 32x32 може бути призначеним контекстом (5) в об'єднаній контекстної моделі, що використовується спільно блоками TU розміром 32x32 і 16x16. Модуль 94 контекстного моделювання потім визначає оцінку ймовірності для значення першого коефіцієнта, асоційованого з призначеним контекстом (5) в об'єднаній контекстної моделі, і оновлює оцінку ймовірності, асоційовану з призначеним контекстом (5) в об'єднаній контекстної моделі, на підставі фактичного закодованого значення першого коефіцієнта. Другим коефіцієнтом у другому TU розміром 16x16 можна також призначити той самий контекст (5) в об'єднаній контекстної моделі, що і коефіцієнту в першому TU. Модуль 94 контекстного моделювання потім визначає оцінку ймовірності для значення другого коефіцієнта, асоційованого з тим же самим призначеним контекстом (5) в об'єднаній контекстної моделі, і оновлює оцінку ймовірності, асоційовану з тим же самим призначеним контекстом (5) в об'єднаній контекстної моделі, на підставі фактичного закодованого значення другого коефіцієнта.

[0119] Фіг. 6 блок-схем�сти для коефіцієнтів відео згідно об'єднаної контекстної моделі. Модуль 80 статистичного декодування включає в себе модуль 102 арифметичного кодування, модуль 104 контекстного моделювання і сховище 106 об'єднаної контекстної моделі. Як описано вище, способи згідно з цим винаходу спрямовані на виконання статистичного декодування коефіцієнтів відео, використовуючи об'єднану контекстну модель, спільно використовувану між блоками перетворення, що мають різні розміри. Зокрема, способи описані тут щодо процесу декодування CABAC. Модуль 80 статистичного декодування може працювати способом, по суті зворотним такого для модуля 56 статистичного кодування згідно фіг. 5.

[0120] Модуль 80 статистичного декодування підтримує об'єднану контекстну модель, спільно використовувану між блоками перетворення, що мають різні розміри, в сховище 106 об'єднаної контекстної моделі. Об'єднана контекстна модель, збережена у сховище 106 об'єднаної контекстної моделі, по суті подібна до об'єднаної контекстної моделі, що зберігається в сховищі 98 об'єднаної контекстної моделі в модулі 56 статистичного кодування згідно фіг. 5. В якості одного прикладу, зберігали� блоком TU, має перший розмір, з коефіцієнтами, обнуленними щоб генерувати блок решти коефіцієнтів, який має другий розмір, і блоком TU, спочатку мають другий розмір. В якості іншого прикладу, сховище 106 об'єднаної контекстної моделі може зберігати об'єднану контекстну модель, яка спільно використовується блоком TU, які мають перший розмір, і ТУ, що мають другий розмір. У деяких випадках перший розмір може містити 32x32, і другий розмір може містити 16x16.

[0121] Модуль 102 арифметичного декодування приймає закодований потік бітів, який представляє закодовані коефіцієнти перетворення, асоційовані з блоком TU або першого розміру або другого розміру. Модуль 102 арифметичного декодування декодує перший коефіцієнт, включений у бітовий потік. Модуль 104 контекстного моделювання потім призначає контекст на наступний кодований коефіцієнт, включений у бітовий потік, на підставі значення першого декодованого коефіцієнта. Аналогічним чином модуль 104 контекстного моделювання призначає контекст на кожен з кодованих коефіцієнтів, включених у бітовий потік, на підставі значень раніше декодованих сусідніх коэффици�т призначити контексти відповідно до того, є значення раніше декодованих сусідніх коефіцієнтів відмінними від нуля. Призначений контекст може ставитися до індексу контексту в об'єднаній контекстної моделі.

[0122] Після того, як контекст призначений кодованому коефіцієнту, модуль 104 контекстного моделювання може визначити оцінку ймовірності для значення (наприклад, 0 або 1) кодованого коефіцієнта, асоційованого з призначеним контекстом в об'єднаній контекстної моделі. Кожен різний індекс контексту асоційований з оцінкою ймовірності. Модуль 104 контекстного моделювання подає певну оцінку ймовірності кодованого коефіцієнта назад до модулю 102 арифметичного декодування. Модуль 102 арифметичного декодування потім арифметично декодує кодований коефіцієнт на підставі певної оцінки вірогідності коефіцієнта, асоційованого з призначеним контекстом. Таким чином, модуль 102 арифметичного декодування генерує декодированние коефіцієнти перетворення в ТУ або першого розміру або другого розміру згідно об'єднаної контекстної моделі.

[0123] Після декодування модуль 102 арифметичного декодування подає фактичне декодированное анную з призначеним контекстом в об'єднаній контекстної моделі в сховище 106 об'єднаної контекстної моделі. За допомогою безперервного оновлення оцінок ймовірності об'єднаної контекстної моделі, щоб відобразити фактичні декодированние значення коефіцієнтів, оцінки ймовірності для майбутніх коефіцієнтів, призначені на одні і ті ж контексти в об'єднаній контекстної моделі, можуть бути більш точними і привести до подальшого зменшеному декодуванню бітів за допомогою модуля 102 арифметичного декодування.

[0124] У першому прикладі сховище 106 об'єднаної контекстної моделі може зберегти об'єднану контекстну модель, яка спільно використовується блоком TU, які мають перший розмір, з коефіцієнтами, обнуленними щоб генерувати блок решти коефіцієнтів, який має другий розмір, і блоком TU, спочатку мають другий розмір. Наприклад, сховище 106 об'єднаної контекстної моделі може зберегти об'єднану контекстну модель, яка спільно використовується блоком решти коефіцієнтів, які мають розмір 16x16 в блоці TU, спочатку має розмір 32x32, і ТУ, спочатку має розмір 16x16.

[0125] Перший кодований коефіцієнт, асоційований з блоком решти коефіцієнтів розміром 16x16 в першому TU розміром 32x32, може бути призначеним контекстом (5) в об'єднаній конте� блок решти коефіцієнтів, має розмір 16x16, і TU розміром 16x16. Модуль 104 контекстного моделювання потім визначає оцінку ймовірності для значення першого кодованого коефіцієнта, асоційованого з призначеним контекстом (5) в об'єднаній контекстної моделі, і оновлює оцінку ймовірності, асоційовану з призначеним контекстом (5) в об'єднаній контекстної моделі, на підставі фактичного декодувати значення першого коефіцієнта. Другого закодированному коефіцієнту, асоційованого з другої блоком TU розміром 16x16, може бути призначений той самий контекст (5) в об'єднаній контекстної моделі, що і перший кодований коефіцієнт, асоційований з блоком решти коефіцієнтів в першому TU. Модуль 104 контекстного моделювання потім визначає оцінку ймовірності для значення другого кодованого коефіцієнта, асоційованого з одним і тим же призначеним контекстом (5) в об'єднаній контекстної моделі, і оновлює оцінку ймовірності, асоційовану з одним і тим же призначеним контекстом (5) в об'єднаній контекстної моделі, на підставі фактичного декодувати значення другого коефіцієнта.

[0126] У другому прикладі сховище 106 об'єднаної контекстної моделі може TU, мають другий розмір. Наприклад, сховище 106 об'єднаної контекстної моделі може зберігати об'єднану контекстну модель, яка спільно використовується блоками TU, мають розміри 32x32 і 16x16. Перший кодований коефіцієнт, асоційований з першої блоком TU розміром 32x32, може мати призначений контекст (5) в об'єднаній контекстної моделі, що використовується спільно блоком TU розміром 32x32, і блоком TU розміром 16x16. Модуль 104 контекстного моделювання потім визначає оцінку ймовірності для значення першого кодованого коефіцієнта, асоційованого з призначеним контекстом (5) в об'єднаній контекстної моделі, і оновлює оцінку ймовірності, асоційовану з призначеним контекстом (5) в об'єднаній контекстної моделі, на підставі фактичного декодувати значення першого коефіцієнта. Другого кодованому коефіцієнту, асоційованого з другим блоком TU розміром 16x16, може бути призначений той самий контекст (5) в об'єднаній контекстної моделі, що і перший кодований коефіцієнт, асоційований з першої блоком TU. Модуль 104 контекстного моделювання потім визначає оцінку ймовірності для значення другого кодованого коефіцієнта, асоційованого з одним і тим �ву з одним і тим же призначеним контекстом (5) в об'єднаній контекстної моделі, на підставі фактичного декодувати значення другого коефіцієнта.

[0127] Фіг. 7 є послідовністю операцій, що ілюструє приблизну операцію статистичного кодування і декодування коефіцієнтів відео, використовуючи об'єднану контекстну модель, спільно використовувану між першим блоком перетворення, що мають перший розмір, і другим блоком перетворення, що мають другий розмір. Ілюстрована операція описана щодо модуля 56 статистичного кодування згідно фіг. 5 в кодері 20 відео згідно фіг. 2 і модуля 80 статистичного декодування згідно фіг. 6 в декодері 30 відео згідно фіг. 3, хоча інші пристрої можуть реалізувати такі способи.

[0128] ілюстрованої операції модуль 56 статистичного кодування в кодері 20 відео і модуль 80 статистичного кодування в декодері 30 відео можуть підтримувати об'єднану контекстну модель, яка спільно використовується блоком TU, які мають перший розмір, і блоком TU, що мають другий розмір. У цьому випадку коефіцієнти, включені в перший TU, має перший розмір, наприклад, 32x32, можуть мати аналогічну статистику ймовірності, що і коефіцієнти, включені у другій TU другого розміру, наприклад, 16x16, доэффициенти представляють такі маленькі залишкові дані відео, вплив на імовірнісну статистику сусідніх коефіцієнтів для статистичного кодування незначно.

[0129] В одному випадку кодер 20 відео може використовувати модуль 52 перетворення, щоб перетворити залишкові дані відео коефіцієнти перетворення в блоці TU, має перший розмір (120). В іншому випадку кодер 20 відео може використовувати модуль 52 перетворення, щоб перетворити залишкові дані відео коефіцієнти перетворення в блоці TU, що має другий розмір (121). Незалежно від того, чи має TU перший розмір або другий розмір, способи згідно з цим винаходу дозволяють модулю 56 статистичного кодування статистично кодувати коефіцієнти в блоці TU згідно однієї і тієї ж об'єднаної контекстної моделі. Ці способи тому зменшують обсяг пам'яті, необхідної, щоб зберігати контексти і ймовірності на кодері 20 відео, та зменшити обчислювальні витрати підтримки контекстних моделей на кодері 20 відео.

[0130] Модуль 94 контекстного моделювання в модулі 56 статистичного кодування вибирає контекст для кожного коефіцієнта в блоці TU згідно об'єднаної контекстної моделі, що використовується спільно блоками TU, мають і перший розмір і втоент блоку TU на підставі значень раніше кодованих сусідніх коефіцієнтів цього блоку TU згідно об'єднаної контекстної моделі. Модуль 94 контекстного моделювання потім може визначити оцінку ймовірності для значення (наприклад, 0 або 1) коефіцієнта, асоційованого з призначеним контекстом в об'єднаній контекстної моделі в сховище 98 об'єднаної контекстної моделі. Модуль 99 арифметичного кодування потім арифметично кодує цей коефіцієнт на підставі обраного контексту для цього коефіцієнта (124).

[0131] Після кодування модуль 99 арифметичного кодування подає фактичні кодовані значення коефіцієнтів назад до модулю 94 контекстного моделювання. Модуль 94 контекстного моделювання може потім оновити оцінку ймовірності об'єднаної контекстної моделі на підставі фактичних кодованих значень коефіцієнтів в блоці TU або першого розміру або другого розміру (126). Кодер 20 відео передає потік бітів, що представляє кодовані коефіцієнти, асоційовані з блоком TU або першого розміру або другого розміру, до 30 відео декодера (128).

[0132] Декодер 30 відео може прийняти потік бітів, який представляє кодовані коефіцієнти, асоційовані з блоком TU, які мають або перший розмір або другий розмір (130). Незалежно від того, чи має TU перший розмір або другий размедекодировать коефіцієнти, асоційовані з блоком TU, на підставі однієї і тієї ж об'єднаної контекстної моделі. Ці способи тому можуть зменшити обсяг пам'яті, необхідної, щоб зберігати контексти і ймовірності на декодері 30 відео, та зменшити обчислювальні витрати підтримки контекстних моделей на декодері 30 відео.

[0133] Модуль 104 контекстного моделювання в модулі 80 статистичного декодування вибирає контекст для кожного кодованого коефіцієнта, асоційованого з блоком TU, згідно об'єднаної контекстної моделі, що використовується спільно блоками TU, мають і перший розмір і другий розмір (132). Більш конкретно, модуль 104 контекстного моделювання може призначити контекст на наступний кодований коефіцієнт, асоційований з блоком TU, на підставі значень раніше декодованих сусідніх коефіцієнтів TU згідно об'єднаної контекстної моделі. Модуль 104 контекстного моделювання потім може визначити оцінку ймовірності для значення (наприклад, 0 або 1) кодованого коефіцієнта, асоційованого з призначеним контекстом, в об'єднаній контекстної моделі в сховище 106 об'єднаної контекстної моделі. Модуль 104 контекстного моделювання подає певну оцінку веро�кого декодування. Модуль 102 арифметичного декодування потім арифметично декодує кодований коефіцієнт блок TU або першого розміру або другого розміру на підставі обраного контексту (134).

[0134] Після декодування, модуль 102 арифметичного декодування подає фактичні декодированние значення коефіцієнтів до модулю 104 контекстного моделювання. Модуль 104 контекстного моделювання може потім оновити оцінку ймовірності об'єднаної контекстної моделі на підставі фактичних декодованих значень коефіцієнтів в блоці TU або першого розміру або другого розміру (136). В одному випадку декодер 30 відео може використовувати модуль 88 зворотного перетворення для зворотного перетворення коефіцієнтів в блоці TU, має перший розмір, залишкові дані відео (138). В іншому випадку декодер 30 відео може використовувати модуль 88 зворотного перетворення для зворотного перетворення коефіцієнтів в блоці TU, що має другий розмір, залишкові дані відео (139).

[0135] Фіг. 8 є послідовністю операцій, що ілюструє приблизну операцію статистичного кодування і декодування коефіцієнтів відео, використовуючи об'єднану контекстну модель, яка спільно використовується крейда решти коефіцієнтів, має другий розмір, і другим блоком перетворення, що мають другий розмір. Ілюстрована операція описана щодо модуля 56 статистичного кодування згідно фіг. 4 в кодері 20 відео згідно фіг. 2 і модуля 80 статистичного декодування згідно фіг. 5 в декодері 30 відео згідно фіг. 3, хоча інші пристрої можуть реалізувати такі способи.

[0136] ілюстрованої операції модуль 56 статистичного кодування в кодері 20 відео і модуль 80 статистичного кодування в декодері 30 відео можуть підтримувати об'єднану контекстну модель, яка спільно використовується блоком TU, які мають перший розмір з коефіцієнтом, обнуленим, щоб генерувати блок решти коефіцієнтів, який має другий розмір, і блоком TU, що мають другий розмір. У цьому випадку коефіцієнти, включені в блок решти коефіцієнтів, який має другий розмір, наприклад, 16x16, у першому блоці TU, має перший розмір, наприклад, 32x32, може мати аналогічну статистику ймовірності, що і коефіцієнти, включені у другій TU другого розміру, наприклад, 16x16.

[0137] В одному випадку кодер 20 відео може використовувати модуль 52 перетворення, щоб перетворити залишкові дані відео коефіцієнти перетворення, перетворення, для генерування блоку залишилися коефіцієнтів, що має другий розмір в першому TU (141). Частина обнулені коефіцієнтів перетворення зазвичай включає в себе високочастотні коефіцієнти перетворення щодо коефіцієнтів в блоці решти коефіцієнтів. Високочастотні коефіцієнти перетворення можуть містити такі маленькі залишкові дані відео, що встановлення цих значень рівними нулю має незначний вплив на якість декодувати відео. В іншому випадку кодер 20 відео може використовувати модуль 52 перетворення, щоб перетворити залишкові дані відео коефіцієнти перетворення в блоці TU, що має другий розмір (142).

[0138] Незалежно від того, чи має TU спочатку перший розмір або другий розмір, способи згідно з цим винаходу дозволяють модулю 56 статистичного кодування статистично кодувати залишилися коефіцієнти в блоці TU згідно однієї і тієї ж об'єднаної контекстної моделі. Ці способи тому зменшують обсяг пам'яті, необхідної, щоб зберігати контексти і ймовірності на кодері 20 відео і зменшити обчислювальні витрати підтримки контекстних моделей на кодері 20 відео.

[0139] Модуль 94 контекстного модел�оці TU згідно об'єднаної контекстної моделі, використовується спільно з блоком TU, які мають перший розмір, з коефіцієнтами, обнуленними до другого розміру, і блоком TU, що мають другий розмір (144). Більш конкретно, модуль 94 контекстного моделювання призначає контекст на заданий коефіцієнт в блоці решти коефіцієнтів першого блоку TU на підставі значень раніше кодованих сусідніх коефіцієнтів блоку залишилися коефіцієнтів згідно об'єднаної контекстної моделі. Модуль 94 контекстного моделювання потім може визначити оцінку ймовірності для значення (наприклад, 0 або 1) коефіцієнта, асоційованого з призначеним контекстом в об'єднаній контекстної моделі, в сховище 98 об'єднаної контекстної моделі. Модуль 99 арифметичного кодування потім арифметично кодує цей коефіцієнт на підставі обраного контексту для коефіцієнта (146).

[0140] Після кодування модуль 99 арифметичного кодування подає фактичні кодовані значення коефіцієнтів назад до модулю 94 контекстного моделювання. Модуль 94 контекстного моделювання може потім оновити оцінку ймовірності об'єднаної контекстної моделі на підставі фактичних кодованих значень коефіцієнтів в блоці решти коефіцієнтів�струм бітів, представляє кодовані коефіцієнти, асоційовані з блоком решти коефіцієнтів в блоці TU першого розміру, або блоком TU другого розміру, до 30 відео декодера (150).

[0141] Декодер 30 відео може прийняти потік бітів, який представляє кодовані коефіцієнти, асоційовані з блоком решти коефіцієнтів другого розміру в блоці TU першого розміру, або блоком TU спочатку другого розміру (152). Незалежно від того, чи має TU перший розмір або другий розмір, способи згідно з цим винаходу дозволяють модулю 80 статистичного декодування статистично декодувати коефіцієнти, асоційовані з блоком TU на підставі однієї і тієї ж об'єднаної контекстної моделі. Ці способи тому зменшують обсяг пам'яті, необхідної, щоб зберігати контексти і ймовірності на декодері 30 відео, та зменшити обчислювальні витрати підтримки контекстних моделей на декодері 30 відео.

[0142] Модуль 104 контекстного моделювання в модулі 80 статистичного декодування вибирає контекст для кожного коефіцієнта, асоційованого з блоком TU згідно об'єднаної контекстної моделі, що використовується спільно блоком TU, які мають перший розмір, з коефіцієнтами, обнуленними чтБолее конкретно, модуль 104 контекстного моделювання може призначити контекст на наступний кодований коефіцієнт, асоційований з блоком решти коефіцієнтів першого TU на підставі значень раніше декодованих сусідніх коефіцієнтів блоку залишилися коефіцієнтів згідно об'єднаної контекстної моделі. Модуль 104 контекстного моделювання потім може визначити оцінку ймовірності для значення (наприклад, 0 або 1) кодованого коефіцієнта, асоційованого з призначеним контекстом в об'єднаній контекстної моделі, в сховище 106 об'єднаної контекстної моделі. Модуль 104 контекстного моделювання подає певну ймовірність, асоційовану з обраним контекстом для кодованого коефіцієнта, тому до модулю 102 арифметичного декодування. Модуль 102 арифметичного декодування потім арифметично декодує кодований коефіцієнт блок решти коефіцієнтів в блоці TU першого розміру, або TU другого розміру на підставі обраного контексту (156).

[0143] Після декодування модуль 102 арифметичного декодування подає фактичні декодированние значення коефіцієнтів до модулю 104 контекстного моделювання. Модуль 104 контекстного моделювання мож�их значень коефіцієнтів в блоці решти коефіцієнтів другого розміру в блоці TU першого розміру, або блоці TU спочатку другого розміру (158). В одному випадку декодер 30 відео може використовувати модуль 88 зворотного перетворення для зворотного перетворення коефіцієнтів блоку залишилися коефіцієнтів, що має другий розмір в блоці TU, має перший розмір, залишкові дані відео (160). Таким чином, модуль 88 зворотного перетворення може генерувати TU, має перший розмір, за допомогою включення залишкових даних блоку залишилися коефіцієнтів, що має другий розмір, і додавання нулів, що представляють залишилися залишкові дані в TU. В іншому випадку декодер 30 відео може використовувати модуль 88 зворотного перетворення для зворотного перетворення коефіцієнтів в блоці TU, що має другий розмір, залишкові дані відео (162).

[0144] В одному або більше прикладах наведені функції можуть бути реалізовані в апаратне забезпечення, програмне забезпечення, програмно-апаратних засобах, або будь-якої їх комбінації. Якщо реалізовано в програмному забезпеченні, ці функції можуть бути збережені або передані, як одна або більше інструкцій або код, за допомогою считиваемого комп'ютером носія і виконані заснованим на апаратному забезпеченні блоком обробки. Зчитаний до�териальному носія, такого як запам'ятовувальний носій даних, або комунікаційний носій, що включає в себе будь-який носій, який полегшує передачу комп'ютерної програми від одного місця до іншого, наприклад, згідно з протоколом зв'язку. У цьому способі зчитаний комп'ютером носій в цілому може відповідати (1) матеріального считиваемому комп'ютером носій даних, який є невременним, або (2) комунікаційному носія, таким як сигнал або несуча. Запам'ятовуючим носієм даних може бути будь-який доступний носій, до якої можуть отримати доступ один або більше комп'ютерів або один або більше процесорів, щоб отримати інструкції, код та/або структури даних для реалізації способів, описаних у цьому винаході. Комп'ютерний програмний продукт може включати в себе зчитаний комп'ютером носій.

[0145] за Допомогою прикладу, а не обмеження, такі зчитуються комп'ютером носії даних можуть містити RAM, ROM, EEPROM, CD-ROM або іншого накопичувач на оптичних дисках, накопичувач на магнітних дисках, або інші магнітні пристрої зберігання флеш-пам'ять, або будь-який інший носій, який може використовуватися, щоб зберігати бажаний код программинение належним чином називають зчитуваним комп'ютером носієм. Наприклад, якщо інструкції передані від вебсайту, сервера, або іншого віддаленого джерела, що використовує коаксіальний кабель, волоконно-оптичний кабель, виту пару, цифрову абонентську лінію (DSL), або бездротові технології, такі як інфрачервоне, радіо і мікрохвильове випромінювання, то ці коаксіальний кабель, волоконно-оптичний кабель, вита пара, DSL, або бездротові технології, такі як інфрачервоне, радіо і мікрохвильове випромінювання включаються у визначення носія. Потрібно мати на увазі, однак, що зчитуються комп'ютером носії даних та запам'ятовуючі пристрої даних не включають в себе сполуки, що несуть, сигнали, або інші тимчасові носії, але замість цього спрямовані на нетимчасові, матеріальні носії даних. Диск і диск, як використовується тут, включають в себе компакт-диск (CD), лазерний диск, оптичний диск, цифровий універсальний диск (DVD), дискета, диск Blu-ray, де диски (disks) зазвичай відтворюють дані магнітним чином, у той час як диски (dicks) зазвичай відтворюють дані оптично з допомогою лазерів. Комбінації вищезазначеного повинні також бути включені в рамки считиваемого комп'ютером носія.

[0146] Інструкції можуть бути виконані один або більш процес�иализированние інтегральні схеми (ASIC), програмовані користувачем логічні матриці (FPGA), або інші еквівалентні інтегральні або дискретні логічні схеми. Відповідно, термін "процесор", як використовується тут, може ставитися до будь-якої попередньої структурі чи будь-якою іншою структурою, відповідною для реалізації способів, описаних тут. Крім того, в деяких аспектах функціональні можливості, описані тут, можуть бути забезпечені в спеціалізованому програмному забезпеченні та/або програмних модулях, сконфігурованих для кодування і декодування, або вбудовані в об'єднаний кодек. Крім того, способи можуть бути повністю реалізовані в одній або більше схемах або логічних елементах.

[0147] Способи згідно з цим винаходу можуть бути реалізовані в широкому розмаїтті пристроїв або пристроїв, включаючи бездротову телефонну трубку, інтегральну схему (IC) або набір IC (наприклад, мікропроцесорний набір). Різні компоненти, модулі, або блоки описані в цьому винаході, щоб підкреслити функціональні аспекти пристроїв, що конфігуруються, щоб виконувати розкриті способи, але не обов'язково вимагати реалізації різними блоками апаратного забезпечення. Замість цього, оллекцией взаємодіючих блоків апаратного забезпечення, включаючи один або більше процесорів, як описано вище, у поєднанні з відповідним програмним забезпеченням та/або програмно-апаратними засобами.

1. Спосіб кодування відео даних, що містить:
підтримка безлічі контекстних моделей для ентропійного кодування коефіцієнтів перетворення відео даних, при цьому безліч тематичних моделей включає в себе одну або більше контекстних моделей, причому кожна використовується для різного розміру одиниці перетворення, і щонайменше одну об'єднану контекстну модель, використовувану для двох або більше розмірів одиниці перетворення;
вибір об'єднаної контекстної моделі, що використовується спільно першою одиницею перетворення, має перший розмір, і другий одиницею перетворення, що має другий розмір, для ентропійного кодування коефіцієнтів перетворення в одній з першої одиниці перетворення або другої одиниці перетворення, при цьому перший розмір і другий розмір різні, і при цьому кожна з одиниць перетворення містять залишкову одиницю відео даних, що включає в себе безліч блоків коефіцієнтів перетворення;
вибір контекстів для коефіцієнтів перетворення, асоційованих з ододели, при цьому вибір контекстів для коефіцієнтів перетворення містить призначення контексту в об'єднаній контекстної моделі заданому одному з коефіцієнтів перетворення на підставі значень раніше закодованих сусідніх коефіцієнтів перетворення згаданої однієї з одиниць перетворення та визначення оцінки ймовірності для заданого значення одного з коефіцієнтів перетворення, асоційованих з призначеним контекстом в об'єднаній контекстної моделі;
энтропийное кодування коефіцієнтів перетворення згаданої однієї з одиниць перетворення, використовуючи контекстно-адаптивне двійкове арифметичне кодування (САВАС) на підставі обраних контекстів.

2. Спосіб за п. 1, при цьому об'єднана контекстна модель містить об'єднану контекстну модель карти значущості, додатково містить:
вибір контекстів для компонентів карти значущості для коефіцієнтів перетворення, асоційованих з однієї з першої одиниці перетворення або другої одиниці перетворення згідно об'єднаної контекстної моделі;
энтропийное кодування компонентів карти значущості, асоційованих з згаданої однієї з одиниць перетворення на оснЕоциированной з призначеним контекстом, в об'єднаній контекстної моделі на підставі фактичних закодованих значень коефіцієнтів перетворення першої одиниці перетворення, має перший розмір, і другий одиниці перетворення, що має другий розмір.

4. Спосіб за п. 1, у якому спосіб містить спосіб декодування відео даних, причому спосіб додатково містить:
прийом потоку бітів, який представляє закодовані коефіцієнти перетворення, асоційовані з однієї з першої одиниці перетворення, має перший розмір, або другий одиниці перетворення, що має другий розмір;
вибір контекстів для закодованих коефіцієнтів перетворення згідно об'єднаної контекстної моделі;
энтропийное декодування закодованих коефіцієнтів перетворення в одну з одиниць перетворення на підставі обраних контекстів.

5. Спосіб за п. 4, додатково містить зворотне перетворення коефіцієнтів перетворення згаданої одній з першої одиниці перетворення, має перший розмір, або другий одиниці перетворення, що має другий розмір, залишкові піксельні значення.

6. Спосіб за п. 1, у якому спосіб містить спосіб кодування відео даних, причому спосіб деделах згаданої одній з першої одиниці перетворення, має перший розмір, або другий одиниці перетворення, що має другий розмір;
вибір контекстів для коефіцієнтів перетворення згаданої однієї з одиниць перетворення згідно об'єднаної контекстної моделі;
энтропийное кодування коефіцієнтів перетворення згаданої однієї з одиниць перетворення на підставі обраних контекстів.

7. Спосіб за п. 1, в якому перша одиниця перетворення першого розміру містить одиницю перетворення 32×32, і в якому друга одиниця перетворення другого розміру містить одиницю перетворення 16×16.

8. Спосіб за п. 1, в якому вибір контекстів згідно об'єднаної контекстної моделі містить:
призначення контексту в об'єднаній контекстної моделі першого коефіцієнту перетворення першої одиниці перетворення, має перший розмір, на підставі значень раніше закодованих сусідніх коефіцієнтів перетворення першої одиниці перетворення;
визначення оцінки ймовірності для значення першого коефіцієнта перетворення, асоційованого з призначеним контекстом в об'єднаній контекстної моделі;
оновлення оцінки ймовірності, асоційованої з призначеним контекстом в об'єднаній контназначение того ж самого контексту в об'єднаній контекстної моделі другого коефіцієнту перетворення другої одиниці перетворення, має другий розмір, на підставі значень раніше закодованих сусідніх коефіцієнтів перетворення другої одиниці перетворення;
визначення оцінки ймовірності для значення другого коефіцієнта перетворення, асоційованого з тим же самим призначеним контекстом в об'єднаній контекстної моделі;
оновлення оцінки ймовірності, асоційованої з тим же самим призначеним контекстом в об'єднаній контекстної моделі на підставі фактичного закодованого значення другого коефіцієнта перетворення.

9. Спосіб за п. 1, додатково містить вибір однієї зі згаданих однієї чи більше контекстних моделей для ентропійного кодування коефіцієнтів перетворення в одиниці перетворення, має третій розмір, при цьому третій розмір відрізняється від першого розміру і другого розміру.

10. Спосіб за п. 1, в якому энтропийное кодування коефіцієнтів перетворення згаданої однієї з одиниць перетворення, використовуючи САВАС, містить арифметичне кодування заданого одного з коефіцієнтів перетворення на підставі певної оцінки ймовірності для заданого значення одного з коефіцієнтів перетворення, асоційованих з призначеним тва контекстних моделей для ентропійного кодування коефіцієнтів перетворення відео даних, при цьому безліч тематичних моделей включає в себе одну або більше контекстних моделей, які кожна використовуються для різного розміру одиниці перетворення, і щонайменше одну об'єднану контекстну модель, використовувану для двох або більше розмірів одиниці перетворення;
процесор, сконфігурований для:
вибору об'єднаної контекстної моделі, що використовується спільно першою одиницею перетворення, має перший розмір, і другий одиницею перетворення, що має другий розмір, для ентропійного кодування коефіцієнтів перетворення в одній з першої одиниці перетворення або другої одиниці перетворення, при цьому перший розмір і другий розмір різні, і при цьому кожна з одиниць перетворення містять залишкову одиницю відео даних, що включає в себе безліч блоків коефіцієнтів перетворення,
вибору контекстів для коефіцієнтів перетворення, асоційованих з однієї з першої одиниці перетворення або другої одиниці перетворення згідно об'єднаної контекстної моделі, при цьому процесор налаштований, щоб призначати контекст об'єднаної контекстної моделі заданому одному з коефіцієнтів перетворення на засновано�ования і визначати оцінку ймовірності для заданого значення одного з коефіцієнтів перетворення, асоційованих з призначеним контекстом в об'єднаній контекстної моделі та
ентропійно кодувати коефіцієнти перетворення згаданої однієї з одиниць перетворення, використовуючи контекстно-адаптивне двійкове арифметичне кодування (САВАС) на підставі обраних контекстів.

12. Пристрій кодування відео по п. 11, в якому об'єднана контекстна модель містить об'єднану контекстну модель карти значущості, при цьому процесор налаштований, щоб:
вибирати контексти для компонентів карти значущості для коефіцієнтів перетворення, асоційованих з однієї з першої одиниці перетворення або другої одиниці перетворення згідно об'єднаної контекстної моделі;
ентропійно кодувати компоненти карти значущості, асоційовані з згаданої однієї з одиниць перетворення на підставі обраних контекстів.

13. Пристрій кодування відео по п. 11, в якому процесор налаштований, щоб оновлювати оцінку ймовірності, асоційовану з призначеним контекстом в об'єднаній контекстної моделі на підставі фактичних закодованих значень коефіцієнтів перетворення першої одиниці перетворення, має перший розмір, і другий екодировки відео містить пристрій декодування відео, у якому процесор налаштований, щоб:
приймати потік бітів, який представляє закодовані коефіцієнти перетворення, асоційовані з однієї з першої одиниці перетворення, має перший розмір, або другий одиниці перетворення, що має другий розмір;
вибирати контексти для закодованих коефіцієнтів перетворення згідно об'єднаної контекстної моделі;
ентропійно розшифрувати закодовані коефіцієнти перетворення в одну з одиниць перетворення на підставі обраних контекстів.

15. Пристрій кодування відео по п. 14, в якому процесор налаштований для зворотного перетворення коефіцієнтів перетворення згаданої одній з першої одиниці перетворення, має перший розмір, або другий одиниці перетворення, що має другий розмір, залишкові піксельні значення.

16. Пристрій кодування відео по п. 11, в якому пристрій кодування відео містить пристрій кодування відео, в якому процесор налаштований, щоб:
перетворювати залишкові піксельні значення коефіцієнти перетворення в межах згаданої одній з першої одиниці перетворення, має перший розмір, або другий одиниці convert�одиниць перетворення згідно об'єднаної контекстної моделі; і
ентропійно кодувати коефіцієнти перетворення згаданої однієї з одиниць перетворення на підставі обраних контекстів.

17. Пристрій кодування відео по п. 11, в якому перша одиниця перетворення першого розміру містить одиницю перетворення 32×32, і в якому друга одиниця перетворення другого розміру містить одиницю перетворення 16×16.

18. Пристрій кодування відео по п. 11, в якому процесор налаштований, щоб:
призначати контекст об'єднаної контекстної моделі першого коефіцієнту перетворення першої одиниці перетворення, має перший розмір, на підставі значень раніше закодованих сусідніх коефіцієнтів перетворення першої одиниці перетворення;
визначати оцінку ймовірності для значення першого коефіцієнта перетворення, асоційованого з призначеним контекстом в об'єднаній контекстної моделі;
оновлювати оцінку ймовірності, асоційовану з призначеним контекстом в об'єднаній контекстної моделі, на підставі фактичного закодованого значення першого коефіцієнта перетворення;
призначати той самий контекст об'єднаної контекстної моделі другого коефіцієнту перетворення другий �нтів перетворення другої одиниці перетворення;
визначати оцінку ймовірності для значення другого коефіцієнта перетворення, асоційованого з тим же самим призначеним контекстом, в об'єднаній контекстної моделі;
оновлювати оцінку ймовірності, асоційовану з тим же самим призначеним контекстом в об'єднаній контекстної моделі, на підставі фактичного закодованого значення другого коефіцієнта перетворення.

19. Пристрій кодування відео по п. 11, в якому процесор налаштований, щоб вибирати одну із згаданих однієї чи більше контекстних моделей для ентропійного кодування коефіцієнтів перетворення в одиниці перетворення, має третій розмір, при цьому третій розмір відрізняється від першого розміру і другого розміру.

20. Пристрій кодування відео по п. 11, в якому процесор налаштований для арифметичного кодування заданого одного з коефіцієнтів перетворення на підставі певної оцінки ймовірності для згаданого значення одного з коефіцієнтів перетворення, асоційованих з призначеним контекстом.

21. Пристрій кодування відео, містить:
засіб для підтримки безлічі контекстних моделей для ентропійного кодування коефіцієнтів преобразой, причому кожна використовується для різного розміру одиниці перетворення, і щонайменше одну об'єднану контекстну модель, використовувану для двох або більше розмірів одиниці перетворення;
засіб для вибору об'єднаної контекстної моделі, що використовується спільно першою одиницею перетворення, має перший розмір, і другий одиницею перетворення, що має другий розмір, для ентропійного кодування коефіцієнтів перетворення в одній з першої одиниці перетворення або другої одиниці перетворення, при цьому перший розмір і другий розмір різні, і при цьому кожна з одиниць перетворення містять залишкову одиницю відео даних, що включає в себе безліч блоків коефіцієнтів перетворення;
засіб для вибору контекстів для коефіцієнтів перетворення, асоційованих з однієї з першої одиниці перетворення або другої одиниці перетворення згідно об'єднаної контекстної моделі, при цьому засіб для вибору контекстів для коефіцієнтів перетворення містить засіб для призначення контексту в об'єднаній контекстної моделі заданому одному з коефіцієнтів перетворення на підставі значень раніше закодованих сусідніх коэффиости для заданого значення одного з коефіцієнтів перетворення, асоційованих з призначеним контекстом в об'єднаній контекстної моделі;
засіб для ентропійного кодування коефіцієнтів перетворення згаданої однієї з одиниць перетворення, використовуючи контекстно-адаптивне двійкове арифметичне кодування (САВАС), на підставі обраних контекстів.

22. Пристрій кодування відео по п. 21, причому об'єднана контекстна модель містить об'єднану контекстну модель карти значущості, додатково містить:
засіб для вибору контекстів для компонентів карти значущості для коефіцієнтів перетворення, асоційованих з однієї з першої одиниці перетворення або другої одиниці перетворення згідно об'єднаної контекстної моделі;
засіб для ентропійного кодування компонентів карти значущості, асоційованих з згаданої однієї з одиниць перетворення, на підставі обраних контекстів.

23. Пристрій кодування відео по п. 21, додатково містить засіб оновлення оцінки ймовірності, асоційованої з призначеним контекстом в об'єднаній контекстної моделі, на підставі фактичних закодованих значень коефіцієнтів перетворення першої одиниці перетворення, має пе, � якому пристрій кодування відео містить пристрій декодування відео, додатково містить:
засіб для прийому потоку бітів, який представляє закодовані коефіцієнти перетворення, асоційовані з однієї з першої одиниці перетворення, має перший розмір, або другий одиниці перетворення, що має другий розмір;
засіб для вибору контекстів для закодованих коефіцієнтів перетворення згідно об'єднаної контекстної моделі;
засіб для ентропійного декодування закодованих коефіцієнтів перетворення в одну з одиниць перетворення на підставі обраних контекстів.

25. Пристрій кодування відео по п. 24, додатково містить засіб для зворотного перетворення коефіцієнтів перетворення згаданої одній з першої одиниці перетворення, має перший розмір, або другий одиниці перетворення, що має другий розмір, залишкові піксельні значення.

26. Пристрій кодування відео по п. 21, в якому пристрій кодування відео містить пристрій кодування відео, додатково містить:
засіб для перетворення залишкових піксельних значень коефіцієнти перетворення в межах упомяЉей другий розмір;
засіб для вибору контекстів для коефіцієнтів перетворення згаданої однієї з одиниць перетворення згідно об'єднаної контекстної моделі;
засіб для ентропійного кодування коефіцієнтів перетворення згаданої однієї з одиниць перетворення на підставі обраних контекстів.

27. Пристрій кодування відео по п. 21, в якому перша одиниця перетворення першого розміру містить одиницю перетворення 32×32, і в якому друга одиниця перетворення другого розміру містить одиницю перетворення 16×16.

28. Зчитаний комп'ютером носій, який має збережені на ньому інструкції для кодування відео даних, які, коли виконуються, змушують процесор:
підтримувати безліч тематичних моделей для ентропійного кодування коефіцієнтів перетворення відео даних, при цьому безліч тематичних моделей включає в себе одну або більше контекстних моделей, причому кожна використовується для різного розміру одиниці перетворення, і щонайменше одну об'єднану контекстну модель, використовувану для двох або більше розмірів одиниці перетворення;
вибирати об'єднану контекстну модель, яка спільно використовується першою одиницею convert�дирования коефіцієнтів перетворення в одній з першої одиниці перетворення або другої одиниці перетворення, при цьому перший розмір і другий розмір різні, і при цьому кожна з одиниць перетворення містять залишкову одиницю відео даних, що включає в себе безліч блоків коефіцієнтів перетворення;
вибирати контексти для коефіцієнтів перетворення, асоційованих з однієї з першої одиниці перетворення або другої одиниці перетворення згідно об'єднаної контекстної моделі, при цьому інструкції додатково змушують процесор призначати контекст об'єднаної контекстної моделі заданому одному з коефіцієнтів перетворення на підставі значень раніше закодованих сусідніх коефіцієнтів перетворення згаданої однієї з одиниць перетворення і визначати оцінку ймовірності для заданого значення одного з коефіцієнтів перетворення, асоційованих з призначеним контекстом в об'єднаній контекстної моделі;
ентропійно кодувати коефіцієнти перетворення згаданої однієї з одиниць перетворення, використовуючи контекстно-адаптивне двійкове арифметичне кодування (САВАС), на підставі обраних контекстів.

29. Зчитаний комп'ютером носій по п. 28, причому об'єднана контекстна модель містить об'єднану контекстну модеи для компонентів карти значущості для коефіцієнтів перетворення, асоційованих з однієї з першої одиниці перетворення або другої одиниці перетворення згідно об'єднаної контекстної моделі;
ентропійно кодувати компоненти карти значущості, асоційовані з згаданої однієї з одиниць перетворення, на підставі обраних контекстів.

30. Зчитаний комп'ютером носій по п. 28, в якому інструкції змушують процесор:
оновлювати оцінку ймовірності, асоційовану з призначеним контекстом в об'єднаній контекстної моделі, на підставі фактичних закодованих значень коефіцієнтів перетворення першої одиниці перетворення, має перший розмір, і другий одиниці перетворення, що має другий розмір.

31. Зчитаний комп'ютером носій по п. 28, в якому інструкції містять інструкції для декодування відео даних, що додатково містять інструкції, які змушують процесор:
приймати потік бітів, який представляє закодовані коефіцієнти перетворення, асоційовані з однієї з першої одиниці перетворення, має перший розмір, або другий одиниці перетворення, що має другий розмір;
вибирати контексти для закодованих коефіцієнтів перетворення згідно объединендиниц перетворення на підставі обраних контекстів.

32. Зчитаний комп'ютером носій по п. 31, додатково містить інструкції, які змушують процесор назад перетворювати коефіцієнти перетворення згаданої одній з першої одиниці перетворення, має перший розмір, або другий одиниці перетворення, що має другий розмір, залишкові піксельні значення.

33. Зчитаний комп'ютером носій по п. 28, в якому інструкції містять інструкції для кодування відео даних, додатково містять інструкції, які змушують процесор:
перетворювати залишкові піксельні значення коефіцієнти перетворення в межах згаданої одній з першої одиниці перетворення, має перший розмір, або другий одиниці перетворення, що має другий розмір;
вибирати контексти для коефіцієнтів перетворення згаданої однієї з одиниць перетворення згідно об'єднаної контекстної моделі;
ентропійно кодувати коефіцієнти перетворення згаданої однієї з одиниць перетворення на підставі обраних контекстів.

34. Зчитаний комп'ютером носій по п. 28, в якому перша одиниця перетворення першого розміру містить одиницю перетворення 32×32, і в якому друга одиниця прео

 

Схожі патенти:

Спосіб і система для компенсації освітленості і переходу при кодуванні та обробки відеосигналу

Винахід відноситься до засобів обробки зображень. Технічним результатом є підвищення продуктивності засоби відображення зображення при кодуванні та обробки відеосигналу. У способі створюють кілька кадрів картинки і пов'язані опорні кадри передбачення; для кожного кадру і пов'язаного опорного кадру передбачення обчислюють величину інтенсивності і величину кольору в першій колірної області; для кожного кадру і пов'язаного опорного кадру передбачення обчислюють коефіцієнти підсилення зваженого передбачення; якщо зазначені коефіцієнти є неотрицательними, то визначають, що у другій колірної області відбувається глобальний перехід з нульовим зміщенням; і якщо не всі зазначені коефіцієнти є неотрицательними, то визначають, що не відбувається глобальний перехід з поступовою зміною освітленості. 15 н. і 13 з.п. ф-ли, 16 іл.

Кодування і декодування відео з підвищеною стійкістю до помилок

Винахід відноситься до області обробки цифрового сигналу і, зокрема, до області стиснення відеосигналу з використанням компенсації руху. Технічний результат - зниження просторових і тимчасових избиточностей в відеопотоків. Для цього спосіб кодування містить отримання цільового кількості провісників інформацією руху, підлягають використанню для кодованого ділянки зображення, і генерацію набору провісників руху інформації з використанням отриманого цільового кількості. Набір генерується шляхом: отримання першого набору провісників інформацією руху, кожен з яких пов'язаний з ділянкою зображення, що мають заздалегідь визначене просторове та/або тимчасове співвідношення з кодируемим ділянкою зображення; модифікації першого набору провісників інформацією руху шляхом видалення дубльованих провісників руху інформації для отримання скороченого набору провісників руху інформації, що містить перше кількість провісників інформацією руху, причому кожен провісник інформацією руху із скороченого набору відрізняється від будь-якого іншого провісника руху інформації з сокращенногои якщо перше менше кількість цільового кількості, отримання додаткового провісника інформацією руху і його додавання в скорочений набір провісників інформацією руху. 6 н. і 20 з.п. ф-ли, 8 іл.

Пристрій і спосіб передачі, пристрій і спосіб прийому і система передачі і прийому

Винахід відноситься до мовної системи для передачі цифрової телевізійної програми, зокрема, до пристрою передачі та способу передачі, в яких можна отримати вміст, який відповідає потребам. Технічним результатом є забезпечення доставки вмісту до клієнта, яка на цей момент задовольняє його потребам. Зазначений технічний результат досягається тим, що сервер генерує сценарій PDI-S для отримання PDI-A користувача боку, представляє відповіді користувача на питання про уподобання користувача; генерує інформацію пуску для виконання PDI-А; і передає інформацію пуску і PDI-S клієнту у відповідь на доставку телевізійного вмісту, і передає клієнту у відповідь на доставку посилального вмісту PDI-A поставляє боку, представляє відповідь, встановлений постачальником, на запитання. Клієнт виконує PDI-S на основі виявлення інформації пуску і здійснює зіставлення між PDI-А користувацької боку і PDI-А що поставляє боку, для визначення одержання посилального вмісту, отриманого сервером. 5 н. і 5 з.п. ф-ли, 48 іл.

Спосіб і пристрій кодування і декодування зображення з використанням внутрикадрового передбачення

Винахід відноситься до обчислювальної техніки. Технічний результат полягає в підвищенні ефективності стиснення зображень за допомогою використання режимів внутрикадрового передбачення, мають різні напрями. Пристрій для кодування зображення з використанням внутрикадрового передбачення містить блок визначення режиму внутрикадрового передбачення, який визначає режим внутрикадрового передбачення поточного блоку, що підлягає кодуванню, причому режим внутрикадрового передбачення вказує певний напрям з безлічі напрямків, при цьому певний напрям вказується за допомогою одного з числа dx в горизонтальному напрямку і постійного числа у вертикальному напрямку і числа dy у вертикальному напрямку і постійного числа в горизонтальному напрямку; і блок виконання внутрикадрового передбачення, що виконує внутрикадровое передбачення стосовно поточного блоку у відповідності з режимом внутрикадрового передбачення, причому внутрикадровое передбачення містить етап, на якому визначають позицію сусідніх пікселів допомогою операції зсуву на основі позиції поточного пікселя і одного з параметрів dx і а або на верхній стороні поточного блоку. 2 н. і 7 з.п. ф-ли, 21 іл., 4 табл.

Кодування сигналу в масштабований потік бітів і декодування такого потоку бітів

Винахід відноситься до способу кодування бітової площині сигналів, наприклад сигналу зображення або відео в області перетворення DCT. Технічний результат - підвищення продуктивності масштабованого способу стиснення вмісту сигналу. Бітові площини у блоків DCT передаються площину за площиною у порядку значущості. Оскільки кожна площина містить більше енергії сигналу, ніж менш значущі шари разом, результуючий потік бітів є масштабованим в тому сенсі, що він може бути усічений в будь-якій позиції. Чим пізніше відсікається потік бітів, тим менша залишкова помилка, коли відновлюється зображення. Для кожної бітової площині створюється зона або поділ бітової площині, яка включає в себе всі нульові біти коефіцієнтів DCT в тій бітової площині. Поділ створюється у відповідності зі стратегією, яка вибирається з певної кількості варіантів в залежності від вмісту всього сигналу і/або фактичної бітової площині. Для природних зображень може використовуватися інша стратегія зонування, ніж для графічного вмісту, і стратегія може змінюватися від бітової площині до бітової площині. Форма, а також дружимому. Двовимірні прямокутні зони та одномірні зигзагоподібні зони розгортки можуть змішуватися в межах зображення або навіть в межах блоку DCT. Обрана стратегія створення зони вбудовується в потік бітів разом з бітами коефіцієнта DCT у фактичному поділі. 4 н. і 9 з.п. ф-ли, 5 іл.

Спосіб визначення незаконного застосування пристрою обробки системи безпеки

Винахід відноситься до засобів виявлення незаконного застосування пристрою обробки системи безпеки, використовуваного для дескремблирования різних мультимедіа даних, поширюваних по кільком відповідних каналах. Технічний результат полягає в зменшенні імовірності незаконного застосування пристрою обробки. Підраховують нові повідомлення ECMj,c, прийняті пристроєм обробки системи безпеки для каналів, що відрізняються від каналу i, після останнього прийнятого повідомлення ECMi,p. Перевіряють, що повідомлення ECMi,c прийнято протягом зазначеного тимчасового інтервалу, шляхом перевірки, що кількість нових повідомлень ECMj,c, прийнятих для каналів, що відрізняються від каналу i, досягає чи перевершує заданий поріг, більший двох. Збільшують лічильник Kchi на задану величину всякий раз, коли, після перевірки, повідомлення ECMi,c прийнято протягом заданого часового інтервалу, наступного безпосередньо за повідомленням ECMi,p, і, в іншому випадку скидають лічильник Kchi у вихідне значення, виявляють незаконне застосування, як тільки лічильник Kchi досягає заданого порогу. 3 н. і 7 з.п. ф-ли, 3 іл.

Спосіб і пристрій для кодування відео і спосіб і пристрій для декодування відео допомогою компенсації піксельного значення у відповідності з групами пікселів

Винахід відноситься до обчислювальної техніки. Технічний результат полягає в підвищенні якості відновленого зображення. Спосіб декодування відео містить отримання з бітового потоку інформації про компенсації піксельного значення у відповідності з смугою піксельного значення або рівнем граничного значення, якщо інформація про компенсації піксельного значення вказує смугу, застосування значення компенсації визначеної смуги, отриманого з бітового потоку, до пікселя, включеному в зумовлену смугу, серед пікселів поточного блоку; і якщо інформація про компенсації піксельного значення вказує рівень граничного значення, застосування значення компенсації зумовленого напрямку кордону, отриманого з бітового потоку, до пікселю у визначеному напрямку кордону, серед пікселів поточного блоку, причому зумовлена смуга є однією з смуг, сформованих розбиттям повного діапазону піксельних значень. 2 з.п. ф-ли, 22 іл., 2 табл.

Вказівка вибору режиму внутрішнього передбачення для відеокодування з використанням савас

Винахід відноситься до засобів кодування і декодування відео. Технічним результатом є підвищення ефективності сигналізації режиму внутрішнього передбачення використовується для кодування блоку даних шляхом забезпечення відносної економії біт для кодованого бітового потоку. Спосіб містить визначення першого найбільш ймовірного режиму внутрішнього передбачення і другого найбільш ймовірного режиму внутрішнього передбачення для поточного блоку відеоданих на основі контексту для поточного блоку, виконання процесу контекстно-адаптивного двійкового арифметичного кодування (САВАС) для визначення прийнятого кодового слова, відповідного модифікованому індексу режиму внутрішнього передбачення, визначення індексу режиму внутрішнього передбачення, вибір режиму внутрішнього передбачення. 16 м. та 34 з.п. ф-ли, 13 іл. 7 табл.

Управління доступом користувача до мультимедійного контенту

Винахід відноситься до мультимедійного пристрою і системі для управління доступом користувача до мультимедійного контенту. Технічним результатом є управління доступом користувача до мультимедійного контенту, причому доступ дозволяється саме на обраному мультимедійному обладнанні. Запропоновано мультимедійний пристрій (100, 200) для управління доступом користувача до мультимедійного контенту, що містить: засіб виведення (102, 103, 202) ідентифікуючого коду для забезпечення ідентифікуючого коду користувачеві, причому ідентифікуючий код ідентифікує мультимедійний пристрій; генератор (104, 204) керуючого коду для генерації керуючого коду в залежності від згаданого ідентифікуючого коду і права доступу; засіб вводу (106, 107, 206) коду доступу для приймання коду доступу від користувача. Код доступу згенерований в залежності від ідентифікуючого коду і права доступу деяким пристроєм коду доступу, а контролер (108, 208) доступу забезпечує порівняння коду доступу з керуючим кодом і, коли код доступу збігається з керуючим кодом, що дозволяє доступ користувача до мультимедійного контенту у відповідності з правом доступу. 4 н. і 10 з.п. ф-ли, 6 іл.

Спосіб та пристрій для управління настройками пристрою для відтворення вмісту елемента

Винахід відноситься до способу і пристрою для управління установками (параметрами) пристрої для відтворення елемента контенту. Технічним результатом є забезпечення відповідних установок для відтворення різних типів вмісту. Запропоновано спосіб керування установками пристрої візуалізації для відтворення елемента контенту, згадане пристрій візуалізації виконано з можливістю з'єднання з принаймні одним пристроєм джерела, згадане щонайменше один пристрій джерела забезпечує щонайменше один елемент контенту, при цьому спосіб містить етапи: генерують безліч записів для цього щонайменше одного пристрою джерела, кожна з безлічі записів відповідає відмінному профілю, а кожен профіль містить установки для відтворення вмісту елемента, прийнятого від відповідного пристрою. Користувач може запросити генерування безлічі записів для одного і того ж пристрою джерела і вибрати одну із згаданих записів, при цьому з'єднують пристрій візуалізації з пристроєм джерела, відповідним згаданої обраної записи; і керують установка�йому згаданої обраної записи. 3 н. і 6 з.п. ф-ли, 2 іл.
Up!