Сигналізування взаємозв’язків номерів в порядку зображень і інформації синхронізації для синхронізації відео при кодуванні відео

Номер патенту: 115163

Опубліковано: 25.09.2017

Автор: Ван Є-Куй

Є ще 30 сторінок.

Дивитися все сторінки або завантажити PDF файл.

Формула / Реферат

1. Спосіб обробки відеоданих, при цьому спосіб включає етапи, на яких:

приймають (700) кодовану відеопослідовність, що містить кодовані зображення відеопослідовності; і

приймають (702) параметри синхронізації для кодованої відеопослідовності, які включають в себе указання відносно того, є чи ні значення номера в порядку зображень (РОС) для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності згідно з порядком декодування, пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності в синтаксичній структурі набору параметрів відео (VPS), до якої звертається кодована відеопослідовність.

2. Спосіб кодування відеоданих, при цьому спосіб включає етапи, на яких:

кодують (400) зображення відеопослідовності для того, щоб генерувати кодовану відеопослідовність, що містить кодовані зображення; і

сигналізують (400, 410) параметри синхронізації для кодованої відеопослідовності за допомогою сигналізування указання того, є чи ні значення номера в порядку зображень (РОС) для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності згідно з порядком декодування, пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності в синтаксичній структурі набору параметрів відео (VPS), до якої звертається кодована відеопослідовність.

3. Спосіб за п. 1 або 2, в якому указання включає елемент vps_poc_proportional_to_timing_flag синтаксису.

4. Спосіб за п. 1 або 2, в якому сигналізування параметрів синхронізації для кодованої відеопослідовності додатково включає етап, на якому:

тільки якщо указання вказує, що РОС-значення для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності згідно з порядком декодування, є пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності, відповідно приймають або сигналізують число тактів синхросигналу, яке відповідає різниці РОС-значень, що дорівнює одиниці, в синтаксичній VPS-структурі.

5. Спосіб за п. 1 або 2,

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

6. Спосіб за п. 1 або 2, в якому відповідний прийом або сигналізування параметрів синхронізації для кодованої відеопослідовності додатково включає етап, на якому:

відповідно приймають або сигналізують указання в синтаксичній VPS-структурі того, присутні чи ні елементи синтаксису для часової шкали і числа одиниць в такті синхросигналу в синтаксичній VPS-структурі.

7. Спосіб за п. 6, в якому указання в синтаксичній VPS-структурі того, присутні чи ні елементи синтаксису для часової шкали і числа одиниць в такті синхросигналу в синтаксичній VPS-структурі, включає елемент vps_timing_info_present_flag синтаксису.

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

тільки якщо РОС-значення для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності згідно з порядком декодування, є пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності, відповідно приймають або сигналізують число тактів синхросигналу, яке відповідає різниці РОС-значень, що дорівнює одиниці, в частині інформації застосовності відео (VUI) синтаксичної структури набору параметрів послідовності (SPS), до якої звертається кодована відеопослідовність.

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

тільки якщо елементи синтаксису для часової шкали і числа одиниць в такті синхросигналу присутні в частині інформації застосовності відео (VUI) синтаксичної структури набору параметрів послідовності (SPS), до якої звертається кодована відеопослідовність, відповідно приймають або сигналізують друге указання того, є чи ні РОС-значення для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності згідно з порядком декодування, пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності в VUI-частині синтаксичної SPS-структури.

10. Спосіб за п. 9, в якому друге указання включає елемент sps_poc_proportional_to_timing_flag синтаксису.

11. Спосіб за п. 1 або 2, в якому відповідний прийом або сигналізування параметрів синхронізації для кодованої відеопослідовності додатково включає етап, на якому:

відповідно приймають або сигналізують указання в частині інформації застосовності відео (VUI) синтаксичної структури набору параметрів послідовності (SPS), до якої звертається кодована відеопослідовність, того, присутні чи ні елементи синтаксису для часової шкали і числа одиниць в такті синхросигналу в VUI-частині синтаксичної SPS-структури.

12. Спосіб за п. 11, в якому указання в VUI-частині синтаксичної SPS-структури, до якої звертається кодована відеопослідовність, того, присутні чи ні елементи синтаксису для часової шкали і числа одиниць в такті синхросигналу в VUI-частині синтаксичної SPS-структури, включає елемент sps_timing_info_present_flag синтаксису.

13. Зчитуваний комп'ютером носій даних, який зберігає виконуваний комп'ютером код для виконання способу за будь-яким з пп. 1-12.

14. Пристрій для обробки відеоданих, який містить:

засіб для прийому кодованої відеопослідовності, що містить кодовані зображення відеопослідовності; і

засіб для прийому параметрів синхронізації для кодованої відеопослідовності, які включають в себе указання відносно того, є чи ні значення номера в порядку зображень (РОС) для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності згідно з порядком декодування, пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності в синтаксичній структурі набору параметрів відео (VPS), до якої звертається кодована відеопослідовність.

15. Пристрій для кодування відеоданих, при цьому пристрій містить:

засіб для кодування зображень відеопослідовності для того, щоб генерувати кодовану відеопослідовність, яка містить кодовані зображення; і

засіб для сигналізування параметрів синхронізації для кодованої відеопослідовності за допомогою сигналізування указання того, є чи ні значення номера в порядку зображень (РОС) для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності згідно з порядком декодування, пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності в синтаксичній структурі набору параметрів відео (VPS), до якої звертається кодована відеопослідовність.

Текст

Реферат: У прикладі, розкриття передбачає прийом кодованої відеопослідовності, що містить кодовані зображення відеопослідовності, і прийом параметрів синхронізації для кодованої відеопослідовності, які включають в себе указання відносно того, є чи ні значення номера в порядку зображень (РОС) для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності згідно з порядком декодування, пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності в синтаксичній структурі набору параметрів відео (VPS), до якої звертається кодована відеопослідовність. Інший приклад передбачає кодування зображень відеопослідовності для того, щоб генерувати кодовану відеопослідовність, що містить кодовані зображення, і сигналізування параметрів синхронізації для кодованої відеопослідовності за допомогою сигналізування указання в синтаксичній VPS-структурі, до якої звертається кодована відеопослідовність. UA 115163 C2 5 10 15 20 25 30 35 40 45 50 55 60 [0001] Ця заявка вимагає пріоритет попередньої заявки (США) № 61/749866, поданої 7 січня 2013 року, вміст якої повністю міститься в даному документі по посиланню. Галузь техніки, до якої належить винахід [0002] Дане розкриття стосується кодування відео і відеообробки, а більш конкретно технологій для сигналізування інформації синхронізації у відеоінформації. Рівень техніки [0003] Підтримання цифрового відео може бути включене в широкий діапазон пристроїв, що включають в себе цифрові телевізійні приймачі, системи цифрової прямої широкомовної передачі, бездротові широкомовні системи, персональні цифрові пристрої (PDA), переносні або настільні комп'ютери, планшетні комп'ютери, пристрої для читання електронних книг, цифрові камери, цифрові пристрої запису, цифрові мультимедійні програвачі, пристрої відеоігор, консолі для відеоігор, стільникові або супутникові радіотелефони, так звані "смартфони", пристрої відеоконференцзв'язку, пристрої потокової передачі відео і т. п. Цифрові відеопристрої реалізовують такі технології стиснення відео, як технології стиснення відео, описані в стандартах, заданих за допомогою стандартів MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, частина 10, вдосконалене кодування відео (AVC), стандарту високоефективного кодування відео (HEVC), і розширень таких стандартів. Відеопристрої можуть передавати, приймати, кодувати, декодувати і/або зберігати цифрову відеоінформацію більш ефективно за допомогою реалізації таких технологій стиснення відео. [0004] Технології стиснення відео виконують просторове (внутрішньокадрове) прогнозування і/або часове (міжкадрове) прогнозування для того, щоб зменшувати або видаляти надмірність, внутрішньо властиву відеопослідовностям. Для блокового кодування відео відеослайс (тобто відеокадр або частина відеокадру) може бути сегментований на відеоблоки, які також можуть згадуватися як деревовидні блоки, одиниці кодування (CU) і/або вузли кодування. Відеоблоки у кодованому внутрішньо (I) слайсі зображення кодуються з використанням просторового прогнозування відносно опорних вибірок в сусідніх блоках в ідентичному зображенні. Відеоблоки у кодованому зовнішньо (Р або В) слайсі зображення можуть використовувати просторове прогнозування відносно опорних вибірок в сусідніх блоках в ідентичному зображенні або часове прогнозування відносно опорних вибірок в інших опорних зображеннях. Зображення можуть згадуватися як кадри, і опорні зображення можуть згадуватися як опорні кадри. [0005] Просторове або часове прогнозування використовує прогнозуючий блок. Залишкові дані представляють пікселні різниці між вихідним блоком, який повинен бути кодований, і прогнозуючим блоком. Кодований зовнішньо блок кодується згідно з вектором руху, який вказує на блок опорних вибірок, що формують прогнозуючий блок, і залишковими даними, що вказують різницю між кодованим блоком і прогнозуючим блоком. Кодований внутрішньо блок кодується згідно з режимом внутрішнього кодування і залишковими даними. Для додаткового стиснення залишкові дані можуть бути перетворені з пікселної області в область перетворення, приводячи до залишкових коефіцієнтів перетворення, які потім можуть бути квантовані. Квантовані коефіцієнти перетворення, що спочатку розміщуються в двовимірному масиві, можуть скануватися для того, щоб формувати одновимірний вектор коефіцієнтів перетворення, і може застосовуватися ентропійне кодування з тим, щоб досягати ще більшого стиснення. [0006] Дана кодована відеопослідовність, кодована в потік бітів, включає в себе впорядковану послідовність кодованих зображень. У H.264/AVC- і HEVC-стандартах, порядок декодування кодованих зображень для потоку бітів є еквівалентним впорядкованій послідовності. Проте, стандарти також підтримують порядок виведення декодованих зображень, який відрізняється від порядку декодування, і в таких випадках кожне з кодованих зображень асоційоване зі значенням номера в порядку зображень (POC), яке вказує порядок виведення для зображення у відеопослідовності. [0007] Інформація синхронізації відео для відеопослідовності може сигналізуватися в елементах синтаксису однієї або більше синтаксичних структур (альтернативно званих "структурами наборів параметрів" або просто "наборами параметрів"). Синтаксичні структури можуть включати в себе набір параметрів послідовності (SPS), який включає в себе інформацію кодування, що застосовується до всіх слайсів кодованої відеопослідовності. SPS може безпосередньо включати в себе параметри, звані "інформацією застосовності відео (VUI)", які включають в себе інформацію гіпотетичного еталонного декодера (HRD), а також інформацію для поліпшення використання відповідної відеопослідовності в різних цілях. HRD-інформація може безпосередньо сигналізуватися з використанням синтаксичної HRD-структури, що включається в інші синтаксичні структури, наприклад в синтаксичну VUI-структуру. Синтаксичні структури також можуть включати в себе набір параметрів відео (VPS), який описує характеристики відповідної відеопослідовності, наприклад загальні елементи синтаксису, 1 UA 115163 C2 5 10 15 20 25 30 35 40 45 50 55 60 спільно використовувані за допомогою декількох шарів або робочих точок, а також іншу інформацію робочих точок, яка може бути загальною для декількох наборів параметрів послідовності, наприклад HRD-інформацію для різних шарів або підшарів. Суть винаходу [0008] Загалом, це розкриття описує технології для кодування відео, а більш конкретно технології для сигналізування інформації синхронізації, наприклад, щоб вказувати синхронізацію виведення зображень і/або задавати модель буферизації, наприклад гіпотетичний еталонний декодер (HRD). У деяких прикладах, технології можуть включати в себе генерування, для кодованої відеопослідовності, кодованого потоку бітів, щоб сигналізувати, в синтаксичній структурі набору параметрів відео (VPS), прапор, що вказує те, є чи ні значення номера в порядку зображень (POC) для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності в порядку декодування, пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності. У деяких випадках, технології можуть включати в себе генерування кодованого потоку бітів, щоб сигналізувати прапор в синтаксичній VPS-структурі, тільки якщо інформація синхронізації у формі часової шкали і числа одиниць в елементах синтаксису тактів синхросигналу також включається в синтаксичну VPS-структуру. [0009] У одному прикладі розкриття, спосіб обробки відеоданих включає в себе прийом кодованої відеопослідовності, що містить кодовані зображення відеопослідовності; і прийом параметрів синхронізації для кодованої відеопослідовності, які включають в себе указання відносно того, є чи ні значення номера в порядку зображень (POC) для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності згідно з порядком декодування, пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності в синтаксичній структурі набору параметрів відео (VPS), до якої звертається кодована відеопослідовність. [0010] У іншому прикладі розкриття, спосіб кодування відеоданих включає в себе кодування зображень відеопослідовності для того, щоб генерувати кодовану відеопослідовність, що містить кодовані зображення; і сигналізування параметрів синхронізації для кодованої відеопослідовності за допомогою сигналізування указання того, є чи ні значення номера в порядку зображень (POC) для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності згідно з порядком декодування, пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності в синтаксичній структурі набору параметрів відео (VPS), до якої звертається кодована відеопослідовність. [0011] У іншому прикладі розкриття, пристрій для обробки відеоданих включає в себе процесор, виконаний з можливістю приймати кодовану відеопослідовність, що містить кодовані зображення відеопослідовності, і приймати параметри синхронізації для кодованої відеопослідовності, які включають в себе указання відносно того, є чи ні значення номера в порядку зображень (POC) для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності згідно з порядком декодування, пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності в синтаксичній структурі набору параметрів відео (VPS), до якої звертається кодована відеопослідовність. [0012] У іншому прикладі розкриття, пристрій для кодування відеоданих включає в себе процесор, виконаний з можливістю кодувати зображення відеопослідовності для того, щоб генерувати кодовану відеопослідовність, що містить кодовані зображення, і сигналізувати параметри синхронізації для кодованої відеопослідовності за допомогою сигналізування указання того, є чи ні значення номера в порядку зображень (POC) для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності згідно з порядком декодування, пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності в синтаксичній структурі набору параметрів відео (VPS), до якої звертається кодована відеопослідовність. [0013] У іншому прикладі розкриття, пристрій для обробки відеоданих включає в себе засіб для прийому кодованої відеопослідовності, що містить кодовані зображення відеопослідовності, і засіб для прийому параметрів синхронізації для кодованої відеопослідовності, які включають в себе указання відносно того, є чи ні значення номера в порядку зображень (POC) для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності згідно з порядком декодування, пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності в синтаксичній структурі набору параметрів відео (VPS), до якої звертається кодована відеопослідовність. 2 UA 115163 C2 5 10 15 20 25 30 35 40 45 50 55 60 [0014] У іншому прикладі, розкриття описує зчитуваний комп'ютером носій даних. Зчитуваний комп'ютером носій даних має збережені інструкції, які при виконанні спонукають один або більше процесорів приймати кодовану відеопослідовність, що містить кодовані зображення відеопослідовності, і приймати параметри синхронізації для кодованої відеопослідовності, які включають в себе указання відносно того, є чи ні значення номера в порядку зображень (POC) для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності згідно з порядком декодування, пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності в синтаксичній структурі набору параметрів відео (VPS), до якої звертається кодована відеопослідовність. [0015] Подробиці одного або більше прикладів викладені на прикладених кресленнях і в нижченаведеному описі. Інші ознаки, цілі і переваги повинні ставати очевидними з опису і креслень і з формули винаходу. Короткий опис креслень [0016] Фіг. 1 є блок-схемою, що ілюструє зразкову систему кодування і декодування відео, яка може використовувати технології, описані в цьому розкритті. [0017] Фіг. 2 є блок-схемою, що ілюструє зразковий відеокодер, який може реалізовувати технології, описані в цьому розкритті. [0018] Фіг. 3 є блок-схемою, що ілюструє зразковий відеодекодер, який може реалізовувати технології, описані в цьому розкритті. [0019] Фіг. 4 є блок-схемою, що ілюструє інформацію синхронізації для зразкової структури кодування для набору опорних зображень згідно з технологіями, описаними в даному документі. [0020] Фіг. 5 є блок-схемою послідовності операцій, що ілюструє зразковий спосіб роботи згідно з технологіями, описаними в цьому розкритті. [0021] Фіг. 6A-6B є блок-схемами послідовності операцій, що ілюструють зразкові способи роботи згідно з технологіями, описаними в цьому розкритті. [0022] Фіг. 7 є блок-схемою послідовності операцій, що ілюструє зразковий спосіб роботи згідно з технологіями, описаними в цьому розкритті. [0023] Фіг. 8 є блок-схемою послідовності операцій, що ілюструє зразковий спосіб роботи згідно з технологіями, описаними в цьому розкритті. [0024] Фіг. 9A-9B є блок-схемами послідовності операцій, що ілюструють зразкові способи роботи згідно з технологіями, описаними в цьому розкритті. [0025] Фіг. 10 є блок-схемою послідовності операцій, що ілюструє зразковий спосіб роботи згідно з технологіями, описаними в цьому розкритті. Докладний опис винаходу [0026] Це розкриття описує різні технології для кодування відео, а більш конкретно технології для сигналізації інформації синхронізації, наприклад, щоб вказувати синхронізацію виведення зображень і/або задавати модель буферизації або декодування, наприклад гіпотетичний еталонний декодер (HRD). Загалом, термін "сигналізування" ("сигналізація") використовується в цьому розкритті, щоб означати сигналізування, яке здійснюється в кодованому потоці бітів. Кодер може формувати елементи синтаксису, щоб сигналізувати інформацію в потоці бітів як частину процесу кодування відео. Пристрій декодування або інший пристрій відеообработки може приймати кодований потік бітів і інтерпретувати елементи синтаксису в кодованому потоці бітів як частину процесу декодування відео або іншої відеообработки. Наприклад, щоб вказувати час виведення для перемикання з даного зображення на наступне зображення в кодованій відеопослідовності згідно з упорядкуванням виведення, інформація синхронізації для кодованої відеопослідовності в деяких випадках може сигналізувати число тактів синхросигналу, яке відповідає різниці значень номерів в порядку зображень (POC), що дорівнює одиниці. Різниця РОС-значень, що дорівнює одиниці, може представляти різницю між РОС-значенням для даного зображення і РОС-значенням для наступного зображення згідно з упорядкуванням виведення, наприклад РОС-значенням для другого зображення і РОС-значенням для третього зображення згідно з упорядкуванням виведення. Інформація синхронізації відео також може включати в себе умову, яка точно визначає те, сигналізує чи ні інформація синхронізації відео число тактів синхросигналу, яке відповідає різниці значень номерів в порядку зображень, що дорівнює одиниці. Іншими словами, тільки якщо умова виконується, інформація синхронізації відео сигналізує число тактів синхросигналу, яке відповідає різниці значень номерів в порядку зображень, що дорівнює одиниці. У деяких випадках, умова не виконується, і інформація синхронізації відео не сигналізує число тактів синхросигналу, яке відповідає різниці значень номерів в порядку зображень, що дорівнює одиниці. Число тактів синхросигналу може залежати від часової шкали 3 UA 115163 C2 5 10 15 20 25 30 35 40 45 50 55 60 (що відповідає, наприклад, частоті осцилятора, наприклад 27 МГц, яка задає систему часових координат для сигналізованої інформації) і числа одиниць часу синхросигналу, працюючого при часовій шкалі, яке відповідає одному приросту лічильника тактів синхросигналу, який згадується як "такт синхросигналу". [0027] У деяких прикладах, технології можуть включати в себе генерування, для кодованої відеопослідовності, кодованого потоку бітів, щоб сигналізувати, в синтаксичній структурі набору параметрів відео (VPS), прапор, що вказує те, є чи ні значення номера в порядку зображень (POC) для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності в порядку декодування, пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності. У деяких випадках, технології можуть включати в себе генерування кодованого потоку бітів, щоб сигналізувати прапор в синтаксичній VPS-структурі, тільки якщо інформація синхронізації в формі часової шкали і числа одиниць в елементах синтаксису тактів синхросигналу також включається синтаксичну VPS-структуру. [0028] Стандарти кодування відео включають в себе ITU-T H.261, ISO/IEC MPEG-1 Visual, ITU-T H.262 або ISO/IEC MPEG-2 Visual, ITU-T H.263, ISO/IEC MPEG-4 Visual і ITU-T H.264 (також відомий як ISO/IEC MPEG-4 AVC), що включає в себе розширення масштабованого кодування відео (SVC) і кодування багатовидового відео (MVC). [0029] Крім цього, передбачений новий стандарт кодування відео, а саме стандарт високоефективного кодування відео (HEVC), розроблюваний за допомогою Об'єднаної групи для спільної роботи над відеостандартами (JCT-VC) Експертної групи в галузі кодування відео (VCEG) ITU-T і Експертної групи по кінозображенню (MPEG) ISO/IEC. Останнім робочим проектом (WD) HEVC, званим "HEVC WD9" або просто "WD9" надалі в цьому документі, є робота авторів Bross і ін. "Proposed editorial improvements for High Efficiency Video Coding (HEVC) text specification draft 9 (SoDIS)", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 12th Meeting: Женева, CH, 14-23 січня 2013 року, доступна за адресою http://phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVCL0030-v1.zip, з 7 січня 2013 року. [0030] Останній проект HEVC-стандарту, званий "робочим проектом HEVC 10" або "WD10", описується в документі JCTVC-L1003v34, авторів Bross і ін. "High efficiency video coding (HEVC) text specification draft 10 (for FDIS and Last Call)", Joint Collaborative Team on Video Coding (JCTVC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 12th Meeting: Женева, CH, 14-23 січня 2013, який доступний для завантаження за адресою: http://phenix.intevry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zip. [0031] Інший проект HEVC-стандарту, згадуваний в даному документі як "виправлення WD10", описується в роботі Bross і ін. "Editors' proposed corrections to HEVC version 1", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 13th Meeting, Інчхон, KR, квітень 2013 року, яка з 7 червня 2013 року доступна за адресою http://phenix.int-evry.fr/jct/doc_end_user/documents/13_Incheon/wg11/JCTVC-M0432-v3.zip. [0032] Робота по стандартизації HEVC основана на моделі пристрою кодування відео, званій "тестовою моделлю HEVC (HM)". HM враховує поліпшення характеристик поточних пристроїв кодування відео відносно пристроїв кодування відео, доступні в ході розробки інших попередніх стандартів кодування відео, наприклад ITU-T H.264/AVC. Наприклад, тоді як H.264 надає дев'ять режимів внутрішнього прогнозуючого кодування, HEVC надає цілих тридцять п'ять режимів внутрішнього прогнозуючого кодування. Весь контент HEVC WD9 і HEVC WD10 міститься в даному документі по посиланню. [0033] Стандарти кодування відео типово включають в себе специфікацію моделі буферизації відео. У AVC і HEVC, модель буферизації згадується як гіпотетичний еталонний декодер (HRD), який включає в себе модель буферизації як буфера кодованих зображень (CPB), так і буфера декодованих зображень (DPB). Як задано в HEVC WD9, HRD являє собою модель гіпотетичного декодера, яка вказує обмеження на варіативність потоків одиниці рівня абстрагування від мережі (NAL) або відповідність потоків байтів, які може формувати процес кодування. CPB- і DPB-режими роботи вказуються математично. HRD прямо накладає обмеження на різну синхронізацію, розміри буферів і швидкості передачі бітів і непрямо накладає обмеження на характеристики і статистику по потоку бітів. Повний набір HRDпараметрів включає в себе п'ять базових параметрів: початкова затримка видалення з CPB, СРВ-розмір, швидкість передачі бітів, початкова затримка DPB-виведення і DPB-розмір. [0034] У AVC і HEVC, відповідність потоку бітів і відповідність декодера вказуються як частини HRD-специфікації. Хоч "гіпотетичний еталонний декодер" включає в себе термін "декодер", HRD типово потрібний на стороні кодера для того, щоб гарантувати відповідність 4 UA 115163 C2 5 10 15 20 потоку бітів, і типово не потрібний на стороні декодера. Вказуються два типи відповідності потоку бітів або HRD-відповідності, а саме тип I і тип II. Крім того, вказуються два типи відповідності декодера, відповідність декодера по синхронізації виведення і відповідність декодера по порядку виведення. [0035] У HEVC WD9, HRD-операції вимагають параметрів, сигналізованих в синтаксичних структурах hrd_parameters(), повідомленнях з додатковою поліпшуючою інформацією (SEI) по періоду буферизації, SEI-повідомленнях по синхронізації зображень і іноді також в SEIповідомленнях з інформацією одиниць декодування. Синтаксичні структури hrd_parameters() можуть сигналізуватися в наборі параметрів відео (VPS), в наборі параметрів послідовності (SPS) або в будь-якій комбінації вищезазначеного. [0036] У HEVC WD9, синтаксична структура hrd_parameters() включає в себе елементи синтаксису для сигналізації інформації синхронізації відео, що включає в себе часову шкалу і число одиниць в такті синхросигналу. Частина інформації застосовності відео (VUI) SPS включає в себе прапор, що вказує те, є чи ні значення номера в порядку зображень (POC) для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності в порядку декодування, пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності; якщо так, то число тактів синхросигналу відповідне різниці значень номерів в порядку зображень, що дорівнює 1. [0037] Пов'язані синтаксис і семантика в HEVC WD9 наступні. Таблиця 1 показує зразкову синтаксичну структуру первинної байтової послідовності даних (RBSP) набору параметрів відео згідно з WD9. Таблиця 1 Зразкова синтаксична RBSP-структура наборів параметрів відео 25 30 35 40 [0038] У вищенаведеній таблиці 1, елемент vps_num_hrd_parameters синтаксису вказує число синтаксичних структур hrd_parameters(), присутніх в первинній байтовій послідовності даних (RBSP) набору параметрів відео. У потоках бітів, відповідних цій версії цієї специфікації, значення vps_num_hrd_parameters повинно бути меншим або дорівнювати 1. Хоча значення vps_num_hrd_parameters повинно бути меншим або дорівнювати 1 в HEVC WD9, декодери повинні давати можливість появи інших значень vps_num_hrd_parameters в діапазоні від 0 до 1024, включно, в синтаксисі. [0039] Елемент hrd_op_set_idx[i] синтаксису вказує індекс, в списку наборів робочих точок, що указуються за допомогою набору параметрів відео, набору робочих точок, до якого застосовується i-а синтаксична структура hrd_parameters() в наборі параметрів відео (VPS). У потоках бітів, відповідних цій версії цієї специфікації, значення hrd_op_set_idx[i] повинно дорівнювати 0. Хоча значення hrd_op_set_idx[i] повинно бути меншим або дорівнювати 1 в HEVC WD9, декодери повинні давати можливість появи інших значень hrd_op_set_idx[i] в діапазоні від 0 до 1023, в синтаксисі. [0040] Елемент cprms_present_flag[i] синтаксису, що дорівнює 1, вказує те, що HRDпараметри, які є загальними для всіх підшарів, присутні в i-ій синтаксичній структурі hrd_parameters() в наборі параметрів відео; cprms_present_flag[i], що дорівнює 0, вказує те, що HRD-параметри, які є загальними для всіх підшарів, не присутні в i-ій синтаксичній структурі 5 UA 115163 C2 5 hrd_parameters() в наборі параметрів відео і витягуються як ідентичні (i-1)-ій синтаксичній структурі hrd_parameters() в наборі параметрів відео; cprms_present_flag[0] логічно виводиться рівним 1. [0041] Нижченаведена таблиця 2 показує синтаксичну структуру VUI-параметрів згідно з WD9. Таблиця 2 Синтаксична структура VUI-параметрів 10 15 20 [0042] У вищенаведеній таблиці 2, елемент hrd_parameters_present_flag синтаксису, що дорівнює 1, вказує те, що синтаксична структура hrd_parameters() присутня в синтаксичній структурі vui_parameters(); hrd_parameters_present_flag, що дорівнює 0, вказує те, що синтаксична структура hrd_parameters() не присутня в синтаксичній структурі vui_parameters(). [0043] Елемент poc_proportional_to_timing_flag синтаксису, що дорівнює 1, вказує те, що значення номера в порядку зображень для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності в порядку декодування, є пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності; poc_proportional_to_timing_flag, що дорівнює 0, вказує те, що значення номера в порядку зображень для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності в порядку декодування, може бути пропорційним або не бути пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності. [0044] Елемент num_ticks_poc_diff_one_minus1 синтаксису плюс 1 вказує число тактів синхросигналу, відповідне різниці значень номерів в порядку зображень, що дорівнює 1. [0045] Нижченаведена таблиця 3 показує зразкову синтаксичну структуру HRD-параметрів згідно з WD9. 25 6 UA 115163 C2 Таблиця 3 Зразкова синтаксична структура HRD-параметрів 5 10 15 20 25 30 35 40 [0046] У вищенаведеній таблиці 3, елемент timing_info_present_flag синтаксису, що дорівнює 1, вказує те, що num_units_in_tick і time_scale присутні в синтаксичній структурі hrd_parameters(). Якщо timing_info_present_flag дорівнює 0, num_units_in_tick і time_scale не присутні в синтаксичній структурі hrd_parameters(). Якщо не присутні, значення timing_info_present_flag логічно виводиться рівним 0. [0047] Елемент num_units_in_tick синтаксису є числом одиниць часу синхросигналу, працюючого на частоті time_scale Гц, яка відповідає одному приросту (званому "тактом синхросигналу") лічильника тактів синхросигналу. Значення для елемента num_units_in_tick синтаксису повинно перевищувати 0. Такт синхросигналу є мінімальним інтервалом часу, який може бути представлений в кодованих даних, коли sub_pic_cpb_params_present_flag дорівнює 0. Наприклад, коли частота кадрів відеосигналу становить 25 Гц, time_scale може дорівнювати 27000000, і num_units_in_tick може дорівнювати 1080000. [0048] Елемент time_scale синтаксису є числом одиниць часу, які проходять за одну секунду. Наприклад, система часових координат, яка вимірює час з використанням синхросигналу в 27 МГц, має time_scale в 27000000. Значення для елемента time_scale синтаксису повинно перевищувати 0. [0049] Сигналізування синхронізації, як указано в HEVC WD9 і як описано вище, може демонструвати ряд проблем. По-перше, умова для сигналізації елемента num_ticks_poc_diff_one_minus1 синтаксису являє собою "if(poc_proportional_to_timing_flag andand timing_info_present_flag)". Ця умова включає в себе залежності від двох сигналізованих елементів синтаксису: poc_proportional_to_timing_flag і timing_info_present_flag. Проте, зі специфікації HEVC WD9 неясно, звертається timing_info_present_flag для умови до елемента timing_info_present_flag синтаксису синтаксичної структури hrd_parameters() (якщо є) в VUIчастині SPS або звертається до елемента timing_info_present_flag синтаксису синтаксичної структури hrd_parameters() в VPS. [0050] Крім цього, декілька шарів або декілька можливих піднаборів потоків бітів масштабованого потоку відеобітів можуть спільно використовувати загальні значення часової шкали і числа одиниць в такті синхросигналу, які вказуються в HEVC WD9 в елементах time_scale і num_units_in_tick синтаксису синтаксичної структури hrd_parameters(), яка може багато разів сигналізуватися, наприклад, в VUI-частині SPS і в VPS. Така реплікація, якщо присутня в потоці бітів, може приводити до бітових втрат. [0051] Більше того, значення номерів в порядку зображень (POC) типово є пропорційними часам виведення для всіх шарів масштабованого потоку відеобітів, якщо РОС-значення є пропорційними часам виведення для якого-небудь з шарів масштабованого потоку відеобітів. Проте, специфікація HEVC WD9 не передбачає сигналізування в масштабованому потоці відеобітів указання того, що РОС-значення є пропорційними часам виведення для всіх шарів або всіх можливих піднаборів потоків бітів для масштабованого потоку відеобітів. Посилання на "шар" масштабованого потоку відеобітів може означати, наприклад, масштабований шар, вид текстури і/або вид глибини. Крім цього, хоч HEVC WD9 вказує те, що прапор poc_proportional_to_timing_flag завжди сигналізується в VUI-синтаксисі, завжди сигналізується в синтаксичній VUI-структурі SPS, прапор poc_proportional_to_timing_flag не має корисності, якщо елементи time_scale і num_units_in_tick синтаксису також не сигналізовані в потоці бітів. 7 UA 115163 C2 5 10 15 20 25 30 35 40 45 50 55 60 [0052] Технології цього розкриття дозволяють вирішувати одну або більше вищезгаданих проблем, а також надавати інші поліпшення, щоб забезпечувати ефективну сигналізацію параметрів для HRD-операцій. Різні приклади технологій описуються в даному документі відносно HEVC WD9 і потенційних його поліпшень. Рішення застосовуються до будь-яких стандартів кодування відео, що включають в себе AVC і HEVC, наприклад, які включають в себе специфікацію для моделі буферизації відео, хоч з метою ілюстрації опис є конкретним для сигналізації HRD-параметрів, заданої в HEVC WD9 і модифікованої відповідно до технологій цього розкриття. [0053] Фіг. 1 є блок-схемою, що ілюструє зразкову систему 10 кодування і декодування відео, яка може використовувати технології, описані в цьому розкритті. Як показано на фіг. 1, система 10 включає в себе пристрій-джерело 12, який формує кодовані відеодані, які повинні бути декодовані надалі за допомогою пристрою-адресата 14. Пристрій-джерело 12 і пристрійадресат 14 можуть містити будь-які з широкого діапазону пристроїв, що включають в себе настільні комп'ютери, ноутбуки (тобто переносні комп'ютери), планшетні комп'ютери, абонентські приставки, телефонні трубки, наприклад так звані "смартфони", так звані "інтелектуальні сенсорні панелі", телевізійні приймачі, камери, пристрої відображення, цифрові мультимедійні програвачі, консолі для відеоігор, пристрої потокової передачі відео і т. п. В деяких випадках, пристрій-джерело 12 і пристрій-адресат 14 можуть бути оснащені можливостями бездротового зв'язку. [0054] Пристрій-адресат 14 може приймати кодовані відеодані, які повинні бути декодовані, через лінію 16 зв'язку. Лінія 16 зв'язку може містити будь-який тип носія або пристрою, що допускає переміщення кодованих відеоданих з пристрою-джерела 12 в пристрій-адресат 14. У одному прикладі, лінія 16 зв'язку може містити середовище зв'язку, щоб забезпечувати можливість пристрою-джерелу 12 передавати кодовані відеодані безпосередньо в пристрійадресат 14 в реальному часі. Кодовані відеодані можуть бути модульовані згідно зі стандартом зв'язку, таким як протокол бездротового зв'язку, і передані в пристрій-адресат 14. Середовище зв'язку може містити будь-яке бездротове або дротове середовище зв'язку, таке як радіочастотний (RF) спектр або одна або більше фізичних ліній передачі. Середовище зв'язку може формувати частину мережі з комутацією пакетів, такої як локальна обчислювальна мережа, глобальна обчислювальна мережа або глобальна мережа, така як Інтернет. Середовище зв'язку може включати в себе маршрутизатори, комутатори, базові станції або будь-яке інше обладнання, яке може бути корисним для того, щоб спрощувати передачу з пристрою-джерела 12 в пристрій-адресат 14. [0055] Альтернативно, кодовані дані можуть виводитися з інтерфейсу 22 виведення в пристрій 34 зберігання. Аналогічно, до кодованих даних може здійснюватися доступ з пристрою 34 зберігання за допомогою інтерфейсу введення. Пристрій 34 зберігання може включати в себе будь-які з множини носіїв даних з розподіленим або локальним доступом, такі як жорсткий диск, Blu-Ray-диски, DVD, CD-ROM, флеш-пам'ять, енергозалежний або енергонезалежний запам'ятовуючий пристрій або будь-які інші придатні цифрові носії даних для зберігання кодованих відеоданих. У додатковому прикладі, пристрій 34 зберігання може відповідати файловому серверу або іншому проміжному пристрою зберігання даних, який може зберігати кодоване відео, сформоване за допомогою пристрою-джерела 12. Пристрій-адресат 14 може здійснювати доступ до збережених відеоданих з пристрою 34 зберігання через потокову передачу або завантаження. Файловий сервер може бути будь-яким типом сервера, що допускає збереження кодованих відеоданих і передачу цих кодованих відеоданих в пристрійадресат 14. Зразкові файлові сервери включають в себе веб-сервер (наприклад, для вебвузла), FTP-сервер, пристрої системи зберігання даних з підключенням по мережі (NAS) або локальний накопичувач на дисках. Пристрій-адресат 14 може здійснювати доступ до кодованих відеоданих через будь-яке стандартне підключення для передачі даних, що включає в себе Інтернет-підключення. Воно може включати в себе бездротовий канал (наприклад, Wi-Fiпідключення), дротове підключення (наприклад, DSL, кабельний модем і т. д.) або комбінацію зазначеного, яка є придатною для того, щоб здійснювати доступ до кодованих відеоданих, збережених на файловому сервері. Передача кодованих відеоданих з пристрою 34 зберігання може являти собою потокову передачу, передачу на основі завантаження або комбінацію вищезазначеного. [0056] Технології цього розкриття не обов'язково обмежені додатками або настройками бездротового зв'язку. Технології можуть застосовуватися до кодування відео на підтримання будь-яких з множини мультимедійних додатків, таких як телевізійні широкомовні передачі по радіоінтерфейсу, кабельні телевізійні передачі, супутникові телевізійні передачі, потокові передачі відео, наприклад через Інтернет, кодування цифрового відео для зберігання на носії 8 UA 115163 C2 5 10 15 20 25 30 35 40 45 50 55 60 даних, декодування цифрового відео, збереженого на носії даних, або інші додатки. У деяких прикладах, система 10 може бути виконана з можливістю підтримувати односторонню або двосторонню передачу відео, щоб підтримувати такі додатки, як потокова передача відео, відтворення відео, широкомовна передача відео і/або відеотелефонія. [0057] У прикладі за фіг. 1, пристрій-джерело 12 включає в себе відеоджерело 18, відеокодер 20 і інтерфейс 22 виведення. У деяких випадках, інтерфейс 22 виведення може включати в себе модулятор/демодулятор (модем) і/або передавальний пристрій. У пристроїджерелі 12 відеоджерело 18 може включати в себе джерело, таке як пристрій відеозахоплення, наприклад відеокамера, відеоархів, що містить раніше захоплене відео, інтерфейс прямих відеотрансляцій, щоб приймати відео від постачальника відеоконтенту, і/або комп'ютерну графічну систему для формування комп'ютерних графічних даних як вихідного відео, або комбінацію таких джерел. Як один приклад, якщо відеоджерело 18 являє собою відеокамеру, пристрій-джерело 12 і пристрій-адресат 14 можуть формувати так звані "камерофони" або "відеофони". Проте, технології, описані в цьому розкритті, можуть бути застосовними до кодування відео загалом і можуть застосовуватися до бездротових і/або дротових варіантів застосування. [0058] Захоплене, попередньо захоплене або машиногенероване відео може бути кодоване за допомогою відеокодера 20. Кодовані відеодані можуть бути передані безпосередньо в пристрій-адресат 14 через інтерфейс 22 виведення пристрою-джерела 12. Кодовані відеодані також (або альтернативно) можуть зберігатися на пристрій 34 зберігання для подальшого доступу за допомогою пристрою-адресата 14 або інших пристроїв для декодування і/або відтворення. [0059] Пристрій-адресат 14 включає в себе інтерфейс 28 введення, відеодекодер 30 і пристрій 32 відображення. У деяких випадках, інтерфейс 28 введення може включати в себе приймальний пристрій і/або модем. Інтерфейс 28 введення пристрою-адресата 14 приймає кодовані відеодані по лінії 16 зв'язку. Кодовані відеодані, що передаються по лінії 16 зв'язку або надані на пристрої 34 зберігання, можуть включати в себе множину елементів синтаксису, сформованих за допомогою відеокодера 20, для використання за допомогою відеодекодера, такого як відеодекодер 30, при декодуванні відеоданих. Такі елементи синтаксису можуть бути включені з кодованими відеоданими, які передаються на середовищі зв'язку, збережені на носії даних або збережені на файловому сервері. [0060] Пристрій 32 відображення може бути інтегрованим або зовнішнім для пристроюадресата 14. У деяких прикладах, пристрій-адресат 14 може включати в себе інтегрований пристрій відображення, а також виконаний з можливістю взаємодіяти із зовнішнім пристроєм відображення. У інших прикладах, пристрій-адресат 14 може являти собою пристрій відображення. Загалом, пристрій 32 відображення відображає декодовані відеодані користувачу і може містити будь-який з множини пристроїв відображення, таких як рідкокристалічний дисплей (LCD), плазмовий дисплей, дисплей на органічних світлодіодах (OLED) або інший тип пристрою відображення. [0061] Відеокодер 20 і відеодекодер 30 можуть працювати згідно з таким стандартом стиснення відео, як стандарт високоефективного кодування відео (HEVC), розроблюваний на даний час, і можуть відповідати тестовій моделі HEVC (HM). Альтернативно, відеокодер 20 і відеодекодер 30 можуть працювати згідно з іншими власними або галузевими стандартами, такими як стандарт ITU-T H.264, альтернативно званий "MPEG-4, частина 10, вдосконалене кодування відео (AVC)", або розширеннями таких стандартів. Проте, технології цього розкриття не обмежені яким-небудь конкретним стандартом кодування. Інші приклади стандартів стиснення відео включають в себе MPEG-2 і ITU-T H.263. [0062] Хоч не показано на фіг. 1, в деяких аспектах, відеокодер 20 і відеодекодер 30 можуть бути інтегровані з аудіокодером і -декодером, відповідно, і можуть включати в себе відповідні модулі мультиплексора-демультиплексора або інші апаратні засоби і програмне забезпечення для того, щоб обробляти кодування як аудіо, так і відео в загальному потоці даних або в окремих потоках даних. Якщо застосовно, в деяких прикладах модулі мультиплексорадемультиплексора можуть відповідати протоколу мультиплексора ITU H.223 або іншим протоколам, таким як протокол користувацьких дейтаграм (UDP). [0063] Відеокодер 20 і відеодекодер 30 можуть бути реалізовані як будь-яка з множини належних схем кодера, наприклад один або більше мікропроцесорів, процесорів цифрових сигналів (DSP), спеціалізованих інтегральних схем (ASIC), програмованих користувачем вентильних матриць (FPGA), дискретна логіка, програмне забезпечення, апаратні засоби, мікропрограмне забезпечення або будь-які комбінації вищезазначеного. Коли технології реалізовуються частково в програмному забезпеченні, пристрій може зберігати інструкції для 9 UA 115163 C2 5 10 15 20 25 30 35 40 45 50 55 60 програмного забезпечення на придатному постійному зчитуваному комп'ютером носії і виконувати інструкції в апаратних засобах з використанням одного або більше процесорів, щоб здійснювати технології цього розкриття. Кожний з відеокодера 20 і відеодекодера 30 може бути включений в один або більше кодерів або декодерів, будь-який з яких може бути інтегрований як частина комбінованого кодера/декодера (кодека) у відповідному пристрої. [0064] JCT-VC проводить роботи з розробки HEVC-стандарту. Робота по стандартизації HEVC основана на вдосконаленій моделі пристрою кодування відео, званій "тестовою моделлю HEVC (HM)". HM передбачає декілька додаткових можливостей пристроїв кодування відео відносно існуючих пристроїв згідно, наприклад, з ITU-T H.264/AVC. Наприклад, тоді як H.264 надає дев'ять режимів внутрішнього прогнозуючого кодування, HM може надавати цілих тридцять три режими внутрішнього прогнозуючого кодування. [0065] Загалом, робоча модель HM описує, що відеокадр або зображення може бути розділене на послідовність деревовидних блоків або найбільших одиниць кодування (LCU), які включають в себе вибірки як сигналу яскравості, так і сигналу кольоровості. Деревовидний блок має призначення, аналогічне призначенню макроблока по стандарту H.264. Слайс включає в себе деяке число послідовних деревовидних блоків в порядку кодування. Відеокадр або зображення може бути сегментоване на один або більше слайсів. Кожний деревовидний блок може розбиватися на одиниці кодування (CU) згідно з деревом квадрантів. Наприклад, деревовидний блок, як кореневий вузол дерева квадрантів, може розбиватися на чотири дочірніх вузли, і кожний дочірній вузол, в свою чергу, може бути батьківським вузлом і розбиватися ще на чотири дочірніх вузли. Кінцевий, нерозбитий дочірній вузол, як кінцевий вузол дерева квадрантів, містить вузол кодування, тобто кодований відеоблок. Синтаксичні дані, асоційовані з кодованим потоком бітів, можуть задавати максимальне число разів, яке може розбиватися деревовидний блок, і також може задавати мінімальний розмір вузлів кодування. [0066] CU включає в себе вузол кодування і одиниці прогнозування (PU) і одиниці перетворення (TU), асоційовані з вузлом кодування. Розмір CU, загалом, відповідає розміру вузла кодування і типово повинен мати квадратну форму. Розмір CU може коливатися від 8×8 пікселів аж до розміру деревовидного блока максимум в 64×64 пікселів або більше. Кожна CU може містити одну або більше PU і одну або більше TU. Синтаксичні дані, асоційовані з CU, можуть описувати, наприклад, сегментацію CU на одну або більше PU. Режими сегментації можуть відрізнятися між тим, є CU кодованою в режимі пропуску або прямому режимі, кодованою в режимі внутрішнього прогнозування або кодованою в режимі зовнішнього прогнозування. PU можуть бути сегментовані таким чином, що вони мають неквадратну форму. Синтаксичні дані, асоційовані з CU, також можуть описувати, наприклад, сегментацію CU на одну або більше TU згідно з деревом квадрантів. TU може мати квадратну або неквадратну форму. [0067] HEVC-стандарт забезпечує можливість перетворень згідно з TU, які можуть відрізнятися для різних CU. Розміри NU типово задаються на основі розміру PU в даній CU, заданого для сегментованої LCU, хоч це може не завжди мати місце. TU типово має ідентичний розмір або менше в порівнянні з PU. У деяких прикладах, залишкові вибірки, відповідні CU, можуть поділятися на менші одиниці з використанням структури у вигляді дерева квадрантів, відомої як "залишкове дерево квадрантів" (RQT). Кінцеві вузли RQT можуть називатися "одиницями перетворення (TU)". Значення пікселних різниць, асоційовані з TU, можуть бути перетворені, щоб формувати коефіцієнти перетворення, які можуть бути квантовані. [0068] Загалом, PU включає в себе дані, пов'язані з процесом прогнозування. Наприклад, коли PU кодується у внутрішньому режимі, PU може включати в себе дані, що описують режим внутрішнього прогнозування для PU. Як інший приклад, коли PU кодується у зовнішньому режимі, PU може включати в себе дані, що задають вектор руху для PU. Дані, що задають вектор руху для PU, можуть описувати, наприклад, горизонтальний компонент вектора руху, вертикальний компонент вектора руху, розрізнення для вектора руху (наприклад, точність в одну чверть піксела або точність в одну восьму піксела), опорний кадр, на який вказує вектор руху, і/або список опорних зображень (наприклад, список 0, список 1 або список С) для вектора руху. [0069] Загалом, TU використовується для процесів перетворення і квантування. Дана CU, що має одну або більше PU, також може включати в себе одну або більше одиниць перетворення (TU). Після прогнозування відеокодер 20 може обчислювати залишкові значення з відеоблока, ідентифікованого за допомогою вузла кодування згідно з PU. Вузол кодування потім оновлюється таким чином, що він посилається на залишкові значення, а не на вихідний відеоблок. Залишкові значення містять значення пікселних різниць, які можуть бути перетворені 10 UA 115163 C2 5 10 15 20 25 30 35 40 45 50 55 60 в коефіцієнти перетворення, квантовані і скановані з використанням перетворень і іншої інформації перетворення, що указується в TU, щоб формувати перетворені в послідовну форму коефіцієнти перетворення для ентропійного кодування. Вузол кодування може ще раз оновлюватися таким чином, що він посилається на ці перетворені в послідовну форму коефіцієнти перетворення. Це розкриття типово використовує термін "відеоблок" для того, щоб означати вузол кодування CU. У деяких конкретних випадках, це розкриття також може використовувати термін "відеоблок" для того, щоб означати деревовидний блок, тобто LCU або CU, яка включає в себе вузол кодування і PU і TU. [0070] Відеопослідовність типово включає в себе серії відеокадрів або зображень. Група зображень (GOP), загалом, містить послідовність з одного або більше відеозображень. GOP може включати в себе в заголовку GOP, в заголовку одного або більше зображень або в іншому місці синтаксичні дані, які описують число зображень, включених в GOP. Кожний слайс зображення може включати в себе синтаксичні дані слайсу, які описують режим кодування для відповідного слайсу. Відеокодер 20 типово керує відеоблоками в межах окремих відеослайсів для того, щоб кодувати відеодані. Відеоблок може відповідати вузлу кодування в CU. Відеоблоки можуть мати фіксовані або варійовані розміри і можуть відрізнятися за розміром згідно з вказаним стандартом кодування. [0071] Як приклад, HM підтримує прогнозування для різних PU-розмірів. При умові, що розмір конкретної CU становить 2N×2N, HM підтримує внутрішнє прогнозування для PU-розмірів 2N×2N або N×N і зовнішнє прогнозування для симетричних PU-розмірів 2N×2N, 2N×N, N×2N або N×N. HM також підтримує асиметричну сегментацію для зовнішнього прогнозування для PUрозмірів 2N×nU, 2N×nD, nL×2N і nR×2N. При асиметричній сегментації один напрямок CU не сегментується, в той час як інший напрямок сегментується на 25 % і 75 %. Частина CU, відповідна 25 %-ому сегменту, вказується за допомогою "n", після чого іде указання відносно "вверх (Up)", "вниз (Down)", "вліво (Left)" або "вправо (Right)". Таким чином, наприклад, "2N×nU" посилається на CU 2N×2N, яка сегментується горизонтально з PU 2N×0,5N вверху і PU 2N×1,5N внизу. [0072] У цьому розкритті, "N×N" і "N на N" можуть бути використані взаємозамінно для того, щоб посилатися на розміри в пікселах відеоблока з точки зору розмірів по вертикалі і горизонталі, наприклад 16×16 пікселів, або 16 на 16 пікселів. Загалом, блок 16×16 повинен мати 16 пікселів у вертикальному напрямку (у=16) і 16 пікселів в горизонтальному напрямку (х=16). Аналогічно, блок N×N, загалом, має N пікселів у вертикальному напрямку і N пікселів в горизонтальному напрямку, при цьому N представляє ненегативне цілочислове значення. Піксели в блоці можуть розміщуватися в рядках і стовпцях. Крім того, блок не обов'язково повинен мати співпадаюче число пікселів в горизонтальному напрямку і у вертикальному напрямку. Наприклад, блоки можуть містити N×M пікселів, причому M не обов'язково дорівнює N. [0073] Після внутрішнього прогнозуючого або зовнішнього прогнозуючого кодування з використанням PU CU, відеокодер 20 може обчислювати залишкові дані, до яких застосовуються перетворення, що указуються за допомогою TU CU. Залишкові дані можуть відповідати пікселним різницям між пікселами некодованого зображення і прогнозними значеннями, відповідними CU. Відеокодер 20 може формувати залишкові дані для CU і потім перетворювати залишкові дані для того, щоб формувати коефіцієнти перетворення. [0074] Після перетворень для того, щоб формувати коефіцієнти перетворення, відеокодер 20 може виконувати квантування коефіцієнтів перетворення. Квантування, загалом, означає процес, в якому коефіцієнти перетворення квантуються, щоб, можливо, зменшувати об'єм даних, використовуваних для того, щоб представляти коефіцієнти, забезпечуючи додаткове стиснення. Процес квантування може зменшувати бітову глибину, асоційовану з деякими або всіма коефіцієнтами. Наприклад, n-бітове значення може бути округлене в меншу сторону до mбітового значення в ході квантування, при цьому n більше m. [0075] У деяких прикладах, відеокодер 20 може використовувати попередньо заданий порядок сканування для того, щоб сканувати квантовані коефіцієнти перетворення, так щоб формувати перетворений в послідовну форму вектор, який може ентропійно кодуватися. У інших прикладах, відеокодер 20 може виконувати адаптивне сканування. Після сканування квантованих коефіцієнтів перетворення для того, щоб формувати одновимірний вектор, відеокодер 20 може ентропійно кодувати одновимірний вектор, наприклад, згідно з контекстноадаптивним кодуванням змінної довжини (CAVLC), контекстно-адаптивним двійковим арифметичним кодуванням (CABAC), синтаксичним контекстно-адаптивним двійковим арифметичним кодуванням (SBAC), ентропійним кодуванню на основі сегментації на інтервали імовірності (PIPE) або іншою технологією ентропійного кодування. Відеокодер 20 також може 11 UA 115163 C2 5 10 15 20 25 30 35 40 45 50 55 ентропійно кодувати елементи синтаксису, асоційовані з кодованими відеоданими, для використання за допомогою відеодекодера 30 при декодуванні відеоданих. [0076] Щоб виконувати CABAC, відеокодер 20 може призначати контекст в контекстній моделі символу, який повинен бути переданий. Контекст може бути пов'язаний, наприклад, з тим, є сусідні значення символу ненульовими чи ні. Щоб виконувати CAVLC, відеокодер 20 може вибирати код змінної довжини для символу, який повинен бути переданий. Кодові слова в VLC можуть мати таку структуру, що відносно більш короткі коди відповідають більш імовірним символам, в той час як більш довгі коди відповідають менш імовірним символам. Таким чином, використання VLC дозволяє домагатися економії бітів, наприклад, в порівнянні з використанням кодових слів рівної довжини для кожного символу, який повинен бути переданий. Визначення імовірності може бути основане на контексті, призначуваному символу. [0077] Пристрій-джерело 12 може генерувати кодований потік бітів таким чином, що він включає в себе елементи синтаксису, які відповідають синтаксичній структурі відповідно до технологій, описаних в цьому розкритті. У деяких прикладах, відеокодер 20 може генерувати кодований потік бітів, щоб безпосередньо сигналізувати, в синтаксичній структурі наборів параметрів відео (VPS) або в частині інформації застосовності відео (VUI) синтаксичної структури набору параметрів послідовності (SPS) для кодованої відеопослідовності, всі змінні, які задають умову для сигналізації числа тактів синхросигналу, відповідного різниці значень номерів в порядку зображень (POC), що дорівнює 1. Іншими словами, замість сигналізації елементів синтаксису для умови для сигналізації числа тактів синхросигналу, відповідного різниці значень номерів в порядку зображень (POC), що дорівнює 1, в іншій синтаксичній структурі (наприклад, в синтаксичній структурі HRD-параметрів), яка включена в синтаксичну VPS-структуру або в VUI-частину синтаксичної SPS-структури, відеокодер 20 формує кодований потік бітів, щоб сигналізувати елементи синтаксису, які задають умову в синтаксичній VPS- і/або VUI-структурі без звертання до іншої синтаксичної структури, потенційно включеної в будьяку/обидві з синтаксичної VPS- і VUI-структури. Елементи синтаксису можуть включати в себе елемент timing_info_present_flag синтаксису, який вказується в HEVC WD9 як елемент синтаксису синтаксичної структури HRD-параметрів. Як результат, технології дозволяють зменшувати і потенційно виключати неоднозначність в специфікації HEVC WD9 за допомогою ясного указання в синтаксисі джерела елементів синтаксису, які задають умову. [0078] Відеокодер 20 може тестувати кодований потік бітів на предмет відповідності вимогам, що указуються як один або більше тестів на відповідність потоку бітів, заданих в специфікації кодування відео, наприклад в HEVC WD9 або в подальшій специфікації, наприклад в HEVC WD10. Відеокодер 20 може включати в себе або іншим чином використовувати гіпотетичний еталонний декодер для того, щоб тестувати кодований потік бітів на предмет відповідності. Згідно з технологіями, описаними в даному документі, відеокодер 20 може тестувати кодований потік бітів на предмет відповідності за допомогою декодування кодованого потоку бітів, щоб визначати, з синтаксичної VPS-структури або в VUI-частині синтаксичної SPSструктури для кодованої відеопослідовності, елементи синтаксису, які задають умову для сигналізації числа тактів синхросигналу, відповідного різниці РОС-значень, що дорівнює 1. Якщо умова виконується згідно зі значеннями елементів синтаксису, відеокодер 20 може визначати число тактів синхросигналу, відповідне різниці РОС-значень, що дорівнює 1, і використовувати визначене число тактів синхросигналу як введення, наприклад, для визначення СРВспустошення або переповнення під час декодування кодованих зображень, включених в кодований потік бітів. [0079] У деяких випадках, в пристрої-адресаті 14, тестований відеодекодер 30 (або VUT) в деяких випадках може приймати представлення кодованого потоку бітів, сформованого за допомогою відеокодера 20, щоб безпосередньо сигналізувати, в синтаксичній VPS-структурі або в VUI-частині синтаксичної SPS-структури для кодованої відеопослідовності, всі елементи синтаксису, які задають умову для сигналізації числа тактів синхросигналу, відповідного різниці значень номерів в порядку зображень (POC), що дорівнює 1. Відеодекодер 30 може декодувати кодований потік бітів, щоб визначати, з синтаксичної VPS-структури або в VUI-частині синтаксичної SPS-структури для кодованої відеопослідовності, елементи синтаксису, які задають умову для сигналізації числа тактів синхросигналу, відповідного різниці РОС-значень, що дорівнює 1. Якщо умова виконується згідно зі значеннями елементів синтаксису, відеодекодер 30 може визначати число тактів синхросигналу, відповідне різниці РОС-значень, що дорівнює 1, і використовувати визначене число тактів синхросигналу як введення, наприклад, для визначення СРВ-спустошення або переповнення під час декодування кодованих зображень, включених в кодований потік бітів. 12 UA 115163 C2 5 10 15 20 25 30 35 40 45 50 55 60 [0080] У деяких прикладах, відеокодер 20 може генерувати кодований потік бітів, щоб сигналізувати часову шкалу і число одиниць в такті синхросигналу найбільше один раз в кожній з синтаксичних VPS- і VUI-структур для даної кодованої відеопослідовності. Іншими словами, в даній синтаксичній VPS-структурі для кодованого потоку бітів відеокодер 20 може сигналізувати елементи синтаксису часової шкали і числа одиниць в такті синхросигналу найбільше один раз. Аналогічно, в даній синтаксичній VUI-структурі (наприклад, VUI-частині синтаксичної SPSструктури) для кодованого потоку бітів, відеокодер 20 може сигналізувати елементи синтаксису часової шкали і числа одиниць в такті синхросигналу найбільше один раз. Як результат, відеокодер 20, працюючий згідно з технологіями, описаними в даному документі, може скорочувати число екземплярів елемента синтаксису часової шкали (time_scale згідно з WD9) і елемента синтаксису числа одиниць в такті синхросигналу (num_units_in_tick згідно з WD9) в кодованому потоці бітів. Крім цього,відеокодер 20 в деяких випадках може генерувати кодований потік бітів, щоб безпосередньо сигналізувати часову шкалу і число одиниць в такті синхросигналу в кожній з синтаксичних VPS- і VUI-структур для даної кодованої відеопослідовності, а не в синтаксичній структурі HRD-параметрів, включеній в синтаксичну VPS- і/або VUI-структуру. [0081] Згідно з технологіями, описаними в даному документі, відеокодер 20 може тестувати кодований потік бітів, сформований за допомогою відеокодера 20, щоб сигналізувати часову шкалу і число одиниць в такті синхросигналу найбільше один раз в кожній з синтаксичних VPS- і VUI-структур для даної кодованої відеопослідовності, на предмет відповідності за допомогою декодування кодованого потоку бітів, щоб визначати часову шкалу і число одиниць в такті синхросигналу з синтаксичної VPS-структури кодованого потоку бітів, який кодує елементи синтаксису часової шкали і числа одиниць в такті синхросигналу найбільше один раз в синтаксичній VPS-структурі. У деяких випадках, відеокодер 20 може тестувати кодований потік бітів на предмет відповідності за допомогою декодування кодованого потоку бітів, щоб визначати часову шкалу і число одиниць в такті синхросигналу з синтаксичної VUI-структури кодованого потоку бітів, який кодує елементи синтаксису часової шкали і числа одиниць в такті синхросигналу найбільше один раз в синтаксичній VUI-структурі. Часова шкала і число одиниць в такті синхросигналу можуть сигналізуватися не в синтаксичній структурі HRD-параметрів, включеній в синтаксичну VPS- і/або VUI-структуру. Відеокодер 20 може використовувати визначену часову шкалу і визначене число одиниць в такті синхросигналу як введення, наприклад, для визначення СРВ-спустошення або переповнення під час декодування кодованих зображень, включених в кодований потік бітів. [0082] У деяких випадках, в пристрої-адресаті 14, тестований відеодекодер 30 в деяких випадках може приймати представлення кодованого потоку бітів, сформованого за допомогою відеокодера 20, щоб сигналізувати часову шкалу і число одиниць в такті синхросигналу найбільше один раз в кожній з синтаксичних VPS- і VUI-структур для даної кодованої відеопослідовності. Відеодекодер 30 може декодувати кодований потік бітів, щоб визначати часову шкалу і число одиниць в такті синхросигналу з синтаксичної VPS-структури кодованого потоку бітів, який кодує елементи синтаксису часової шкали і числа одиниць в такті синхросигналу найбільше один раз в синтаксичній VPS-структурі. У деяких випадках, відеодекодер 30 може тестувати кодований потік бітів на предмет відповідності за допомогою декодування кодованого потоку бітів, щоб визначати часову шкалу і число одиниць в такті синхросигналу з синтаксичної VUI-структури кодованого потоку бітів, який кодує елементи синтаксису часової шкали і числа одиниць в такті синхросигналу найбільше один раз в синтаксичній VUI-структурі. Часова шкала і число одиниць в такті синхросигналу можуть сигналізуватися не в синтаксичній структурі HRD-параметрів, включеній в синтаксичну VPSі/або VUI-структуру. Відеодекодер 30 може використовувати визначену часову шкалу і визначене число одиниць в такті синхросигналу як введення, наприклад, для визначення СРВспустошення або переповнення під час декодування кодованих зображень, включених в кодований потік бітів. [0083] У деяких прикладах, відеокодер 20 може генерувати кодований потік бітів для того, щоб сигналізувати, в синтаксичній VPS-структурі для однієї або більше кодованих відеопослідовностей, прапор, що вказує те, є чи ні РОС-значення для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності в порядку декодування, пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності. Цей прапор указання альтернативно може згадуватися як POC, пропорційний прапору указання синхронізації. Як результат, відеокодер 20 може скорочувати число екземплярів указання в інформації синхронізації, сигналізованій для декількох шарів кодованої відеопослідовності і/або для масштабованого потоку відеобітів, що 13 UA 115163 C2 5 10 15 20 25 30 35 40 45 50 55 60 має декілька шарів. У деяких випадках, відеокодер 20 може включати цей прапор в синтаксичну VPS-структуру, тільки якщо також включаються елементи синтаксису часової шкали і числа одиниць в такті синхросигналу. Відеокодер 20 внаслідок цього може не допускати сигналізації цієї конкретної інформації синхронізації (тобто того, є чи ні РОС-значення для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності в порядку декодування, пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності), якщо інформація тактів синхросигналу, необхідна для використання POC, пропорційного указанню синхронізації, також не присутня. [0084] Згідно з технологіями, описаними в даному документі, відеокодер 20 може тестувати на предмет відповідності кодований потік бітів, сформований за допомогою відеокодера 20, щоб сигналізувати, в синтаксичній VPS-структурі для однієї або більше кодованих відеопослідовностей, POC, пропорційний прапору указання синхронізації. Відеокодер 20 може тестувати кодований потік бітів на предмет відповідності за допомогою декодування кодованого потоку бітів, щоб визначати значення для прапора. Відеокодер 20 додатково або альтернативно може тестувати кодований потік бітів, сформований за допомогою відеокодера 20, щоб сигналізувати прапор в синтаксичній VPS-структурі, тільки якщо також включаються елементи синтаксису часової шкали і числа одиниць в такті синхросигналу. Відеокодер 20 може використовувати визначене значення POC, пропорційного прапору указання синхронізації, і елементи синтаксису часової шкали і числа одиниць в такті синхросигналу як введення, наприклад, для визначення СРВ-спустошення або переповнення під час декодування кодованих зображень, включених в кодований потік бітів. [0085] У деяких випадках, в пристрої-адресаті 14, тестований відеодекодер 30 в деяких випадках може приймати представлення кодованого потоку бітів, сформованого за допомогою відеокодера 20, щоб сигналізувати, в синтаксичній VPS-структурі для однієї або більше кодованих відеопослідовностей, POC, пропорційний прапору указання синхронізації. Відеодекодер 30 може тестувати кодований потік бітів на предмет відповідності за допомогою декодування кодованого потоку бітів, щоб визначати значення для прапора. Відеодекодер 30 додатково або альтернативно може тестувати кодований потік бітів, сформований за допомогою відеодекодера 30, щоб сигналізувати прапор в синтаксичній VPS-структурі, тільки якщо також включаються елементи синтаксису часової шкали і числа одиниць в такті синхросигналу. Відеодекодер 30 може використовувати визначене значення POC, пропорційного прапору указання синхронізації, і елементи синтаксису часової шкали і числа одиниць в такті синхросигналу як введення, наприклад, для визначення СРВ-спустошення або переповнення під час декодування кодованих зображень, включених в кодований потік бітів. [0086] Фіг. 2 є блок-схемою, що ілюструє зразковий відеокодер 20, який може реалізовувати технології, описані в цьому розкритті. Відеокодер 20 може виконувати внутрішнє і зовнішнє кодування відеоблоків у відеослайсах. Внутрішнє кодування основане на просторовому прогнозуванні для того, щоб зменшувати або видаляти просторову надмірність відео в даному відеокадрі або зображенні. Зовнішнє кодування основане на часовому прогнозуванні для того, щоб зменшувати або видаляти часову надмірність відео в суміжних кадрах або зображеннях відеопослідовності. Внутрішній режим (I-режим) може означати будь-який з декількох режимів просторового стиснення. Зовнішні режими, наприклад однонаправлене прогнозування (Ррежим) або біпрогнозування (В-режим), можуть означати будь-який з декількох режимів часового стиснення. [0087] У прикладі за фіг. 2, відеокодер 20 включає в себе блок 35 сегментації, модуль 41 прогнозування, запам'ятовуючий пристрій 64 опорних зображень, суматор 50, модуль 52 перетворення, блок 54 квантування і блок 56 ентропійного кодування. Модуль 41 прогнозування включає в себе блок 42 оцінки руху, блок 44 компенсації руху і модуль 46 внутрішнього прогнозування. Для відновлення відеоблоків відеокодер 20 також включає в себе блок 58 зворотного квантування, модуль 60 зворотного перетворення і суматор 62. Фільтр видалення блоковості (не показаний на фіг. 2) також може бути включений з можливістю фільтрувати границі блоків, щоб видаляти артефакти блоковості з відновленого відео. Якщо потрібно, фільтр видалення блоковості типово повинен фільтрувати виведення суматора 62. Додаткові контурні фільтри (внутрішньоконтурні або постконтурні) також можуть бути використані на доповнення до фільтра видалення блоковості. [0088] Як показано на фіг. 2, відеокодер 20 приймає відеодані, і блок 35 сегментації сегментує дані на відеоблоки. Ця сегментація також може включати в себе сегментацію на слайси, елементи мозаїчного розбиття або інші великі одиниці, а також сегментацію відеоблока, наприклад, згідно зі структурою у вигляді дерева квадрантів LCU і CU. Відеокодер 20, загалом, 14 UA 115163 C2 5 10 15 20 25 30 35 40 45 50 55 60 ілюструє компоненти, які кодують відеоблоки у відеослайсі, який повинен бути кодований. Слайс може бути розділений на декілька відеоблоків (і можливо на набори відеоблоків, званих "елементами мозаїчного розбиття"). Модуль 41 прогнозування може вибирати один з множини можливих режимів кодування, наприклад один з множини режимів внутрішнього кодування або один з множини режимів зовнішнього кодування, для поточного відеоблока на основі результатів помилки (наприклад, швидкості кодування і рівня спотворення). Модуль 41 прогнозування може надавати результуючий кодований внутрішньо або зовнішньо блок в суматор 50 для того, щоб формувати залишкові блокові дані, і в суматор 62 для того, щоб відновлювати кодований блок для використання як опорного зображення. [0089] Модуль 46 внутрішнього прогнозування в модулі 41 прогнозування може виконувати внутрішнє прогнозуюче кодування поточного відеоблока відносно одного або більше сусідніх блоків в кадрі або слайсі, ідентичному кадру або слайсу поточного блока, який повинен бути кодований, щоб надавати просторове стиснення. Блок 42 оцінки руху і блок 44 компенсації руху в модулі 41 прогнозування виконують зовнішнє прогнозуюче кодування поточного відеоблока відносно одного або більше прогнозуючих блоків в одному або більше опорних зображеннях, щоб надавати часове стиснення. [0090] Блок 42 оцінки руху може бути виконаний з можливістю визначати режим зовнішнього прогнозування для відеослайсу згідно з попередньо визначеним шаблоном для відеопослідовності. Попередньо визначений шаблон може позначати відеослайси в послідовності як Р-слайси, В-слайси або GPB-слайси. Блок 42 оцінки руху і блок 44 компенсації руху можуть мати високу міру інтеграції, але проілюстровані окремо в концептуальних цілях. Оцінка руху, виконувана за допомогою блока 42 оцінки руху, являє собою процес формування векторів руху, які оцінюють руху для відеоблоків. Вектор руху, наприклад, може вказувати зміщення PU відеоблока в поточному відеокадрі або зображенні відносно прогнозуючого блока в опорному зображенні. [0091] Прогнозуючий блок являє собою блок, для якого виявляється, що він практично співпадає з відеоблоком, який повинен бути кодований, з точки зору пікселної різниці, яка може бути визначена за допомогою суми абсолютних різниць (SAD), суми квадратів різниць (SSD) або інших різницевих показників. У деяких прикладах, відеокодер 20 може обчислювати значення для субцілочислових пікселних позицій опорних зображень, збережених в запам'ятовуючому пристрої 64 опорних зображень. Наприклад, відеокодер 20 може інтерполювати значення позицій в одну чверть піксела, позицій в одну восьму піксела або інших дробовопікселних позицій опорного зображення. Отже, блок 42 оцінки руху може виконувати пошук руху відносно повнопікселних позицій і дробовопікселних позицій і виводити вектор руху з дробовопікселною точністю. [0092] Блок 42 оцінки руху обчислює вектор руху для PU відеоблока у кодованому зовнішньо слайсі за допомогою порівняння позиції PU з позицією прогнозуючого блока опорного зображення. Опорне зображення може бути вибране з першого списку опорних зображень (списку 0) або другого списку опорних зображень (списку 1), кожний з яких ідентифікує одне або більше опорних зображень, збережених в запам'ятовуючому пристрої 64 опорних зображень. Блок 42 оцінки руху відправляє обчислений вектор руху в блок 56 ентропійного кодування і блок 44 компенсації руху. [0093] Компенсація руху, виконувана за допомогою блока 44 компенсації руху, може включати в себе вибірку або формування прогнозуючого блока на основі вектора руху, визначеного за допомогою оцінки руху, можливе виконання інтерполяції в субпікселну точність. При прийомі вектора руху для PU поточного відеоблока блок 44 компенсації руху може знаходити прогнозуючий блок, на який вказує вектор руху в одному зі списків опорних зображень. Відеокодер 20 формує залишковий відеоблок за допомогою віднімання пікселних значень прогнозуючого блока з пікселних значень поточного кодованого відеоблока, формуючи значення пікселних різниць. Значення пікселних різниць формують залишкові дані для блока і можуть включати в себе різницеві компоненти сигналу яскравості і сигналу кольоровості. Суматор 50 представляє компонент або компоненти, які виконують цю операцію віднімання. Блок 44 компенсації руху також може формувати елементи синтаксису, асоційовані з відеоблоками і відеослайсом, для використання за допомогою відеодекодера 30 при декодуванні відеоблоків відеослайсу. [0094] Блок 44 компенсації руху може формувати елементи 55 синтаксису, які відповідають синтаксичній структурі відповідно до технологій, описаних в цьому розкритті. У деяких прикладах, відеокодер 20 може формувати елементи 55 синтаксису, щоб безпосередньо сигналізувати, в синтаксичній структурі наборів параметрів відео (VPS) або в частині інформації застосовності відео (VUI) синтаксичної структури набору параметрів послідовності (SPS), 15 UA 115163 C2 5 10 15 20 25 30 35 40 45 асоційованої з відеоблоками, всі елементи синтаксису, які задають умову для сигналізації числа тактів синхросигналу, відповідного різниці значень номерів в порядку зображень (POC), що дорівнює 1. Іншими словами, замість сигналізації елементів синтаксису для умови для сигналізації числа тактів синхросигналу, відповідного різниці значень номерів в порядку зображень (POC), що дорівнює 1, в іншій синтаксичній структурі (наприклад, в синтаксичній структурі HRD-параметрів), яка включена в синтаксичну VPS-структуру або в VUI-частину синтаксичної SPS-структури, блок 44 компенсації руху формує кодований потік бітів, щоб сигналізувати елементи синтаксису для елементів синтаксису, які задають умову в синтаксичній VPS- і/або VUI-структурі без звертання до іншої синтаксичної структури, потенційно включеної в будь-яку/обидві з синтаксичної VPS- і VUI-структури. [0095] У деяких прикладах, блок 44 компенсації руху може формувати елементи 55 синтаксису, щоб сигналізувати часову шкалу і число одиниць в такті синхросигналу найбільше один раз в кожній з синтаксичних VPS- і VUI-структур для даної кодованої відеопослідовності. Іншими словами, в даній синтаксичній VPS-структурі для кодованого потоку бітів блок 44 компенсації руху може формувати елементи 55 синтаксису, щоб сигналізувати елементи синтаксису часової шкали і числа одиниць в такті синхросигналу найбільше один раз. Аналогічно, в даній синтаксичній VUI-структурі (наприклад, в VUI-частині синтаксичної SPSструктури) для кодованого потоку бітів, блок 44 компенсації руху може формувати елементи 55 синтаксису, які сигналізують елементи синтаксису часової шкали і числа одиниць в такті синхросигналу найбільше один раз. Крім цього, блок 44 компенсації руху в деяких випадках може формувати елементи 55 синтаксису, щоб безпосередньо сигналізувати часову шкалу і число одиниць в такті синхросигналу в кожній з синтаксичних VPS- і VUI-структур для даної кодованої відеопослідовності, а не в синтаксичній структурі HRD-параметрів, включеній в синтаксичну VPS- і/або VUI-структуру. [0096] У деяких прикладах, блок 44 компенсації руху може формувати елементи 55 синтаксису для того, щоб сигналізувати, в синтаксичній VPS-структурі для однієї або більше кодованих відеопослідовностей, прапор, що вказує те, є чи ні РОС-значення для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності в порядку декодування, пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності. Цей прапор указання альтернативно може згадуватися як POC, пропорційний прапору указання синхронізації. Як результат, блок 44 компенсації руху може скорочувати число екземплярів указання в інформації синхронізації, сигналізованій для декількох шарів кодованої відеопослідовності і/або для масштабованого потоку відеобітів, що має декілька шарів. У деяких випадках, блок 44 компенсації руху може включати цей прапор в синтаксичну VPS-структуру, тільки якщо також включаються елементи синтаксису часової шкали і числа одиниць в такті синхросигналу. Блок 44 компенсації руху внаслідок цього може не допускати сигналізації цієї конкретної інформації синхронізації (тобто того, є чи ні РОС-значення для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності в порядку декодування, пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності), якщо інформація тактів синхросигналу, необхідна для використання POC, пропорційного указанню синхронізації, також не присутня. [0097] Зразкові зміни в тексті HEVC WD9, щоб здійснювати вищезгадані технології для формування елементів 55 синтаксису, полягають в наступному (інші незгадувані частини можуть залишатися немодифікованими відносно HEVC WD9). [0098] Нижче наводиться приклад синтаксичної RBSP-структури наборів параметрів відео, модифікованої з можливістю вирішувати одну або більше вищезгаданих проблем (підкреслений синтаксис є додаванням в синтаксичну RBSP-структуру набору параметрів відео HEVC WD9; інший синтаксис може бути незмінним відносно HEVC WD9). 50 16 UA 115163 C2 Таблиця 4 Зразкова синтаксична RBSP-структура наборів параметрів відео 5 10 15 20 25 30 [0099] Таблиця 4 задає нові додані елементи синтаксису згідно з наступною RBSPсемантикою наборів параметрів відео (VPS). [0100] vps_timing_info_present_flag, що дорівнює 1, вказує те, що vps_num_units_in_tick, vps_time_scale і vps_poc_proportional_to_timing_flag присутні в наборі параметрів відео; vps_timing_info_present_flag, що дорівнює 0, вказує те, що vps_num_units_in_tick, vps_time_scale і vps_poc_proportional_to_timing_flag не присутні в наборі параметрів відео. [0101] vps_num_units_in_tick є числом одиниць часу синхросигналу, працюючого на частоті vps_time_scale Гц, яка відповідає одному приросту (званому "тактом синхросигналу") лічильника тактів синхросигналу. Значення vps_num_units_in_tick повинно перевищувати 0. Такт синхросигналу, в одиницях секунд, дорівнює частці vps_num_units_in_tick, діленій на vps_time_scale. Наприклад, коли частота кадрів відеосигналу становить 25 Гц, vps_time_scale може дорівнювати 27000000, і vps_num_units_in_tick може дорівнювати 1080000, і, отже, такт синхросигналу може становити 0,04 секунди. [0102] vps_time_scale є числом одиниць часу, які проходять за одну секунду. Наприклад, система часових координат, яка вимірює час з використанням синхросигналу на 27 МГц, має vps_time_scale в 27000000. Значення vps_time_scale повинно перевищувати 0. [0103] vps_poc_proportional_to_timing_flag, що дорівнює 1, вказує те, що значення номера в порядку зображень для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності в порядку декодування, є пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності; vps_poc_proportional_to_timing_flag, що дорівнює 0, вказує те, що значення номера в порядку зображень для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності в порядку декодування, може бути пропорційним або не бути пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності. [0104] vps_num_ticks_poc_diff_one_minus1 плюс 1 вказує число тактів синхросигналу, відповідне різниці значень номерів в порядку зображень, що дорівнює 1. Значення vps_num_ticks_poc_diff_one_minus1 повинно бути в діапазоні від 0 до 2^32-1, включно. [0105] Нижче наводиться приклад синтаксичної структури VUI-параметрів, модифікованої з можливістю вирішувати одну або більше вищезгаданих проблем (підкреслений синтаксис є додаванням в синтаксичну структуру VUI-параметрів HEVC WD9; курсивний синтаксис 17 UA 115163 C2 видалений з синтаксичної структури VUI-параметрів HEVC WD9; інші частини синтаксичної таблиці є незмінними відносно HEVC WD9). Таблиця 5 Зразкова модифікована синтаксична структура VUI-параметрів 5 10 15 20 25 [0106] Таблиця 5 задає нові додані елементи синтаксису згідно з наступною семантикою VUI-параметрів (семантика для видалених елементів синтаксису аналогічно видалена). [0107] sps_timing_info_present_flag, що дорівнює 1, вказує те, що sps_num_units_in_tick, sps_time_scale і sps_poc_proportional_to_timing_flag присутні в синтаксичній структурі vui_parameters(); sps_timing_info_present_flag, що дорівнює 0, вказує те, що sps_num_units_in_tick, sps_time_scale і sps_poc_proportional_to_timing_flag не присутні в синтаксичній структурі vui_parameters(). [0108] sps_num_units_in_tick є числом одиниць часу синхросигналу, працюючого на частоті sps_time_scale Гц, що відповідає одному приросту (званому "тактом синхросигналу") лічильника тактів синхросигналу; sps_num_units_in_tick повинен перевищувати 0. Такт синхросигналу, в одиницях секунд, дорівнює частці sps_num_units_in_tick, діленій на sps_time_scale. Наприклад, коли частота кадрів відеосигналу становить 25 Гц, sps_time_scale може дорівнювати 27000000, і sps_num_units_in_tick може дорівнювати 1080000, і, отже, такт синхросигналу може дорівнювати 0,04 секундам (див. рівняння (1)). Коли vps_num_units_in_tick присутній в наборі параметрів відео, на який посилається набір параметрів послідовності, sps_num_units_in_tick, якщо присутній, повинен дорівнювати vps_num_units_in_tick. [0109] Формула для витягання змінної ClockTick (що також згадується в даному документі як "такт синхросигналу") модифікується таким чином, що вона являє собою наступне: рівняння (1). [0110] sps_time_scale є числом одиниць часу, які проходять за одну секунду. Наприклад, система часових координат, яка вимірює час з використанням синхросигналу на 27 МГц, має sps_time_scale в 27000000. Значення sps_time_scale повинно перевищувати 0. Коли vps_time_scale присутній в наборі параметрів відео, на який посилається набір параметрів послідовності, sps_time_scale, якщо присутній, повинен дорівнювати vps_time_scale. 18 UA 115163 C2 5 10 15 20 [0111] sps_poc_proportional_to_timing_flag, що дорівнює 1, вказує те, що значення номера в порядку зображень для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності в порядку декодування, є пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності; sps_poc_proportional_to_timing_flag, що дорівнює 0, вказує те, що значення номера в порядку зображень для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності в порядку декодування, може бути пропорційним або не бути пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності. Коли vps_poc_proportional_to_timing_flag присутній в наборі параметрів відео, на який посилається набір параметрів послідовності, sps_poc_proportional_to_timing_flag, якщо присутній, повинен дорівнювати vps_poc_proportional_to_timing_flag. [0112] sps_num_ticks_poc_diff_one_minus1 плюс 1 вказує число тактів синхросигналу, відповідне різниці значень номерів в порядку зображень, що дорівнює 1. Значеня sps_num_ticks_poc_diff_one_minus1 повинно бути в діапазоні від 0 до 2^32-1, включно. Коли vps_num_ticks_poc_diff_one_minus1 присутній в наборі параметрів відео, на який посилається набір параметрів послідовності, sps_num_ticks_poc_diff_one_minus1, якщо присутній, повинен дорівнювати sps_num_ticks_poc_diff_one_minus1. [0113] Нижче наводиться приклад синтаксичної структури HRD-параметрів, модифікованої з можливістю вирішувати одну або більше вищезгаданих проблем (курсивний синтаксис видалений з синтаксичної структури HRD-параметрів HEVC WD9). Таблиця 6 Зразкова модифікована синтаксична структура HRD-параметрів 25 30 35 40 [0114] Семантика для елементів синтаксису, видалених згідно із зразковою модифікованою синтаксичною структурою HRD-параметрів таблиці 6, аналогічно видалена. [0115] Модуль 46 внутрішнього прогнозування може внутрішньо прогнозувати поточний блок, як альтернатива зовнішньому прогнозуванню, виконуваному за допомогою блока 42 оцінки руху і блока 44 компенсації руху, як описано вище. Зокрема, модуль 46 внутрішнього прогнозування може визначати режим внутрішнього прогнозування для використання з тим, щоб кодувати поточний блок. У деяких прикладах, модуль 46 внутрішнього прогнозування може кодувати поточний блок з використанням різних режимів внутрішнього прогнозування, наприклад під час окремих проходів кодування, і модуль 46 внутрішнього прогнозування (або блок 40 вибору режиму в деяких прикладах) може вибирати належний режим внутрішнього прогнозування для використання з тестованих режимів. Наприклад, модуль 46 внутрішнього прогнозування може обчислювати значення спотворення залежно від швидкості передачі з використанням аналізу спотворення залежно від швидкості передачі для різних тестованих режимів внутрішнього прогнозування і вибирати режим внутрішнього прогнозування, що має найкращі характеристики спотворення залежно від швидкості передачі, з тестованих режимів. Аналіз спотворення залежно від швидкості передачі, загалом, визначає величину спотворення (або помилки) між кодованим блоком і вихідним некодованим блоком, який кодований для того, щоб формувати кодований блок, а також швидкість передачі бітів (тобто число бітів), використовувану для того, щоб формувати кодований блок. Модуль 46 внутрішнього прогнозування може обчислювати відношення зі спотворень і швидкостей для різних кодованих 19 UA 115163 C2 5 10 15 20 25 30 35 40 45 50 55 60 блоків, щоб визначати те, який режим внутрішнього прогнозування демонструє найкраще значення спотворення залежно від швидкості передачі для блока. [0116] У будь-якому випадку, після вибору режиму внутрішнього прогнозування для блока, модуль 46 внутрішнього прогнозування може надавати інформацію, що вказує вибраний режим внутрішнього прогнозування для блока, в блок 56 ентропійного кодування. Блок 56 ентропійного кодування може кодувати інформацію, що вказує вибраний режим внутрішнього прогнозування, відповідно до технологій цього розкриття. Відеокодер 20 може включати в потік бітів, що передається, конфігураційні дані, які можуть включати в себе множину індексних таблиць режимів внутрішнього прогнозування і множину модифікованих індексних таблиць режимів внутрішнього прогнозування (також званих "таблицями перетворення кодових слів"), визначення контекстів кодування для різних блоків і указання відносно найбільш імовірного режиму внутрішнього прогнозування, індексної таблиці режимів внутрішнього прогнозування і модифікованої індексної таблиці режимів внутрішнього прогнозування, які потрібно використовувати для кожного з контекстів. [0117] Після того, як модуль 41 прогнозування формує прогнозуючий блок для поточного відеоблока через зовнішнє прогнозування або внутрішнє прогнозування, відеокодер 20 формує залишковий відеоблок за допомогою віднімання прогнозуючого блока з поточного відеоблока. Залишкові відеодані в залишковому блоці можуть включатися в одну або більше TU і застосовуватися до модуля 52 перетворення. Модуль 52 перетворення перетворює залишкові відеодані в залишкові коефіцієнти перетворення з використанням перетворення, такого як дискретне косинусне перетворення (DCT) або концептуально аналогічне перетворення. Модуль 52 перетворення може перетворювати залишкові відеодані з пікселної області в область перетворення, наприклад в частотну область. [0118] Модуль 52 перетворення може відправляти результуючі коефіцієнти перетворення в блок 54 квантування. Блок 54 квантування квантує коефіцієнти перетворення, щоб додатково зменшувати швидкість передачі бітів. Процес квантування може зменшувати бітову глибину, асоційовану з деякими або всіма коефіцієнтами. Міра квантування може бути модифікована за допомогою регулювання параметра квантування. У деяких прикладах, блок 54 квантування потім може виконувати сканування матриці, що включає в себе квантовані коефіцієнти перетворення. Альтернативно, блок 56 ентропійного кодування може виконувати сканування. [0119] Після квантування, блок 56 ентропійного кодування ентропійно кодує квантовані коефіцієнти перетворення. Наприклад, блок 56 ентропійного кодування може виконувати контекстно-адаптивне кодування змінної довжини (CAVLC), контекстно-адаптивне двійкове арифметичне кодування (CABAC), синтаксичне контекстно-адаптивне двійкове арифметичне кодування (SBAC), ентропійне кодування на основі сегментації на інтервали імовірності (PIPE) або іншу технологію ентропійного кодування. Після ентропійного кодування за допомогою блока 56 ентропійного кодування кодований потік бітів може бути переданий у відеодекодер 30 або заархівований для подальшої передачі або витягання за допомогою відеодекодера 30. Блок 56 ентропійного кодування також може ентропійно кодувати вектори руху і інші елементи синтаксису для поточного кодованого відеослайсу. [0120] Блок 58 зворотного квантування і модуль 60 зворотного перетворення застосовують зворотне квантування і зворотне перетворення, відповідно, щоб відновлювати залишковий блок в пікселній області для подальшого використання як опорного блока опорного зображення. Блок 44 компенсації руху може обчислювати опорний блок за допомогою підсумовування залишкового блока з прогнозуючим блоком одного з опорних зображень в одному зі списків опорних зображень. Блок 44 компенсації руху також може застосовувати один або більше інтерполяційних фільтрів до відновленого залишкового блока, щоб обчислювати субцілочислові пікселні значення для використання в оцінці руху. Суматор 62 підсумовує відновлений залишковий блок з блоком прогнозування з компенсацією руху, сформованим за допомогою блока 44 компенсації руху, щоб формувати опорний блок для зберігання в запам'ятовуючому пристрої 64 опорних зображень (іноді званому "буфером декодованих зображень (DPB)"). Опорний блок може використовуватися за допомогою блока 42 оцінки руху і блока 44 компенсації руху як опорний блок, щоб зовнішньо прогнозувати блок в подальшому відеокадрі або зображенні. [0121] Відеокодер 20 необов'язково може включати в себе гіпотетичний еталонний декодер 57 (HRD) (проілюстрований як необов'язковий за допомогою використання пунктирних ліній) для того, щоб перевіряти кодовані потоки бітів, сформовані за допомогою елементів відеокодера 20, на предмет відповідності буферній моделі, заданій для HRD 57. HRD 57 може перевіряти потоки бітів або піднабори потоків бітів типу I і/або типу II на предмет HRD-відповідності. Набори параметрів, необхідні для роботи HRD 57, сигналізуються за допомогою одного з двох типів 20 UA 115163 C2 5 10 15 20 25 30 35 40 45 50 55 60 наборів HRD-параметрів, NAL HRD-параметрів і VCL HRD-параметрів. Як описано вище, набори HRD-параметрів можуть бути включені в синтаксичну SPS-структуру і/або синтаксичну VPS-структуру. [0122] HRD 57 може тестувати відеоблоки і асоційовані елементи 55 синтаксису на предмет відповідності вимогам, що указуються як один або більше тестів на відповідність потоку бітів, заданих в специфікації кодування відео, наприклад в HEVC WD9 або в подальшій специфікації, наприклад в HEVC WD10. Наприклад, HRD 57 може тестувати кодований потік бітів на предмет відповідності за допомогою обробки елементів 55 синтаксису, щоб визначати, з синтаксичної VPS-структури або в VUI-частині синтаксичної SPS-структури для кодованої відеопослідовності, елементи синтаксису, які задають умову для сигналізації числа тактів синхросигналу, відповідного різниці РОС-значень, що дорівнює 1. Якщо умова виконується згідно зі значеннями елементів синтаксису, HRD 57 може визначати число тактів синхросигналу, відповідне різниці РОС-значень, що дорівнює 1, і використовувати визначене число тактів синхросигналу як введення, наприклад, для визначення СРВ-спустошення або переповнення під час декодування кодованих зображень, включених в кодований потік бітів. Використання в даному документі терміна "обробка" відносно елементів синтаксису може означати витягання, декодування і витягання, зчитування, синтаксичний аналіз і будь-яку іншу застосовну операцію або комбінацію операцій, щоб одержувати елементи синтаксису у формі, використовуваній за допомогою декодера/HRD 57. [0123] Як інший приклад, HRD 57 може тестувати кодований потік бітів на предмет відповідності за допомогою декодування кодованого потоку бітів, щоб визначати часову шкалу і число одиниць в такті синхросигналу з синтаксичної VPS-структури елементів 55 синтаксису, яка кодує елементи синтаксису часової шкали і числа одиниць в такті синхросигналу найбільше один раз в синтаксичній VPS-структурі. У деяких випадках, HRD 57 може тестувати кодований потік бітів на предмет відповідності за допомогою декодування елементів 55 синтаксису, щоб визначати часову шкалу і число одиниць в такті синхросигналу з синтаксичної VUI-структури кодованого потоку бітів, який кодує елементи синтаксису часової шкали і числа одиниць в такті синхросигналу найбільше один раз в синтаксичній VUI-структурі. Часова шкала і число одиниць в такті синхросигналу можуть сигналізуватися не в синтаксичній структурі HRD-параметрів, включеній в синтаксичну VPS- і/або VUI-структуру. HRD 57 може використовувати визначену часову шкалу і визначене число одиниць в такті синхросигналу як введення, наприклад, для визначення СРВ-спустошення або переповнення під час декодування кодованих зображень, включених в кодований потік бітів. [0124] Згідно з технологіями, описаними в даному документі, HRD 57 може тестувати кодований потік бітів на предмет відповідності за допомогою декодування, з синтаксичної VPSструктури елементів 55 синтаксису для однієї або більше кодованих відеопослідовностей, значення для POC, пропорційного прапору указання синхронізації. HRD 57 додатково або альтернативно може тестувати кодований потік бітів на предмет відповідності за допомогою декодування значення для POC, пропорційного прапору указання синхронізації в синтаксичній VPS-структурі, тільки якщо також включаються елементи синтаксису часової шкали і числа одиниць в такті синхросигналу. HRD 57 може використовувати визначене значення POC, пропорційного прапору указання синхронізації, і елементи синтаксису часової шкали і числа одиниць в такті синхросигналу як введення, наприклад, для визначення СРВ-спустошення або переповнення під час декодування кодованих зображень, включених в кодований потік бітів. [0125] Фіг. 3 є блок-схемою, що ілюструє зразковий відеодекодер 76, який може реалізовувати технології, описані в цьому розкритті. У прикладі за фіг. 3, відеодекодер 76 включає в себе буфер 78 кодованих зображень (CPB), блок 80 ентропійного декодування, модуль 81 прогнозування, блок 86 зворотного квантування, блок 88 зворотного перетворення, суматор 90 і буфер 92 декодованих зображень (DPB). Модуль 81 прогнозування включає в себе блок 82 компенсації руху і модуль 84 внутрішнього прогнозування. Відеодекодер 76 може, в деяких прикладах, виконувати прохід декодування, загалом зворотний проходу кодування, описаному відносно відеокодера 20 з фіг. 2. Відеодекодер 76 може представляти зразковий екземпляр відеодекодера 30 пристрою-адресата 14 або гіпотетичного еталонного декодера 57 за фіг. 2. [0126] CPB 78 зберігає кодовані зображення з кодованого потоку бітів зображень. У одному прикладі, CBP 78 являє собою буфер "перший на вході -перший на виході", що містить одиниці доступу (AU) в порядку декодування. AU являє собою набір одиниць рівня абстрагування від мережі (NAL), які асоційовані між собою згідно з вказаним правилом класифікації, є послідовними в порядку декодування і містять точно одне кодоване зображення. Порядок декодування являє собою порядок, в якому зображення декодуються, і може відрізнятися від 21 UA 115163 C2 5 10 15 20 25 30 35 40 45 50 55 60 порядку, в якому зображення відображаються (тобто порядку відображення). Робота CPB може вказуватися за допомогою гіпотетичного еталонного декодера (HRD). [0127] Під час процесу декодування, відеодекодер 76 приймає кодований потік відеобітів, який представляє відеоблоки слайсу кодованого відео і асоційовані елементи синтаксису, з відеокодера 20. Блок 80 ентропійного декодування відеодекодера 76 декодує потік бітів, щоб формувати квантовані коефіцієнти, вектори руху і інші елементи 55 синтаксису. Блок 80 ентропійного декодування перенаправляє вектори руху і інші елементи 55 синтаксису в модуль 81 прогнозування. Відеодекодер 76 може приймати елементи 55 синтаксису на рівні відеослайсу і/або на рівні відеоблока. Кодований потік відеобітів може включати в себе інформацію синхронізації, сигналізовану згідно з технологіями, описаними нижче. Наприклад, кодований потік відеобітів може включати в себе набір параметрів відео (VPS), набір параметрів послідовності (SPS) або будь-яку комбінацію вищезазначеного, що має синтаксичні структури згідно з технологіями, описаними в даному документі, щоб сигналізувати параметри для HRD-операцій. [0128] Коли відеослайс кодується як кодований внутрішньо (I) слайс, модуль 84 внутрішнього прогнозування модуля 81 прогнозування може формувати прогнозуючі дані для відеоблока поточного відеослайсу на основі сигналізованого режиму внутрішнього прогнозування і даних з раніше декодованих блоків поточного кадру або зображення. Коли відеокадр кодується як кодований зовнішньо (тобто B, Р або GPB) слайс, блок 82 компенсації руху модуля 81 прогнозування формує прогнозуючі блоки для відеоблока поточного відеослайсу на основі векторів руху і інших елементів 55 синтаксису, що приймаються з блока 80 ентропійного декодування. Прогнозуючі блоки можуть формуватися з одного з опорних зображень в одному зі списків опорних зображень. Відеодекодер 76 може складати списки опорних кадрів, список 0 і список 1, з використанням технологій складання за умовчанням на основі опорних зображень, збережених в DPB 92. [0129] Блок 82 компенсації руху визначає інформацію прогнозування для відеоблока поточного відеослайсу за допомогою синтаксичного аналізу векторів руху і інших елементів 55 синтаксису і використовує інформацію прогнозування для того, щоб формувати прогнозуючі блоки для поточного декодованого відеоблока. Наприклад, блок 82 компенсації руху використовує деякі з елементів 55 синтаксису, що приймаються, для того, щоб визначати режим прогнозування (наприклад, внутрішнє або зовнішнє прогнозування), використовуваний для того, щоб кодувати відеоблоки відеослайсу, тип слайсу зовнішнього прогнозування (наприклад, Вслайс, Р-слайс або GPB-слайс), інформацію складання для одного або більше списків опорних зображень для слайсу, вектори руху для кожного кодованого зовнішньо відеоблока слайсу, стан зовнішнього прогнозування для кожного кодованого зовнішньо відеоблока слайсу і іншу інформацію для того, щоб декодувати відеоблоки в поточному відеослайсі. [0130] Блок 82 компенсації руху також може виконувати інтерполяцію на основі інтерполяційних фільтрів. Блок 82 компенсації руху може використовувати інтерполяційні фільтри, використовувані за допомогою відеокодера 20 в ході кодування відеоблоків, для того, щоб обчислювати інтерпольовані значення для субцілочислових пікселів опорних блоків. У цьому випадку, блок 82 компенсації руху може визначати інтерполяційні фільтри, використовувані за допомогою відеокодера 20, з елементів 55 синтаксису, що приймаються, і використовувати інтерполяційні фільтри для того, щоб формувати прогнозуючі блоки. [0131] Блок 86 зворотного квантування зворотно квантує, тобто деквантує, квантовані коефіцієнти перетворення, надані в потоці бітів і декодовані за допомогою блока 80 ентропійного декодування. Процес зворотного квантування може включати в себе використання параметра квантування, обчисленого за допомогою відеокодера 20 для кожного відеоблока у відеослайсі, щоб визначати міру квантування і, аналогічно, міру зворотного квантування, яке повинно застосовуватися. Блок 88 зворотного перетворення застосовує зворотне перетворення, наприклад зворотне DCT, зворотне цілочислове перетворення або концептуально аналогічний процес зворотного перетворення, до коефіцієнтів перетворення, щоб формувати залишкові блоки в пікселній області. [0132] Після того, як блок 82 компенсації руху формує прогнозуючий блок для поточного відеоблока на основі векторів руху і інших елементів 55 синтаксису, відеодекодер 76 формує декодований відеоблок за допомогою підсумовування залишкових блоків з блока 88 зворотного перетворення з відповідними прогнозуючими блоками, сформованими за допомогою блока 82 компенсації руху. Суматор 90 представляє компонент або компоненти, які виконують цю операцію підсумовування. Якщо потрібно, фільтр видалення блоковості також може бути застосований для того, щоб фільтрувати декодовані блоки, щоб видаляти артефакти блоковості. Інші контурні фільтри (в контурі кодування або після контуру кодування) також 22 UA 115163 C2 5 10 15 20 25 30 35 40 45 50 55 60 можуть бути використані для того, щоб згладжувати пікселні переходи або іншим чином підвищувати якість відео. Декодовані відеоблоки в даному кадрі або зображенні потім зберігаються в DPB 92, що зберігає опорні зображення, використовувані для подальшої компенсації руху. DPB 92 також зберігає декодоване відео для подальшого представлення на пристрої відображення, наприклад на пристрої 32 відображення за фіг. 1. Як CPB 78, в одному прикладі, робота DPB 92 може вказуватися за допомогою гіпотетичного еталонного декодера (HRD). [0133] Кодер 20 і декодер 76, як описано в цьому розкритті, представляють приклади пристроїв, виконаних з можливістю здійснювати технології для сигналізації синхронізації в процесі кодування відео, як описано в цьому розкритті. Відповідно, операції, описані в цьому розкритті для сигналізації часу, можуть виконуватися за допомогою кодера 20, декодера 76 або і того, і іншого. У деяких випадках, кодер 20 може сигналізувати інформацію синхронізації, і декодер 76 може приймати таку інформацію синхронізації, наприклад, для використання при задаванні одного або більше з HRD-ознак, характеристик, параметрів або умов. [0134] Відеодекодер 76 в деяких випадках може являти собою тестований відеодекодер 76 (або VUT). Відеодекодер 76 може приймати представлення кодованого потоку бітів, сформованого за допомогою відеокодера 20, щоб безпосередньо сигналізувати, в синтаксичній VPS-структурі або в VUI-частині синтаксичної SPS-структури елементів 55 синтаксису для кодованої відеопослідовності, всі елементи синтаксису, які задають умову для сигналізації числа тактів синхросигналу, відповідного різниці значень номерів в порядку зображень (POC), що дорівнює 1. Відеодекодер 76 може декодувати кодований потік бітів, щоб визначати, з синтаксичної VPS-структури або в VUI-частині синтаксичної SPS-структури для кодованої відеопослідовності, елементи синтаксису, які задають умову для сигналізації числа тактів синхросигналу, відповідного різниці РОС-значень, що дорівнює 1. Якщо умова виконується згідно зі значеннями елементів синтаксису, відеодекодер 76 може визначати число тактів синхросигналу, відповідне різниці РОС-значень, що дорівнює 1, і використовувати визначене число тактів синхросигналу як введення, наприклад, для визначення спустошення CPB 78 або переповнення під час декодування кодованих зображень, включених в кодований потік бітів. [0135] У іншому прикладі, відеокодер 20 може приймати представлення кодованого потоку бітів, сформованого за допомогою відеокодера 20, щоб сигналізувати часову шкалу і число одиниць в такті синхросигналу найбільше один раз в кожній з синтаксичних VPS- і VUI-структур елементів 55 синтаксису для даної кодованої відеопослідовності. Відеодекодер 76 може декодувати кодований потік бітів, щоб визначати часову шкалу і число одиниць в такті синхросигналу з синтаксичної VPS-структури кодованого потоку бітів, який кодує елементи синтаксису часової шкали і числа одиниць в такті синхросигналу найбільше один раз в синтаксичній VPS-структурі. У деяких випадках, відеодекодер 76 може тестувати кодований потік бітів на предмет відповідності за допомогою декодування кодованого потоку бітів, щоб визначати часову шкалу і число одиниць в такті синхросигналу з синтаксичної VUI-структури кодованого потоку бітів, який кодує елементи синтаксису часової шкали і числа одиниць в такті синхросигналу найбільше один раз в синтаксичній VUI-структурі. Часова шкала і число одиниць в такті синхросигналу можуть сигналізуватися не в синтаксичній структурі HRD-параметрів, включеній в синтаксичну VPS- і/або VUI-структуру. Відеодекодер 76 може використовувати визначену часову шкалу і визначене число одиниць в такті синхросигналу як введення, наприклад, для визначення спустошення або переповнення CPB 78 під час декодування кодованих зображень, включених в кодований потік бітів. [0136] У іншому прикладі, відеодекодер 76 може приймати представлення кодованого потоку бітів, сформованого за допомогою відеокодера 20, щоб сигналізувати, в синтаксичній VPS-структурі елементів 55 синтаксису для однієї або більше кодованих відеопослідовностей, POC, пропорційний прапору указання синхронізації. Відеодекодер 76 може тестувати кодований потік бітів на предмет відповідності за допомогою декодування кодованого потоку бітів, щоб визначати значення для прапора. Відеодекодер 76 додатково або альтернативно може тестувати кодований потік бітів, сформований за допомогою відеодекодера 76, щоб сигналізувати прапор в синтаксичній VPS-структурі, тільки якщо також включаються елементи синтаксису часової шкали і числа одиниць в такті синхросигналу. Відеодекодер 76 може використовувати визначене значення POC, пропорційного прапору указання синхронізації, і елементи синтаксису часової шкали і числа одиниць в такті синхросигналу як введення, наприклад, для визначення спустошення або переповнення CPB 78 під час декодування кодованих зображень, включених в кодований потік бітів. [0137] Фіг. 4 є блок-схемою, що ілюструє зразкову структуру 100 кодування для набору опорних зображень. Структура 100 кодування включає в себе слайси 102A-102E (спільно 23 UA 115163 C2 5 10 15 20 25 30 35 40 45 50 55 "слайси 102"). Номер 108 в порядку зображень, асоційований зі структурою 100 кодування, означає порядок виведення відповідного слайсу в наборі опорних зображень. Наприклад, Iслайс 102A повинен виводитися першим (РОС-значення 0), в той час як b-слайс 102B повинен виводитися другим (РОС-значення 1). Порядок 110 декодування, асоційований зі структурою 100 кодування, означає порядок декодування для відповідного слайсу в наборі опорних зображень. Наприклад, I-слайс 102A повинен виводитися першим (порядок 1 декодування), в той час як b-слайс 102B повинен виводитися другим (порядок 2 декодування). [0138] Стрілка 104 вказує час виведення для зображень вздовж часового континуума t. Часовий інтервал 106 представляє часовий інтервал, відповідний різниці значень номерів в порядку зображень (POC), що дорівнює 1. Часовий інтервал 106 може включати в себе число тактів синхросигналу, яке може залежати від часової шкали (що відповідає, наприклад, частоті осцилятора, наприклад, 27 МГц, що задає систему часових координат для сигналізованої інформації), і число одиниць часу синхросигналу, працюючого при часовій шкалі, що відповідає одному приросту лічильника тактів синхросигналу, що згадується як "такт синхросигналу". Відповідно до технологій, описаних в даному документі, відеокодер 20 може формувати потік бітів, щоб безпосередньо сигналізувати, в синтаксичній структурі наборів параметрів відео (VPS) або в частині інформації застосовності відео (VUI) синтаксичної структури набору параметрів послідовності (SPS) для кодованої відеопослідовності, елементи синтаксису, які задають умову для сигналізації числа тактів синхросигналу, відповідного різниці значень номерів в порядку зображень (POC), що дорівнює 1. [0139] Фіг. 5 є блок-схемою послідовності операцій, що ілюструє зразковий спосіб роботи згідно з технологіями, описаними в цьому розкритті. Відеокодер 20 кодує зображення відеопослідовності для того, щоб генерувати кодовану відеопослідовність (200). Відеокодер 20 додатково формує набори параметрів для кодованої відеопослідовності. Набори параметрів можуть включати в себе параметри, кодовані згідно з синтаксичною структурою наборів параметрів послідовності (SPS) і/або згідно з синтаксичною структурою наборів параметрів відео (VPS). Згідно з технологіями, описаними в даному документі, відеокодер 20 кодує елементи синтаксису для числа одиниць в такті синхросигналу і часової шкали безпосередньо в синтаксичну VPS-структуру і/або безпосередньо в синтаксичну SPS-структуру для кодованої відеопослідовності (202). Термін "безпосередньо" вказує те, що таке кодування може формуватися без включення, в синтаксичну VPS-структуру або синтаксичну SPS-структуру (при відповідних умовах), елементів синтаксису для числа одиниць в такті синхросигналу і часової шкали, заданих для окремої синтаксичної структури набору параметрів, наприклад синтаксичної структури, відповідної набору параметрів гіпотетичного еталонного декодера (HRD), як задано в HEVC WD9. [0140] Крім цього, відеокодер 20 кодує, безпосередньо в синтаксичну VPS-структуру і/або синтаксичну SPS-структуру кодованої відеопослідовності, умову для сигналізації числа тактів синхросигналу, відповідного різниці значень номерів в порядку зображень (POC), що дорівнює одиниці (204). Умова може включати в себе один або більше елементів синтаксису, які представляють змінні для булевої формули, причому в цьому випадку відеокодер 20 може кодувати кожний такий елемент синтаксису безпосередньо в синтаксичну VPS-структуру і/або синтаксичну SPS-структуру кодованої відеопослідовності. Відеокодер 20 виводить кодовану відеопослідовність і синтаксичну VPS-структуру і/або синтаксичну SPS-структуру для кодованої відеопослідовності (206). У деяких випадках, відеокодер 20 виводить ці структури в HRD відеокодера 20. [0141] Фіг. 6A-6B є блок-схемами послідовності операцій, що ілюструють зразкові способи роботи згідно з технологіями, описаними в цьому розкритті. На фіг. 6A, відеокодер 20 кодує зображення відеопослідовності для того, щоб генерувати кодовану відеопослідовність (300). Відеокодер 20 додатково формує набори параметрів для кодованої відеопослідовності. Набори параметрів можуть включати в себе параметри, кодовані згідно з синтаксичною структурою наборів параметрів відео (VPS). Згідно з технологіями, описаними в даному документі, відеокодер 20 кодує елементи синтаксису для числа одиниць в такті синхросигналу і часової шкали безпосередньо, і найбільше один раз, в синтаксичну VPS-структуру для кодованої відеопослідовності (302). У деяких випадках, навіть у випадках, в яких синтаксична VPSструктура включає в себе декілька екземплярів HRD-параметрів, за допомогою кодування елементів синтаксису безпосередньо в синтаксичну VPS-структуру (найбільше один раз), а не в набори HRD-параметрів (або в будь-яку іншу включену синтаксичну структуру набору параметрів), синтаксична VPS-структура може включати в себе один елемент синтаксису для кожного з числа одиниць в такті синхросигналу і часової шкали. Відеокодер 20 виводить 24 UA 115163 C2 5 10 15 20 25 30 35 40 45 50 55 60 кодовану відеопослідовність і синтаксичну VPS-структуру для кодованої відеопослідовності (304). У деяких випадках, відеокодер 20 виводить ці структури в HRD відеокодера 20. [0142] На фіг. 6B, відеокодер 20 кодує зображення відеопослідовності для того, щоб генерувати кодовану відеопослідовність (310). Відеокодер 20 додатково формує набори параметрів для кодованої відеопослідовності. Набори параметрів можуть включати в себе параметри, кодовані згідно з набором параметрів відео (SPS) синтаксичної структури. Згідно з технологіями, описаними в даному документі, відеокодер 20 кодує елементи синтаксису для числа одиниць в такті синхросигналу і часової шкали безпосередньо, і найбільше один раз, в синтаксичну SPS-структуру для кодованої відеопослідовності (312). У деяких випадках, навіть у випадках, в яких синтаксична SPS-структура включає в себе декілька екземплярів HRDпараметрів, за допомогою кодування елементів синтаксису безпосередньо в синтаксичну SPSструктуру (найбільше один раз), а не в набори HRD-параметрів (або в будь-яку іншу включену синтаксичну структуру набору параметрів), синтаксична SPS-структура може включати в себе один елемент синтаксису для кожного з числа одиниць в такті синхросигналу і часової шкали. Відеокодер 20 виводить кодовану відеопослідовність і синтаксичну SPS-структуру для кодованої відеопослідовності (314). У деяких випадках, відеокодер 20 виводить ці структури в HRD відеокодера 20. У деяких випадках, відеокодер 20 може кодувати елементи синтаксису для числа одиниць в такті синхросигналу і часової шкали як в синтаксичну VPS-структуру, так і в синтаксичну SPS-структуру для кодованої відеопослідовності. [0143] Фіг. 7 є блок-схемою послідовності операцій, що ілюструє зразковий спосіб роботи згідно з технологіями, описаними в цьому розкритті. Відеокодер 20 кодує зображення відеопослідовності для того, щоб генерувати кодовану відеопослідовність (400). Відеокодер 20 додатково формує набори параметрів для кодованої відеопослідовності. Набори параметрів можуть включати в себе параметри, кодовані згідно з синтаксичною структурою наборів параметрів відео (VPS). Якщо інформація синхронізації повинна бути включена, наприклад, для задавання моделі HRD-буферизації (гілка "Так", 402), відеокодер 20 кодує, безпосередньо в синтаксичну VPS-структуру для кодованої відеопослідовності, елемент синтаксису, що має значення, яке точно визначає те, є чи ні значення номера в порядку зображень (POC) для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності в порядку декодування, пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності (404). Елемент синтаксису може бути семантично аналогічним poc_proportional_to_timing_flag, заданому за допомогою HEVC WD9. Інформація синхронізації може представляти число одиниць в такті синхросигналу і часову шкалу. [0144] Якщо значення елемента синтаксису є істинним (гілка "Так", 406), відеокодер 20 також кодує елемент синтаксису для числа тактів синхросигналу, відповідного різниці значень номерів в порядку зображень, що дорівнює одиниці (408). Оскільки відеокодер 20 кодує елементи синтаксису в VPS, значення елементів синтаксису можуть застосовуватися до всіх шарів або всіх можливих піднаборів потоків бітів масштабованого потоку відеобітів, оскільки VPS представляє набір параметрів найбільш верхнього шару і описує повні характеристики послідовностей кодованих зображень. [0145] Якщо інформація синхронізації не повинна бути включена в синтаксичну VPSструктуру (гілка "Ні", 402), відеокодер 20 не кодує ні елемент синтаксису для указання, що POC є пропорційним інформації синхронізації, ні елемент синтаксису для числа тактів синхросигналу, відповідного різниці значень номерів в порядку зображень, що дорівнює одиниці. Якщо POC не є пропорційним інформації синхронізації (тобто значення є хибним) (гілка "Ні", 406), відеокодер 20 не кодує елемент синтаксису для числа тактів синхросигналу, відповідного різниці значень номерів в порядку зображень, що дорівнює одиниці. [0146] Відеокодер 20 виводить кодовану відеопослідовність і синтаксичну VPS-структуру для кодованої відеопослідовності (410). У деяких випадках, відеокодер 20 виводить ці структури в HRD відеокодера 20. [0147] Фіг. 8 є блок-схемою послідовності операцій, що ілюструє зразковий спосіб роботи згідно з технологіями, описаними в цьому розкритті. Пристрій 30 відеодекодера або гіпотетичний еталонний декодер 57 пристрою 20 відеокодера (надалі в цьому документі "декодер") приймає кодовану відеопослідовність і синтаксичну структуру наборів параметрів відео (VPS) і/або синтаксичну структуру наборів параметрів послідовності (SPS) для кодованої відеопослідовності (500). Кодована відеопослідовність і/або синтаксична структура(и) можуть кодуватися в потік бітів, який включає в себе одне або більше кодованих зображень. [0148] Декодер обробляє синтаксичну VPS-структуру і/або синтаксичну SPS-структуру таким чином, щоб витягувати елемент синтаксису, який точно визначає, безпосередньо в синтаксичній 25 UA 115163 C2 5 10 15 20 25 30 35 40 45 50 55 60 VPS-структурі і/або синтаксичній SPS-структурі, умову для сигналізації числа тактів синхросигналу, відповідного різниці значень номерів в порядку зображень (POC), що дорівнює одиниці (502). Умова може включати в себе один або більше елементів синтаксису, які представляють змінні для булевої формули, причому в цьому випадку декодер може обробляти кожний такий елемент синтаксису безпосередньо з синтаксичної VPS-структури і/або синтаксичної SPS-структури кодованої відеопослідовності. [0149] Декодер додатково обробляє синтаксичну VPS-структуру і/або синтаксичну SPSструктуру таким чином, щоб витягувати елементи синтаксису для числа одиниць в такті синхросигналу і часової шкали безпосередньо з синтаксичної VPS-структури і/або безпосередньо з синтаксичної SPS-структури для кодованої відеопослідовності (504). Декодер потім може верифікувати відповідність кодованої відеопослідовності моделі буферизації відео, яка задається, щонайменше частково, за допомогою значень для умови, числа одиниць в такті синхросигналу і часової шкали, витягнутих з синтаксичної VPS-структури і/або синтаксичної SPS-структури і зчитуваних з відповідних елементів синтаксису (506). [0150] Фіг. 9A-9B є блок-схемами послідовності операцій, що ілюструють зразкові способи роботи згідно з технологіями, описаними в цьому розкритті. На фіг. 9A, пристрій 30 відеодекодера або гіпотетичний еталонний декодер 57 пристрою 20 відеокодера (надалі в цьому документі "декодер") приймає кодовану відеопослідовність і синтаксичну структуру наборів параметрів відео (VPS) для кодованої відеопослідовності (600). Кодована відеопослідовність і/або синтаксична VPS-структура можуть кодуватися в потік бітів, який включає в себе одне або більше кодованих зображень. [0151] Згідно з технологіями, описаними в даному документі, декодер обробляє синтаксичну VPS-структуру таким чином, щоб витягувати елементи синтаксису для числа одиниць в такті синхросигналу і часової шкали, які виникають безпосередньо, і найбільше один раз, в синтаксичній VPS-структурі для кодованої відеопослідовності (602). Декодер потім може верифікувати відповідність кодованої відеопослідовності моделі буферизації відео, яка задається, щонайменше частково, за допомогою значень для числа одиниць в такті синхросигналу і часової шкали, витягнутих з синтаксичної VPS-структури і зчитуваних з відповідних елементів синтаксису (604). [0152] На фіг. 9B, декодер приймає кодовану відеопослідовність і синтаксичну структуру набору параметрів відео (SPS) для кодованої відеопослідовності (610). Кодована відеопослідовність і/або синтаксичні SPS-структури можуть кодуватися в потік бітів, який включає в себе одне або більше кодованих зображень. [0153] Згідно з технологіями, описаними в даному документі, декодер обробляє синтаксичну SPS-структуру таким чином, щоб витягувати елементи синтаксису для числа одиниць в такті синхросигналу і часової шкали, які виникають безпосередньо, і найбільше один раз, в синтаксичній SPS-структурі для кодованої відеопослідовності (612). Декодер потім може верифікувати відповідність кодованої відеопослідовності моделі буферизації відео, яка задається, щонайменше частково, за допомогою значень для числа одиниць в такті синхросигналу і часової шкали, витягнутих з синтаксичної SPS-структури і зчитуваних з відповідних елементів синтаксису (614). [0154] Фіг. 10 є блок-схемою послідовності операцій, що ілюструє зразковий спосіб роботи згідно з технологіями, описаними в цьому розкритті. На фіг. 10, пристрій 30 відеодекодера або гіпотетичний еталонний декодер 57 пристрою 20 відеокодера (надалі в цьому документі "декодер") приймає кодовану відеопослідовність і синтаксичну структуру наборів параметрів відео (VPS) для кодованої відеопослідовності (700). Кодована відеопослідовність і/або синтаксична VPS-структура можуть кодуватися в потік бітів, який включає в себе одне або більше кодованих зображень. [0155] Декодер обробляє синтаксичну VPS-структуру таким чином, щоб витягувати елемент синтаксису, який точно визначає те, є чи ні значення номера в порядку зображень для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності в порядку декодування, пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності (702). Якщо значення для елемента синтаксису є істинним, то декодер додатково обробляє синтаксичну VPS-структуру таким чином, щоб витягувати елемент синтаксису для числа тактів синхросигналу, відповідного різниці значень номерів в порядку зображень, що дорівнює одиниці (706). Декодер потім може верифікувати відповідність кодованої відеопослідовності моделі буферизації відео, яка задається, щонайменше частково, за допомогою значення для числа тактів синхросигналу, відповідного різниці значень номерів в порядку зображень, що дорівнює одиниці, витягнутих з синтаксичної VPS-структури і зчитуваних з відповідного елемента синтаксису (708). 26 UA 115163 C2 5 10 15 20 25 30 35 40 45 50 55 [0156] У одному або більше прикладах, описані функції можуть бути реалізовані в апаратних засобах, програмному забезпеченні, мікропрограмному забезпеченні або будь-якій комбінації вищезазначеного. При реалізації в програмному забезпеченні, функції можуть бути збережені або передані, як одна або більше інструкцій або код, по зчитуваному комп'ютером носію і виконані за допомогою апаратного процесора. Зчитувані комп'ютером носії можуть включати в себе зчитувані комп'ютером носії даних, які відповідають матеріальному носію, такі як носії даних, або середовища зв'язку, що включають в себе будь-який носій, який спрощує перенесення комп'ютерної програми з одного місця в інше, наприклад, згідно з протоколом зв'язку. Таким чином, зчитувані комп'ютером носії, загалом, можуть відповідати (1) матеріальному зчитуваному комп'ютером носію даних, який є постійним, або (2) середовищу зв'язку, такому як сигнал або несуча. Носії даних можуть являти собою будь-які доступні носії, до яких може здійснюватися доступ за допомогою одного або більше комп'ютерів або одного або більше процесорів, з тим щоб витягувати інструкції, код і/або структури даних для реалізації технологій, описаних в цьому розкритті. Комп'ютерний програмний продукт може включати в себе зчитуваний комп'ютером носій. [0157] Як приклад, а не обмеження, ці зчитувані комп'ютером носії даних можуть містити RAM, ROM, EEPROM, CD-ROM або інший пристрій зберігання на оптичних дисках, пристрій зберігання на магнітних дисках або інші магнітні пристрої зберігання, флеш-пам'ять або будьякий інший носій, який може бути використаний для того, щоб зберігати необхідний програмний код в формі інструкцій або структур даних і до якого можна здійснювати доступ за допомогою комп'ютера. Так само, будь-яке підключення коректно називати зчитуваним комп'ютером носієм. Наприклад, якщо інструкції передаються з веб-вузла, сервера або іншого віддаленого джерела за допомогою коаксіального кабелю, оптоволоконного кабелю, "витої пари", цифрової абонентської лінії (DSL) або бездротових технологій, таких як інфрачервоні, радіопередавальні і мікрохвильові середовища, то коаксіальний кабель, оптоволоконний кабель, "вита пара", DSL або бездротові технології, такі як інфрачервоні, радіопередавальні і мікрохвильові середовища, включаються у визначення носія. Проте, потрібно розуміти, що зчитувані комп'ютером носії даних і носії даних не включають в себе з'єднання, несучі, сигнали або інші енергозалежні носії, а замість цього направлені на постійні матеріальні носії даних. Диск (disk) і диск (disc) при використанні в даному документі включають в себе компакт-диск (CD), лазерний диск, оптичний диск, універсальний цифровий диск (DVD), гнучкий диск і диск Blu-Ray, при цьому диски (disk) звичайно відтворюють дані магнітно, тоді як диски (disc) звичайно відтворюють дані оптично за допомогою лазерів. Комбінації вищепереліченого також потрібно включати в число зчитуваних комп'ютером носіїв. [0158] Інструкції можуть виконуватися за допомогою одного або більше процесорів, наприклад одного або більше процесорів цифрових сигналів (DSP), мікропроцесорів загального призначення, спеціалізованих інтегральних схем (ASIC), програмованих користувачем вентильних матриць (FPGA) або інших еквівалентних інтегральних або дискретних логічних схем. Відповідно, термін "процесор" при використанні в даному документі може означати будьяку вищезгадану структуру або іншу структуру, придатну для реалізації технологій, описаних в даному документі. Крім цього, в деяких аспектах функціональність, описана в даному документі, може бути надана в рамках спеціалізованих програмних і/або апаратних модулів, виконаних з можливістю кодування або декодування або вбудованих в комбінований кодек. Крім того, технології можуть бути повністю реалізовані в одній або більше схемах або логічних елементах. [0159] Технології цього розкриття можуть бути реалізовані в широкому спектрі пристроїв або приладів, в тому числі в бездротовому переносному телефоні, в інтегральній схемі (IC) або в наборі IC (наприклад, в наборі мікросхем). Різні компоненти, модулі або блоки описуються в цьому розкритті для того, щоб підкреслювати функціональні аспекти пристроїв, виконаних з можливістю здійснювати розкриті технології, але необов'язково вимагають реалізації за допомогою різних апаратних модулів. Навпаки, як описано вище, різні блоки можуть бути комбіновані в апаратний модуль кодека або надані за допомогою набору взаємодіючих апаратних модулів, що включають в себе один або більше процесорів, як описано вище, в поєднанні з належним програмним забезпеченням і/або мікропрограмним забезпеченням. [0160] Описані різні приклади. Ці і інші приклади знаходяться в межах обсягу прикладеної формули винаходу. ФОРМУЛА ВИНАХОДУ 1. Спосіб обробки відеоданих, при цьому спосіб включає етапи, на яких: 27 UA 115163 C2 5 10 15 20 25 30 35 40 45 50 55 приймають (700) кодовану відеопослідовність, що містить кодовані зображення відеопослідовності; і приймають (702) параметри синхронізації для кодованої відеопослідовності, які включають в себе указання відносно того, є чи ні значення номера в порядку зображень (РОС) для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності згідно з порядком декодування, пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності в синтаксичній структурі набору параметрів відео (VPS), до якої звертається кодована відеопослідовність. 2. Спосіб кодування відеоданих, при цьому спосіб включає етапи, на яких: кодують (400) зображення відеопослідовності для того, щоб генерувати кодовану відеопослідовність, що містить кодовані зображення; і сигналізують (400, 410) параметри синхронізації для кодованої відеопослідовності за допомогою сигналізування указання того, є чи ні значення номера в порядку зображень (РОС) для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності згідно з порядком декодування, пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності в синтаксичній структурі набору параметрів відео (VPS), до якої звертається кодована відеопослідовність. 3. Спосіб за п. 1 або 2, в якому указання включає елемент vps_poc_proportional_to_timing_flag синтаксису. 4. Спосіб за п. 1 або 2, в якому сигналізування параметрів синхронізації для кодованої відеопослідовності додатково включає етап, на якому: тільки якщо указання вказує, що РОС-значення для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності згідно з порядком декодування, є пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності, відповідно приймають або сигналізують число тактів синхросигналу, яке відповідає різниці РОС-значень, що дорівнює одиниці, в синтаксичній VPS-структурі. 5. Спосіб за п. 1 або 2, в якому відповідний прийом або сигналізування указання включає етап, на якому відповідно приймають або сигналізують указання, тільки якщо елементи синтаксису для часової шкали і числа одиниць в такті синхросигналу присутні в синтаксичній VPS-структурі. 6. Спосіб за п. 1 або 2, в якому відповідний прийом або сигналізування параметрів синхронізації для кодованої відеопослідовності додатково включає етап, на якому: відповідно приймають або сигналізують указання в синтаксичній VPS-структурі того, присутні чи ні елементи синтаксису для часової шкали і числа одиниць в такті синхросигналу в синтаксичній VPS-структурі. 7. Спосіб за п. 6, в якому указання в синтаксичній VPS-структурі того, присутні чи ні елементи синтаксису для часової шкали і числа одиниць в такті синхросигналу в синтаксичній VPSструктурі, включає елемент vps_timing_info_present_flag синтаксису. 8. Спосіб за п. 1 або 2, в якому відповідний прийом або сигналізування параметрів синхронізації для кодованої відеопослідовності додатково включає етап, на якому: тільки якщо РОС-значення для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності згідно з порядком декодування, є пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності, відповідно приймають або сигналізують число тактів синхросигналу, яке відповідає різниці РОС-значень, що дорівнює одиниці, в частині інформації застосовності відео (VUI) синтаксичної структури набору параметрів послідовності (SPS), до якої звертається кодована відеопослідовність. 9. Спосіб за п. 1 або 2, в якому указання включає перше указання, і при цьому відповідний прийом або сигналізування параметрів синхронізації для кодованої відеопослідовності додатково включає етап, на якому: тільки якщо елементи синтаксису для часової шкали і числа одиниць в такті синхросигналу присутні в частині інформації застосовності відео (VUI) синтаксичної структури набору параметрів послідовності (SPS), до якої звертається кодована відеопослідовність, відповідно приймають або сигналізують друге указання того, є чи ні РОС-значення для кожного зображення в кодованій відеопослідовності, яке не є першим зображенням в кодованій відеопослідовності згідно з порядком декодування, пропорційним часу виведення зображення відносно часу виведення першого зображення в кодованій відеопослідовності в VUI-частині синтаксичної SPS-структури. 28

Дивитися

Додаткова інформація

Назва патенту англійською

Signaling of picture order count to timing information relations for video timing in video coding

Автори англійською

Wang, Ye-Kui

Автори російською

Ван Е-Куй

МПК / Мітки

МПК: H04N 19/70, H04N 19/149, H04N 19/44, H04N 19/46

Мітки: номерів, кодуванні, інформації, відео, порядку, зображень, сигналізування, синхронізації, взаємозв'язків

Код посилання

<a href="https://ua.patents.su/38-115163-signalizuvannya-vzaehmozvyazkiv-nomeriv-v-poryadku-zobrazhen-i-informaci-sinkhronizaci-dlya-sinkhronizaci-video-pri-koduvanni-video.html" target="_blank" rel="follow" title="База патентів України">Сигналізування взаємозв’язків номерів в порядку зображень і інформації синхронізації для синхронізації відео при кодуванні відео</a>

Подібні патенти