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

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

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

Є ще 33 сторінки.

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

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

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

визначення, для одиниці рівня абстракції мережі (NAL) додаткової інформації розширення (SEI) потоку бітів, чи вказує значення типу одиниці NAL для одиниці NAL SEI, що одиниця NAL містить одиницю NAL SEI префікса, яка включає в себе повідомлення SEI префікса, або одиницю NAL SEI суфікса, яка включає в себе повідомлення SEI суфікса; і

декодування даних відео потоку бітів після одиниці NAL SEI на основі того, чи є одиниця NAL SEI одиницею NAL SEI префікса або одиницею NAL SEI суфікса і даних одиниці NAL SEI.

2. Спосіб за п. 1, який додатково містить, коли одиниця NAL SEI містить одиницю NAL SEI суфікса, витягання одиниці NAL SEI суфікса з одиниці доступу (AU), яка включає в себе щонайменше першу одиницю NAL рівня кодування відео (VCL) в AU до одиниці NAL SEI суфікса в порядку декодування.

3. Спосіб за п. 2, в якому одиниця NAL SEI суфікса йде за всіма одиницями NAL VCL в AU в порядку декодування.

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

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

5. Пристрій за п. 4, в якому процесор конфігурується, коли одиниця NAL SEI містить одиницю NAL SEI суфікса, витягувати одиницю NAL SEI суфікса з одиниці доступу (AU), яка включає в себе щонайменше першу одиницю NAL рівня кодування відео (VCL) в AU до одиниці NAL SEI суфікса в порядку декодування.

6. Пристрій за п. 5, в якому одиниця NAL SEI суфікса йде за всіма одиницями NAL VCL в AU в порядку декодування.

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

засіб для визначення, для одиниці рівня абстракції мережі (NAL) додаткової інформації розширення (SEI), чи вказує значення типу одиниці NAL для одиниці NAL SEI, що одиниця NAL містить одиницю NAL SEI префікса, яка включає в себе повідомлення SEI префікса, або одиницю NAL SEI суфікса, яка включає в себе повідомлення SEI суфікса; і

засіб для декодування даних відео потоку бітів після одиниці NAL SEI на основі того, чи є одиниця NAL SEI одиницею NAL SEI префікса або одиницею NAL SEI суфікса і даних одиниці NAL SEI.

8. Пристрій за п. 7, який додатково містить засіб для того, щоб витягнути, коли одиниця NAL SEI містить одиницю NAL SEI суфікса, одиницю NAL SEI суфікса з одиниці доступу (AU), яка включає в себе щонайменше першу одиницю NAL рівня кодування відео (VCL) в AU до одиниці NAL SEI суфікса в порядку декодування.

9. Пристрій за п. 8, в якому одиниця NAL SEI суфікса йде за всіма одиницями NAL VCL в AU в порядку декодування.

10. Зчитуваний комп’ютером запам’ятовуючий носій, що має збережені на ньому інструкції, які, коли виконуються, змушують процесор:

визначати, для одиниці рівня абстракції мережі (NAL) додаткової інформації розширення (SEI) потоку бітів, чи вказує значення типу одиниці NAL для одиниці NAL SEI, що одиниця NAL містить одиницю NAL SEI префікса, яка включає в себе повідомлення SEI префікса, або одиницю NAL SEI суфікса, яка включає в себе повідомлення SEI суфікса; і

декодувати відео дані потоку бітів після одиниці NAL SEI на основі того, чи є одиниця NAL SEI одиницею NAL SEI префікса або одиницею NAL SEI суфікса і дані одиниці NAL SEI.

11. Зчитуваний комп’ютером запам’ятовуючий носій за п. 10, який додатково містить інструкції, які змушують процесор, коли одиниця NAL SEI містить одиницю NAL SEI суфікса, витягувати одиницю NAL SEI суфікса з одиниці доступу (AU), яка включає в себе щонайменше першу одиницю NAL рівня кодування відео (VCL) в AU, до одиниці NAL SEI суфікса в порядку декодування.

12. Зчитуваний комп’ютером запам’ятовуючий носій за п. 11, в якому одиниця NAL SEI суфікса йде за всіма одиницями NAL VCL в AU в порядку декодування.

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

визначення, чи є повідомлення додаткової інформації розширення (SEI) повідомленням SEI префікса або повідомленням SEI суфікса, при цьому повідомлення SEI включає в себе дані, що належать до закодованих даних відео;

інкапсулювання повідомлення SEI в одиниці NAL SEI, при цьому одиниця NAL SEI включає в себе значення типу одиниці NAL, яке вказує, чи є одиниця NAL SEI одиницею NAL SEI префікса або одиницею NAL SEI суфікса, і чи є повідомлення SEI повідомленням SEI префікса або повідомленням SEI суфікса; і

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

14. Спосіб за п. 13, в якому генерування закодованого потоку бітів містить інкапсулювання одиниці NAL SEI в одиниці доступу (AU) таким чином, що одиниця NAL SEI йде за першою одиницею NAL рівня кодування відео (VCL) в AU в порядку декодування, коли значення типу одиниці NAL вказує, що одиниця NAL SEI є одиницею NAL SEI суфікса.

15. Спосіб за п. 14, в якому генерування потоку бітів також містить інкапсулювання одиниці NAL SEI в AU таким чином, що одиниця NAL SEI також йде за останньою одиницею NAL VCL в AU в порядку декодування, коли значення типу одиниці NAL вказує, що одиниця NAL SEI є одиницею NAL SEI суфікса.

16. Пристрій для генерування потоку бітів, що включає в себе відео дані, причому пристрій містить процесор, сконфігурований визначити, чи є повідомлення додаткової інформації розширення (SEI) повідомленням SEI префікса або повідомленням SEI суфікса, при цьому повідомлення SEI, включає в себе дані, що належать до закодованих даних відео, інкапсулювати повідомлення SEI в одиниці NAL SEI, при цьому одиниця NAL SEI включає в себе значення типу одиниці NAL, яке вказує, чи є одиниця NAL SEI одиницею NAL SEI префікса або одиницею NAL SEI суфікса, і чи є повідомлення SEI повідомленням SEI префікса або повідомленням SEI суфікса, і генерувати потік бітів, що включає в себе щонайменше згадану одиницю NAL SEI.

17. Пристрій за п. 16, в якому процесор конфігурується, щоб інкапсулювати одиницю NAL SEI в одиниці доступу (AU) таким чином, що одиниця NAL SEI йде за першою одиницею NAL рівня кодування відео (VCL) в AU в порядку декодування, коли значення типу одиниці NAL вказує, що одиниця NAL SEI є одиницею NAL SEI суфікса.

18. Пристрій за п. 17, в якому процесор конфігурується, щоб інкапсулювати одиницю NAL SEI в AU таким чином, що одиниця NAL SEI також йде за останньою одиницею NAL VCL в AU в порядку декодування, коли значення типу одиниці NAL вказує, що одиниця NAL SEI є одиницею NAL SEI суфікса.

19. Пристрій для генерування потоку бітів, що включає в себе відео дані, причому пристрій містить:

засіб для визначення, чи є повідомлення додаткової інформації розширення (SEI) повідомленням SEI префікса або повідомленням SEI суфікса, в якому повідомлення SEI включає в себе дані, що належать до закодованих даних відео;

засіб для того, щоб інкапсулювати повідомлення SEI в одиниці NAL SEI, при цьому одиниця NAL SEI включає в себе значення типу одиниці NAL, яке вказує, чи є одиниця NAL SEI одиницею NAL SEI префікса або одиницею NAL SEI суфікса, і чи є повідомлення SEI повідомленням SEI префікса або повідомленням SEI суфікса; і

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

20. Пристрій за п. 19, в якому засіб для генерування потоку бітів містить засіб для того, щоб інкапсулювати одиницю NAL SEI в одиниці доступу (AU) таким чином, що одиниця NAL SEI йде за першою одиницею NAL рівня кодування відео (VCL) в AU в порядку декодування, коли значення типу одиниці NAL вказує, що одиниця NAL SEI є одиницею NAL SEI суфікса.

21. Пристрій за п. 20, в якому засіб для генерування потоку бітів також містить засіб для того, щоб інкапсулювати одиницю NAL SEI в AU таким чином, що одиниця NAL SEI також йде за останньою одиницею NAL VCL в AU в порядку декодування, коли значення типу одиниці NAL вказує, що одиниця NAL SEI є одиницею NAL SEI суфікса.

22. Зчитуваний комп’ютером запам’ятовуючий носій, що має збережені на ньому інструкції, які, коли виконуються, змушують процесор:

визначати, чи є повідомлення додаткової інформації розширення (SEI) повідомленням SEI префікса або повідомленням SEI суфікса, при цьому повідомлення SEI включає в себе дані, що належать до закодованих даних відео;

інкапсулювати повідомлення SEI в одиниці NAL SEI, при цьому одиниця NAL SEI включає в себе значення типу одиниці NAL, яке вказує, чи є одиниця NAL SEI одиницею NAL SEI префікса або одиницею NAL SEI суфікса, і чи є повідомлення SEI повідомленням SEI префікса або повідомленням SEI суфікса; і

генерувати потік бітів, що включає в себе щонайменше згадану одиницю NAL SEI.

23. Зчитуваний комп’ютером запам’ятовуючий носій за п. 22, в якому інструкції, які змушують процесор генерувати потік бітів, містять інструкції, які змушують процесор інкапсулювати одиницю NAL SEI в одиниці доступу (AU) таким чином, що одиниця NAL SEI йде за першою одиницею NAL рівня кодування відео (VCL) в AU в порядку декодування, коли значення типу одиниці NAL вказує, що одиниця NAL SEI є одиницею NAL SEI суфікса.

24. Зчитуваний комп’ютером запам’ятовуючий носій за п. 23, в якому інструкції, які змушують процесор генерувати потік бітів, також містять інструкції, які змушують процесор інкапсулювати одиницю NAL SEI в AU таким чином, що одиниця NAL SEI також йде за останньою одиницею NAL VCL в AU в порядку декодування, коли значення типу одиниці NAL вказує, що одиниця NAL SEI є одиницею NAL SEI суфікса.

Текст

Реферат: В одному прикладі пристрій для декодування даних відео включає в себе процесор, сконфігурований, щоб визначити, для одиниці рівня абстракції мережі (NAL) додаткової інформації розширення (SEI) потоку бітів, чи вказує значення типу одиниці NAL для одиниці NAL SEI, що одиниця NAL містить одиницю NAL SEI префікса, яка включає в себе повідомлення SEI префікса, або одиницю NAL SEI суфікса, яка включає в себе повідомлення SEI суфікса, і декодувати відео дані потоку бітів після одиниці NAL SEI на основі того, чи є одиниця NAL SEI одиницею NAL SEI префікса або одиницею NAL SEI суфікса і даних одиниці NAL SEI. UA 113446 C2 (12) UA 113446 C2 UA 113446 C2 5 10 15 20 25 30 35 40 45 50 55 ЗВ'ЯЗАНІ ЗАЯВКИ Дана заявка заявляє пріоритет попередньої заявки на патент США № 61/670,066, поданої 10 липня 2012, яка тим самим повністю включена за посиланням в даний опис. ГАЛУЗЬ ТЕХНІКИ Дане розкриття в цілому стосується обробки даних відео і, більш детально, - картинок довільного доступу, що використовуються в даних відео. РІВЕНЬ ТЕХНІКИ Цифрові можливості відео можуть бути включені в широкий діапазон пристроїв, що включає в себе цифрові телевізори, цифрові системи прямого мовлення, бездротові системи мовлення, персональні цифрові помічники (PDA), портативні або настільні комп'ютери, планшетні комп'ютери, зчитувачі електронних книг, цифрові камери, цифрові пристрої реєстрації, цифрові медіа плеєри, відео ігрові пристрої, пульти відеоігор, стільникові або супутникові радіотелефони, так звані "смартфони", пристрої організації відео телеконференцій, пристрої потокової передачі відео тощо. Цифрові відео пристрої реалізовують способи кодування відео, такі як описані в стандартах, визначених за допомогою ITU-T H.261, ISO/IEC MPEG-1 Visual, ITU-T H.262, ISO/IEC MPEG-2 Visual, ITU-T H.263, ITU-T H.264/MPEG-4, Частина 10, Advanced Video Coding (AVC), стандарту високоефективного кодування відео (HEVC), що розвивається в цей час, і розширеннях таких стандартів. Відео пристрої можуть передавати, приймати, кодувати, декодувати і/або зберігати цифрову відео інформацію більш ефективно, реалізовуючи такі способи кодування відео. Способи стиснення відео виконують просторове (всередині картинки) прогнозування і/або часове (між картинками) прогнозування, щоб зменшити або видалити надмірність, властиву відео послідовностям. Для основаного на блоках кодування відео вирізка відео (тобто, відео кадр або частина відео кадру) може бути розділена на блоки відео, які можуть також згадуватися як макроблоки, блоки дерева, одиниці дерева кодування (CTU), блоки дерева кодування (CTBs), одиниці кодування (CUs) і/або вузли кодування. Відео блоки у внутрішньо кодованій (I) вирізці картинки кодують, використовуючи просторове прогнозування відносно опорних вибірок у сусідніх блоках в тій самій картинці. Відео блоки у зовні кодованій (Р або В) вирізці картинки можуть використовувати просторове прогнозування відносно опорних вибірок у сусідніх блоках в тій самій картинці або часове прогнозування відносно опорних вибірок в інших опорних картинках. Картинки можуть згадуватися як кадри, і опорні картинки можуть згадуватися як опорні кадри. Просторове або часове прогнозування приводить до прогнозуючого блока для блока, який повинен бути закодований. Залишкові дані представляють піксельні різниці між первинним блоком, який повинен бути закодований, і прогнозуючим блоком. Пікселі можуть також згадуватися як елементи картинки, пели, або вибірки. Зовні кодований блок кодують згідно з вектором руху, який вказує на блок опорних вибірок, що формують прогнозуючий блок, і залишковими даними, які вказують різницю між закодованим блоком і прогнозуючим блоком. Внутрішньо кодований блок кодують згідно з режимом внутрішнього кодування і залишковими даними. Для подальшого стиснення залишкові дані можуть бути перетворені з піксельної ділянки в ділянку перетворення, призводячи до залишкових коефіцієнтів перетворення, які потім можуть бути квантовані. Квантовані коефіцієнти перетворення, спочатку розміщені у двовимірному масиві, можуть бути скановані, щоб сформувати одновимірний вектор коефіцієнтів перетворення, і ентропійне кодування може бути застосоване, щоб досягнути ще більшого ступеня стиснення. СУТЬ ВИНАХОДУ В цілому дане розкриття описує способи для обробки даних відео. Зокрема, дане розкриття описує способи, які можуть бути використані для зменшення затримки додатків відео, таких як діалогові додатки, забезпечують удосконалення довільного доступу закодованої послідовності відео, і надають інформацію для відео контенту, який має фіксовану швидкість передачі картинок і підтримує часову масштабованість. В одному прикладі спосіб декодування даних відео включає в себе декапсулювання вирізки картинки точки довільного доступу (RAP) потоку бітів з одиниці рівня абстракції мережі (NAL), в якому одиниця NAL включає в себе значення типу одиниці NAL, яке вказує, чи має картинка RAP тип, який може мати асоційовані початкові картинки, і чи є картинка RAP картинкою миттєвого оновлення декодера (IDR) або картинкою чистого довільного доступу (CRA), визначення, чи може картинка RAP мати асоційовані початкові картинки на основі значення типу одиниці NAL; і декодування даних відео потоку бітів після картинки RAP на основі визначення того, чи може картинка RAP мати асоційовані початкові картинки. 1 UA 113446 C2 5 10 15 20 25 30 35 40 45 50 55 60 В іншому прикладі пристрою для декодування даних відео, причому пристрій містить процесор, сконфігурований декапсулювати вирізки картинки точки довільного доступу (RAP) потоку бітів з одиниці рівня абстракції мережі (NAL), при цьому одиниця NAL включає в себе значення типу одиниці NAL, яке вказує, чи має картинка RAP тип, який може мати асоційовані початкові картинки, і чи є картинка RAP картинкою миттєвого оновлення декодера (IDR) або картинкою чистого довільного доступу (CRA), визначати, чи може картинка RAP мати асоційовані початкові картинки на основі значення типу одиниці NAL, і декодувати відео дані потоку бітів після картинки RAP на основі визначення того, чи може картинка RAP мати асоційовані початкові картинки. В іншому прикладі пристрій для декодування даних відео включає в себе засіб для декапсулювання вирізки картинки точки довільного доступу (RAP) потоку бітів з одиниці рівня абстракції мережі (NAL), в якому одиниця NAL включає в себе значення типу одиниці NAL, яке вказує, чи має картинка RAP тип, який може мати асоційовані початкові картинки, і чи є картинка RAP картинкою миттєвого оновлення декодера (IDR) або картинкою чистого довільного доступу (CRA), засіб для визначення, чи може картинка RAP мати асоційовані початкові картинки на основі значення типу одиниці NAL, і засіб для декодування даних відео потоку бітів після картинки RAP на основі визначення того, чи може картинка RAP мати асоційовані початкові картинки. В іншому прикладі зчитуваний комп'ютером запам'ятовуючий носій має збережені на ньому інструкції, які, коли виконуються, змушують процесор декапсулювати вирізки картинки точки довільного доступу (RAP) потоку бітів з одиниці рівня абстракції мережі (NAL), в якому одиниця NAL включає в себе значення типу одиниці NAL, яке вказує, чи має картинка RAP тип, який може мати асоційовані початкові картинки, і чи є картинка RAP картинкою миттєвого оновлення декодера (IDR) або картинкою чистого довільного доступу (CRA), визначати, чи може картинка RAP мати асоційовані початкові картинки, на основі значення типу одиниці NAL, і декодувати відео дані потоку бітів після картинки RAP на основі визначення того, чи може картинка RAP мати асоційовані початкові картинки. В іншому прикладі спосіб генерування потоку бітів, що включає в себе дані відео, причому спосіб містить визначення, чи має картинка точки довільного доступу (RAP) тип, який може мати асоційовані початкові картинки, і чи містить картинка RAP картинку миттєвого оновлення декодера (IDR) або картинку чистого довільного доступу (CRA), інкапсуляцію вирізки картинки RAP в одиницю рівня абстракції мережі (NAL), в якому одиниця NAL включає в себе значення типу одиниці NAL, яке вказує, чи має картинка RAP тип, який може мати асоційовані початкові картинки, і генерування потоку бітів, що включає в себе цю одиницю NAL. В іншому прикладі пристрій для генерування потоку бітів, що включає в себе відео дані, включає в себе процесор, сконфігурований, щоб визначити, чи має картинка точки довільного доступу (RAP) тип, який може мати асоційовані початкові картинки, і чи містить картинка RAP картинку миттєвого оновлення декодера (IDR) або картинку чистого довільного доступу (CRA), інкапсулювати вирізку картинки RAP в одиницю рівня абстракції мережі (NAL), в якому одиниця NAL включає в себе значення типу одиниці NAL, яке вказує, чи має картинка RAP тип, який може мати асоційовані початкові картинки, і генерувати потік бітів, що включає в себе одиницю NAL. В іншому прикладі пристрій для генерування потоку бітів, що включає в себе відео дані, включає в себе засіб для визначення, чи має картинка точки довільного доступу (RAP) тип, який може мати асоційовані початкові картинки і чи є картинка RAP картинкою миттєвого оновлення декодера (IDR) або картинкою чистого довільного доступу (CRA), засіб для інкапсуляції вирізки картинки RAP в одиниці рівня абстракції мережі (NAL), в якому одиниця NAL включає в себе значення типу одиниці NAL, яке вказує, чи має картинка RAP тип, який може мати асоційовані початкові картинки, і засіб для генерування потоку бітів, що включає в себе одиницю NAL. В іншому прикладі зчитуваний комп'ютером запам'ятовуючий носій має збережені на ньому інструкції, які, коли виконуються, змушують процесор визначити, чи має картинка точки довільного доступу (RAP) тип, який може мати асоційовані початкові картинки і чи містить картинка RAP картинку миттєвого оновлення декодера (IDR) або картинку чистого довільного доступу (CRA), інкапсулювати вирізку картинки RAP в одиниці рівня абстракції мережі (NAL), в якому одиниця NAL включає в себе значення типу одиниці NAL, яке вказує, чи має картинка RAP тип, який може мати асоційовані початкові картинки, і генерує потік бітів, що включає в себе одиницю NAL. В іншому прикладі спосіб декодування даних відео включає в себе визначення, для одиниці рівня абстракції мережі (NAL) додаткової інформації розширення (SEI) потоку бітів, чи вказує значення типу одиниці NAL для одиниці NAL SEI, що одиниця NAL містить одиницю NAL SEI 2 UA 113446 C2 5 10 15 20 25 30 35 40 45 50 55 префікса, яка включає в себе повідомлення SEI префікса, або одиницю NAL SEI суфікса, яка включає в себе повідомлення SEI суфікса, і декодування відео даних потоку бітів після одиниці NAL SEI на основі того, чи є одиниця NAL SEI одиницею NAL SEI префікса або одиницею NAL SEI суфікса і одиницею NAL SEI даних. В іншому прикладі пристрій для декодування даних відео включає в себе процесор, сконфігурований, щоб визначити, для одиниці рівня абстракції мережі (NAL) додаткової інформації розширення (SEI) потоку бітів, чи вказує значення типу одиниці NAL для одиниці NAL SEI, що одиниця NAL містить одиницю NAL SEI префікса, яка включає в себе повідомлення SEI префікса, або одиницю NAL SEI суфікса, яка включає в себе повідомлення SEI суфікса, і декодувати відео дані потоку бітів після одиниці NAL SEI на основі того, чи є одиниця NAL SEI одиницею NAL SEI префікса або одиницею NAL SEI суфікса і одиницею NAL SEI даних. В іншому прикладі пристрій для декодування даних відео включає в себе засіб для визначення, для одиниці рівня абстракції мережі (NAL) додаткової інформації розширення (SEI) потоку бітів, чи вказує значення типу одиниці NAL для одиниці NAL SEI, що одиниця NAL містить одиницю NAL SEI префікса, яка включає в себе повідомлення SEI префікса, або одиницю NAL SEI суфікса, яка включає в себе повідомлення SEI суфікса, і засіб для декодування даних відео потоку бітів після одиниці NAL SEI на основі того, чи є одиниця NAL SEI одиницею NAL SEI префікса або одиницею NAL SEI суфікса і одиницею NAL SEI даних. В іншому прикладі зчитуваний комп'ютером запам'ятовуючий носій має збережені на ньому інструкції, які, коли виконуються, змушують процесор визначити, для одиниці рівня абстракції мережі (NAL) додаткової інформації розширення (SEI) потоку бітів, чи вказує значення типу одиниці NAL для одиниці NAL SEI, що одиниця NAL містить одиницю NAL SEI префікса, яка включає в себе повідомлення SEI префікса, або одиницю NAL SEI суфікса, яка включає в себе повідомлення SEI суфікса, і декодувати відео дані потоку бітів після одиниці NAL SEI на основі того, чи є одиниця NAL SEI одиницею NAL SEI префікса або одиницею NAL SEI суфікса і одиницею NAL SEI даних. В іншому прикладі спосіб генерування потоку бітів, що включає в себе дані відео, включає в себе визначення, чи є повідомлення додаткової інформації розширення (SEI) повідомленням SEI префікса або повідомленням SEI суфікса, в якому повідомлення SEI включає в себе дані, що належать до закодованих даних відео, інкапсулювання повідомлення SEI в одиниці NAL SEI, в якому одиниця NAL SEI включає в себе значення типу одиниці NAL, яке вказує, чи є одиниця NAL SEI одиницею NAL SEI префікса, або одиницю NAL SEI суфікса і чи є повідомлення SEI повідомленням SEI префікса або повідомленням SEI суфікса, і генерування потоку бітів, що включає в себе щонайменше одиницю NAL SEI. В іншому прикладі пристрій для генерування потоку бітів, що включає в себе відео включає в себе процесор, сконфігурований, щоб визначити, чи є повідомлення додаткової інформації розширення (SEI) повідомленням SEI префікса або повідомленням SEI суфікса, в якому повідомлення SEI включає в себе дані, що належать до закодованих даних відео, інкапсулювати повідомлення SEI в одиниці NAL SEI, в якому одиниця NAL SEI включає в себе значення типу одиниці NAL, яке вказує, чи є одиниця NAL SEI одиницею NAL SEI префікса або одиницею NAL SEI суфікса, і чи є повідомлення SEI повідомленням SEI префікса або повідомленням SEI суфікса, і генерувати потік бітів, що включає в себе щонайменше згадану одиницю NAL SEI. В іншому прикладі пристрій для генерування потоку бітів, що включає в себе відео дані, включає в себе засіб для визначення, чи є повідомлення додаткової інформації розширення (SEI) повідомленням SEI префікса або повідомленням SEI суфікса, при цьому повідомлення SEI включає в себе дані, що належать до закодованих даних відео, засіб для інкапсулювання повідомлення SEI в одиниці NAL SEI, при цьому одиниця NAL SEI включає в себе значення типу одиниці NAL, яке вказує, чи є одиниця NAL SEI одиницею NAL SEI префікса або одиницею NAL SEI суфікса, і чи є повідомлення SEI повідомленням SEI префікса або повідомленням SEI суфікса, і засіб для генерування потоку бітів, що включає в себе щонайменше згадану одиницю NAL SEI. В іншому прикладі зчитуваний комп'ютером запам'ятовуючий носій, що має збережені на ньому інструкції, які, коли виконуються, змушують процесор визначити, чи є повідомлення додаткової інформації розширення (SEI) повідомленням SEI префікса або повідомленням SEI суфікса, в якому повідомлення SEI включає в себе дані, що належать до закодованих даних відео, інкапсулювати повідомлення SEI в одиниці NAL SEI, в якому одиниця NAL SEI включає в себе значення типу одиниці NAL, яке вказує, чи є одиниця NAL SEI одиницею NAL SEI префікса або одиницею NAL SEI суфікса, і чи є повідомлення SEI повідомленням SEI префікса або 3 UA 113446 C2 5 10 15 20 25 30 35 40 45 50 55 60 повідомленням SEI суфікса, і генерувати потік бітів, що включає в себе щонайменше згадану одиницю NAL SEI. В іншому прикладі спосіб представлення даних відео включає в себе визначення цілочисельного значення для даних відео, визначення значення різниці між часом представлення першої картинки і часом представлення другої картинки, в якому значення різниці дорівнює цілочисельному значенню, помноженому на значення такту системних годинників, і представлення першої картинки і другої картинки згідно з визначеним значенням різниці. В іншому прикладі пристрій для представлення відео даних включає в себе процесор, сконфігурований, щоб визначити цілочисельне значення для даних відео, визначити значення різниці між часом представлення першої картинки і часом представлення другої картинки, в якому значення різниці дорівнює цілочисельному значенню, помноженому на значення такту системних годинників, і представляти першу картинку і другу картинку згідно з визначеним значенням різниці. В іншому прикладі пристрій для представлення відео даних включає в себе засіб для визначення цілочисельного значення для даних відео, засіб для визначення значення різниці між часом представлення першої картинки і часом представлення другої картинки, в якому значення різниці дорівнює цілочисельному значенню, помноженому на значення такту системних годинників, і засіб для представлення першої картинки і другої картинки згідно з визначеним значенням різниці. В іншому прикладі зчитуваний комп'ютером запам'ятовуючий носій має збережені на ньому інструкції, які, коли виконуються, змушують процесор визначити цілочисельне значення для даних відео, визначити значення різниці між часом представлення першої картинки і часом представлення другої картинки, в якому значення різниці дорівнює цілочисельному значенню, помноженому на значення такту системних годинників, і представляти першу картинку і другу картинку згідно з визначеним значенням різниці. В іншому прикладі спосіб генерування потоку бітів, що включає в себе дані відео, включає в себе генерування даних, які вказують, чи є різниця між часом представлення першої картинки і часом представлення другої картинки цілим числом, кратним значенню такту системних годинників, і, коли дані вказують, що різниця є цілим числом, кратним значенню такту системних годинників, генерування даних, які представляють цілочисельне кратне. В іншому прикладі пристрій для генерування потоку бітів, що включає в себе відео дані, включає в себе процесор, сконфігурований, щоб генерувати дані, які вказують, чи є різниця між часом представлення першої картинки і часом представлення другої картинки цілим числом, кратним значенню такту системних годинників, і, коли дані вказують, що різниця є цілим числом, кратним значенню такту системних годинників, генерування даних, які представляють цілочисельне кратне. В іншому прикладі пристрій для генерування потоку бітів, що включає в себе відео дані, включає в себе засіб для того, щоб генерувати дані, які вказують, чи є різниця між часом представлення першої картинки і часом представлення другої картинки цілим числом, кратним значенню такту системних годинників, і засіб для того, щоб генерувати, коли дані вказують, що різниця є цілим числом, кратним значенню такту системних годинників, дані, які представляють цілочисельне кратне. В іншому прикладі зчитуваний комп'ютером запам'ятовуючий носій має збережені на ньому інструкції, які, коли виконуються, змушують процесор генерувати дані, які вказують, чи є різниця між часом представлення першої картинки і часом представлення другої картинки цілим числом, кратним значенню такту системних годинників; і коли дані вказують, що різниця є цілим числом, кратним значенню такту системних годинників, генерувати дані, які представляють цілочисельне кратне. Деталі одного або більше прикладів сформульовані в супроводжуючих кресленнях та описі нижче. Інші ознаки, об'єкти і переваги будуть очевидні з опису та креслень і з формули винаходу. КОРОТКИЙ ОПИС КРЕСЛЕНЬ Фіг. 1 є концептуальною діаграмою, що ілюструє послідовність відео, закодовану згідно зі способами кодування відео з прогнозуванням. Фіг. 2 є концептуальною діаграмою, що ілюструє приклад закодованої послідовності відео. Фіг. 3 є блок-схемою, що ілюструє зразкову систему кодування і декодування відео, яка може використовувати способи, описані в даному розкритті. Фіг. 4 є блок-схемою, що ілюструє зразковий блок інкапсуляції, який може реалізувати способи, описані в даному розкритті. 4 UA 113446 C2 5 10 15 20 25 30 35 40 45 50 55 60 Фіг. 5 є послідовністю операцій, що ілюструє приклад генерування одиниць NAL VCL згідно зі способами даного розкриття. Фіг. 6 є послідовністю операцій, що ілюструє приклад генерування одиниці NAL не-VCL згідно зі способами даного розкриття. Фіг. 7 є послідовністю операцій, що ілюструє приклад сигналізації значення дельти часу представлення. Фіг. 8 є блок-схемою, що ілюструє зразковий кодер відео, який може реалізувати способи, описані в даному розкритті. Фіг. 9 є послідовністю операцій, що ілюструє приклад визначення значення дельти часу представлення. Фіг. 10 є блок-схемою, що ілюструє зразковий декодер відео, який може реалізувати способи, описані в даному розкритті. ДОКЛАДНИЙ ОПИС Дане розкриття описує різні поліпшені структури кодування відео. Зокрема, дане розкриття описує способи, які можуть бути використані для зменшення затримки відео додатків, таких як діалогові додатки, і забезпечують удосконалення довільного доступу закодованої послідовності відео. Цифрові відео пристрої реалізовують способи стиснення відео, щоб закодувати і декодувати цифрову інформацію відео більш ефективно. Способи стиснення відео можуть бути визначені згідно зі стандартом кодування відео, таким як AVC або HEVC. Стандарт ITU-T H.264/MPEG-4 (AVC) був сформульований Групою Експертів з Кодування відео ITU-T (VCEG) разом з ISO/IEC групою експертів з рухомих зображеннях (MPEG) як продукт колективного товариства, відомого як Об'єднана Команда Відео (JVT). Стандарт H.264 описаний в ITU-T Recommendation H.264, Advanced Video Coding for generic audiovisual services, Групою з вивчення ITU-T, і датований березнем 2005, який може бути згаданий тут як стандарт H.264 або специфікація H.264, або стандарт H.264/AVC або специфікація Об'єднана Команда Відео (JVT) продовжує розвивати розширення до H.264/MPEG-4 AVC. Недавній робочий проект (WD) HEVC, названий "HEVC Working Draft 7" або "WD7", описаний в документі JCTVC-I1003_d5, Bross і інш., "WD7: Working Draft 7 °F High-Efficiency Video Coding (HEVC), Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC th JTC1/SC29/WG11, 9 Meeting: Geneva, Switzerland, April 27, 2012 to May 7, 2012. Далі, інший недавній робочий проект HEVC, Working Draft 9, описаний в документі HCTVC-K1003_d7, Bross і інш., "High Efficiency Video Coding (HEVC) Text Specification Draft 9", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 11th Meeting: Shanghai, CN, October, 2012. Стандарт HEVC, що розробляється, може також згадуватися як ISO/IEC 23008-HEVC, який призначений, щоб бути стандартним номером для наданої версії HEVC. У деяких аспектах способи, описані в даному розкритті, можуть бути застосовані до пристроїв, які в цілому відповідають H.264 і/або стандарту HEVC, що розробляється. Хоча способи даного розкриття описані відносно стандарту H.264 і стандарту, що розробляється HEVC, способи даного розкриття в цілому застосовні до будь-якого стандарту кодування відео. Послідовність відео типово включає в себе послідовність кадрів відео, які також називаються картинками. Приклади додатків відео, де послідовність відео кодується і/або декодується, включають в себе локальне відтворення, потокову передачу, мовлення, багатоадресне мовлення і діалогові додатки. Діалогові додатки включають в себе відео телефонію і відео конференц-зв'язок і також згадуються як додатки з низькою затримкою. Діалогові додатки вимагають відносно малої крізної затримки всіх систем, тобто, затримки між часом, коли відео кадр захоплений в першому цифровому відео пристрої, і часом, коли відео кадр показується у другому цифровому відео пристрої. Типово прийнятна крізна затримка діалогових додатків повинна скласти менше ніж 400 мілісекунд, і крізна затримка приблизно 150 мілісекунд вважається дуже хорошою. Кожний етап, асоційований з обробкою послідовності відео, може давати внесок в повну крізну затримку. Приклади затримок, асоційованих з обробкою послідовності відео, включають в себе затримку захоплення, затримку попередньої обробки, затримку кодування, затримку передачі, затримку буферизації прийому (для усунення "тремтіння"), затримку декодування, затримку виведення декодованої картинки, затримку постобробки, і затримку відображення. Затримка, асоційована з кодуванням послідовності відео згідно з конкретним стандартом кодування відео, може згадуватися як затримка кодека і може включати в себе затримку кодування, затримку декодування і затримку виведення декодованої картинки. Затримка кодека повинна бути мінімізована в діалогових додатках. Зокрема, структура кодування послідовності відео повинна гарантувати, що порядок виведення картинок в послідовності відео ідентичний 5 UA 113446 C2 5 10 15 20 25 30 35 40 45 50 55 60 порядку декодування картинок в послідовності відео, так що затримка виведення декодованої картинки рівна нулю. Структура кодування послідовності відео належить, зокрема, до розподілу типів картинок, використаних для кодування послідовності відео. Група картинок (GOP) звичайно містить послідовність з однієї або більше картинок, скомпонованих згідно з порядком відображення. Згідно з HEVC, відео кодер може розділити відео кадр або картинку в послідовність блоків відео однакового розміру. Блок відео може мати компонент світності (позначений як Y) і два компоненти насиченості кольору (позначені як U та V або Cb та Cr). Ці блоки відео можуть також називатися як найбільші одиниці кодування (LCU), блоки дерева, або одиниці блока дерева кодування (CTUs). LCUs в HEVC можуть бути дуже схожі на макроблоки попередніх стандартів, такі як H.264/AVC. Однак, LCU не обов'язково обмежений конкретним розміром. Згідно з HEVC, дані синтаксису в межах потоку бітів можуть визначити LCU згідно з кількістю горизонтальних і/або вертикальних вибірок яскравості. Наприклад, LCU може бути визначена як така, що включає в себе 64 × 64 або 32 × 32 вибірок яскравості. Далі, LCU може бути розділена у множинні одиниці кодування (CUs) згідно зі схемою розподілу квадродерева. Звичайно, розділення квадродерева належить до рекурсивного розділення одиниць CU на чотири суб-одиниці CU. Дані синтаксису, асоційовані із закодованим потоком бітів, можуть визначити максимальну кількість разів, скільки LCU може бути розділена, яка називається максимальною глибиною CU, і може також визначити мінімальний розмір CU. Відповідно, потік бітів може також визначити найменшу одиницю кодування (SCU). Наприклад, SCU може бути визначена як така, що включає в себе 8 × 8 вибірок яскравості. Крім того, згідно з HEVC, відео кодер може розділити картинку на множину вирізок, при цьому кожна з вирізок включає в себе цілочисельну кількість Одиниць LCU. Вирізки можуть бути I вирізками, Р вирізками або В вирізками, де I, Р та В визначають, як інші блоки відео використовуються для прогнозування одиниць CU. I вирізка прогнозується, використовуючи режим внутрішнього прогнозування (наприклад, від блоків відео у межах того самого кадру). Внутрішнє кодування покладається на просторове прогнозування, щоб зменшити або видалити просторову надмірність у відео в межах заданих відео кадру або картинки. Р вирізка прогнозується, використовуючи однонаправлений режим зовнішнього прогнозування (наприклад, від блока відео в попередньому кадрі). В вирізка прогнозується, використовуючи двонаправлений режим зовнішнього прогнозування (наприклад, від блоків відео в межах попереднього кадру і подальшого кадру). Зовнішнє кодування покладається на часове прогнозування, щоб зменшити або видалити часову надмірність у відео в межах суміжних кадрів або картинок послідовності відео. ФІГ. 1 є концептуальною діаграмою, що ілюструє послідовність відео, закодовану згідно зі способами прогнозуючого кодування відео. Як ілюстровано на фіг. 1, відео послідовність 100 включає в себе картинки Pic1-Pic10. У концептуальній діаграмі згідно з ФІГ. 1 картинки Pic1-Pic10 скомпоновані і послідовно пронумеровані згідно з порядком, в якому вони повинні бути показані. Як описано більш детально нижче, порядок відображення не обов'язково відповідає порядку декодування. Як ілюстровано на фіг. 1, відео послідовність 100 включає в себе GOP1 та GOP2, де картинки Pic1-Pic5 включені в GOP1 і картинки Pic6-Pic10, включені в GOP2. ФІГ. 1 ілюструє, що Pic5 розділена на slice1 та slice2, де кожний з slice1 та slice2 включає в себе послідовні одиниці LCU згідно з растровим скануванням зліва направо зверху вниз. Хоча не показано, інші картинки, ілюстровані на фіг. 1, можуть бути розділені на одну або більше вирізок подібним способом. ФІГ. 1 також ілюструє поняття I вирізки, Р вирізки або В вирізки відносно GOP2. Стрілки, асоційовані з кожною з Pic6-Pic10 в GOP2, вказують, чи включає картинка в себе I вирізки, Р вирізки або В вирізки на основі опорної картинки, позначеної стрілками. На фіг. 1 картинки Pic6 та Pic9 представляють картинки, що включають в себе I картинки (тобто, посилання безпосередньо на саму картинку), картинки Pic7 та Pic10 представляють картинки, що включають в себе Р вирізки (тобто, кожна посилається на попередню картинку), і Pic 8 представляє картинку, що включає в себе В вирізки (тобто, посилається на попереднє і подальшу картинку). У HEVC кожна з відео послідовності, GOP, картинки, вирізки і CU може бути асоційована з даними синтаксису, які описують властивості кодування відео. Наприклад, вирізка включає в себе заголовок, який включає в себе елемент синтаксису, який вказує, чи є вирізка I вирізкою, Р вирізкою або В вирізкою. Далі, HEVC включає в себе поняття наборів параметрів. Набір параметрів є структурою синтаксису, яка включає в себе елементи синтаксису, які дозволяють відео декодеру відновлювати відео послідовність. HEVC використовує механізм ієрархічного набору параметрів, де елементи синтаксису включені в тип набору параметрів на основі частоти, з якою елементи синтаксису, як очікують, будуть змінюватися. Механізм набору параметрів в HEVC відділяє передачу інформації, що нечасто змінюється, від передачі 6 UA 113446 C2 5 10 15 20 25 30 35 40 45 50 55 60 закодованих даних блока. Далі, в деяких застосуваннях набори параметрів можуть бути передані "поза діапазоном", тобто, не транспортовані разом з блоками, що містять закодовані відео дані. Передача поза діапазоном типово є надійною. У HEVC WD7 конкретний набір параметрів ідентифікують, використовуючи ID набору параметрів. У HEVC WD7, ID набору параметрів є беззнаковий цілочисельний елемент синтаксису Exp-Golomb-coded з першим лівим бітом. HEVC WD7 визначає наступні набори параметрів: Набір параметрів відео (VPS): VPS є синтаксичною структурою, яка містить елементи синтаксису, які застосовуються до нуля або більше повністю закодованих відео послідовностей. Тобто, VPS включає в себе елементи синтаксису, які, як очікують, залишаться незмінними для послідовності кадрів (наприклад, порядок картинок, кількість опорних кадрів і розмір картинок). VPS ідентифікують, використовуючи ID VPS. Набір параметрів послідовності включає в себе ID VPS. Набір параметрів послідовності (SPS) - SPS є синтаксичною структурою, яка включає в себе елементи синтаксису, які застосовуються до нуля або більше повністю закодованих відео послідовностей. Тобто, SPS включає в себе елементи синтаксису, які, як очікують, залишаться незмінними для послідовності кадрів (наприклад, порядок картинок, кількість опорних кадрів, і розмір картинок). SPS ідентифікують, використовуючи ID SPS. Набір параметрів картинки включає в себе ID SPS. Набір параметрів картинки (PPS) - PPS є синтаксичною структурою, яка включає в себе елементи синтаксису, які застосовуються до однієї або більше картинок. Тобто, PPS включає в себе елементи синтаксису, які можуть змінюватися від картинки до картинки в межах послідовності (наприклад, режим ентропійного кодування, параметри квантування, і глибина в бітах). Набір параметрів PPS ідентифікують, використовуючи ID PPS. Заголовок вирізки включає в себе ID PPS. Адаптивний набір параметрів (APS) - APS є синтаксичною структурою, яка включає в себе елементи синтаксису, які застосовуються до однієї або більше картинок. APS включає в себе елементи синтаксису, які, як очікують, змінюються в межах картинок послідовності (наприклад, розмір блока, і фільтрування видалення блочності). Набір APS ідентифікують, використовуючи ID APS. Заголовок вирізки може включати в себе ID APS. Згідно із згаданими визначеними типами набору параметрів в HEVC WD7, кожний SPS посилається на ID VPS, кожний PPS посилається на ID SPS, і кожний заголовок вирізки посилається на ID PPS і, можливо, на ID APS. Треба зазначити, що в деяких випадках лінійне співвідношення посилання, що включають в себе ID VPS в SPS та ID SPS в PPS може бути неефективним. Наприклад, хоча VPS підтримується в HEVC WD7, більшість параметрів інформації рівня послідовності все ще присутні тільки в SPS. Додатково до поняття наборів параметрів, HEVC включає в себе поняття закодованих відео послідовностей і одиниць доступу. Згідно з HEVC WD7, закодована відео послідовність і блок доступу визначені таким чином: Закодована відео послідовність: послідовність одиниць доступу, яка складається, в порядку декодування, з одиниці доступу CRA, яка є першою одиницею доступу в потоку бітів, одиниці доступу IDR або одиниць доступу BLA, що супроводжується нулем або більше одиницями доступу не-IDR і не-BLA, що включають в себе всі подальші одиниці доступу аж до, але не включають в себе будь-яку подальшу одиницю доступу IDR або BLA [одиниці доступу CRA, IDR і BLA, описані детально нижче]. Одиниця доступу: набір одиниць NAL, які є послідовними в порядку декодування і містять одну закодовану картинку. Додатково до одиниць NAL закодованої вирізки закодованої картинки одиниця доступу може також містити інші одиниці NAL, що не містять вирізки закодованої картинки. Декодування одиниці доступу завжди призводить до декодованої картинки. Одиниця NAL належить до одиниці рівня абстракції мережі. Таким чином, згідно з HEVC, потік бітів закодованих відео даних включає в себе послідовність одиниць NAL. Одиниця доступу є набором одиниць NAL, які розміщені послідовно в порядку декодування і містять точно одну закодовану картинку, і закодована відео послідовність включає в себе послідовність одиниць доступу, розміщених в порядку декодування. ФІГ. 2 є концептуальною діаграмою, що ілюструє приклад закодованої відео послідовності. ФІГ. 2 представляє приклад закодованої відео послідовності 200, яка може відповідати GOP2, ілюстрованій на фіг. 1. Як ілюстровано на фіг. 2, закодована відео послідовність 200 включає в себе одиницю доступу, що відповідає кожній з Pic6-Pic10. Одиниці доступу закодованої відео послідовності 200 розміщені послідовно згідно з порядком декодування. Треба зазначити, що одиниця доступу, що відповідає Pic9, розташована перед одиницею доступу, що відповідає Pic 8. Таким чином, порядок декодування не відповідає порядку відображення, ілюстрованому на фіг. 1. У цьому прикладі це має місце 7 UA 113446 C2 5 10 15 20 25 30 внаслідок того, що Pic8 посилається на Pic9. Таким чином, Pic9 повинна бути декодована раніше, ніж може бути декодована Pic8. ФІГ. 2 ілюструє, що одиниця доступу, що відповідає Pic9, включає в себе одиниці NAL: одиницю NAL 202 роздільника AU, одиницю NAL 204 PPS, одиницю NAL 206 slice1, і одиницю NAL 208 slice2. Кожна одиниця NAL може включати в себе заголовок, який ідентифікує тип одиниці NAL. HEVC визначає два класи типу одиниці NAL: одиниці NAL закодованої вирізки (VCL) і одиниці NAL не-VCL. Одиниця NAL закодованої вирізки містить вирізку відео даних. У прикладі, ілюстрованому на фіг. 2, одиниця NAL 206 slice1 та одиниця NAL 208 slice2 кожна містить вирізку відео даних і є прикладами одиниць NAL VCL. У прикладі на ФІГ. 2 кожної з одиниці NAL 206 slice1 та одиниці NAL 208 slice2 можуть бути I-вирізки. Не-VCL включає в себе те, що містить інформацію крім вирізки відео даних. Наприклад, не-VCL може містити дані роздільника або набір параметрів. У прикладі, ілюстрованому на фіг. 2 одиниці NAL 202 роздільника AU включають в себе інформацію, щоб розмежувати одиницю доступу, що відповідає Pic 9, від одиниці доступу, що відповідає Pic7. Далі, одиниця NAL 204 PPS включає в себе набір параметрів картинки. Таким чином, одиниця NAL 202 роздільника AU, і одиниця NAL 204 PPS є прикладами одиниць NAL не-VCL. Іншим прикладом одиниці NAL не-VCL в HEVC є одиниця NAL додаткової інформації розширення (SEI). Механізм SEI, що підтримується і в AVC і в HEVC, дозволяє кодерам включати метадані в потік бітів, які не потрібні для коректного декодування значень вибірок картинок виведення, але можуть використовуватися в різних інших цілях, таких як тактування виведення, відображення картинок, так само як виявлення втрат і приховування. Наприклад, одиниці NAL SEI можуть включати в себе повідомлення тактування картинок, які використовуються відео декодером при декодуванні потоку бітів. Повідомлення тактування картинок можуть включати в себе інформацію, яка вказує, коли відео декодер повинен почати декодувати одиницю NAL VCL. Кодери можуть включати в себе будь-яку кількість одиниць NAL SEI в одиниці доступу, і кожна одиниця NAL SEI може містити одне або більше повідомлень SEI. Проект стандарту HEVC включає в себе синтаксис і семантику для декількох повідомлень SEI, але обробка повідомлень SEI не визначена, оскільки вони не впливають на нормативний процес декодування. Одна причина мати повідомлення SEI в проекті стандарту HEVC полягає в тому, щоб дозволити додатковим даним інтерпретуватися тотожно в різних системах, що використовують HEVC. Специфікації і системи, що використовують HEVC, можуть вимагати, щоб кодери генерували деякі повідомлення SEI, або можуть визначати конкретну обробку конкретних типів прийнятих повідомлень SEI. Таблиця 1 перераховує повідомлення SEI, визначені в HEVC, і стисло описує їх цілі. 35 ТАБЛИЦЯ 1 Короткий огляд повідомлень SEI Повідомлення SEI Період буферизації Тактування картинок Прямокутник панорамного сканування Корисні дані заповнювача Дані користувача зареєстровані Дані користувача не зареєстровані Точка відновлення Інформація сцени Повнокадровий знімок Сегмент прогресивної деталізації Призначення Початкові затримки для роботи гіпотетичного опорного декодера (HRD) operation Час виведення картинок і час видалення картинок/суб- картинок для операції HRD, а також інформація, що належить до структури картинки Відображення з іншим відношенням сторін картинки (PAR), ніж PAR картинок виведення Регулювання частоти проходження бітів для задоволення спеціальним обмеженням Повідомлення SEI, які повинні бути задані зовнішніми об'єктами Додаткова інформація для частого довільного доступу. Поступове оновлення декодування. Інформація про зміни і переходи сцени Індикація маркувати асоційовану декодовану картинку знімок нерухомого зображення відео контенту Вказує, що деякі послідовні картинки представляють прогресивну деталізації якості картинки, а не рухому сцену 8 UA 113446 C2 Повідомлення SEI Призначення Характеристики зерна Дозволяє декодерам синтезувати зерно плівки плівки Переваги відображення Рекомендує, чи повинні показані картинки бути піддані процесу фільтра видалення фільтра видалення блочності в контурі блочності Забезпечує коефіцієнти постфільтра або інформацію кореляції для Підказки постфільтра структури постфільтра Інформація Перевідображення в інший кольоровий простір, ніж той, що відображення тону використовується або прийнятий при кодуванні Компонування упаковки Пакування стереоскопічного відео в потік бітів HEVC кадру Задає перемикання і/або обертання, яке повинне бути застосоване до Орієнтація дисплея картинок виведення, коли вони показуються Структура опису Описує часову структуру і структуру зовнішнього прогнозування потоку картинок бітів Хеш-функція Контрольна сума декодованої картинки, яка може використовуватися декодованої картинки для виявлення помилок Набори активних Надає інформацію про активну VPS, SPS, тощо. параметрів Інформація одиниці Час видалення суб-картинок для роботи HRD, а також індекс одиниці декодування декодування Індекс часового рівня Забезпечує значення індексу часового рівня нуль нуль Вкладеність Забезпечує механізм, щоб вкласти повідомлення SEI для асоціації до масштабування різних точок і рівнів операції Інформація відновлення Надає інформацію про оновлену і неоновлену ділянку для поступового ділянки оновлення декодування 5 10 15 20 25 30 Довільний доступ належить до декодування потоку бітів відео, що починається із закодованої картинки, яка не є першою закодованою картинкою в потоці бітів. Довільний доступ до потоку бітів необхідний в багатьох додатках відео, таких як мовлення і потокова передача, наприклад, для користувачів, щоб перемкнутися між різними каналами, перейти до конкретних частин відео, або перемкнутися до іншого потоку бітів для адаптації потоку (наприклад, для частоти проходження бітів, швидкості передачі кадрів або масштабованості просторового розрізнення). Довільний доступ дозволений при наявності структури кодування, яка включає в себе картинки точки довільного доступу (RAP) або одиниці доступу, багато разів з регулярними інтервалами, для відео послідовності. Картинки миттєвого оновлення декодера (IDR), картинки чистого довільного доступ (CRA), і картинки доступу з розірваним посиланням (BLA) є типами картинок RAP, визначених в HEVC WD7. Кожна з картинок IDR, картинок CRA і картинок BLA включає в себе тільки I картинки. Однак, кожна з картинок IDR, картинок CRA і картинок BLA відрізняється на основі визначених обмежень посилання. Картинки IDR задані в AVC і визначені згідно з HEVC WD7. У той час як картинки IDR можуть використовуватися для довільного доступу, картинки IDR обмежені в тому, що картинки після картинки IDR в порядку декодування не можуть використовувати картинки, декодовані до картинки IDR, як опорні. У прикладі, ілюстрованому на фіг. 1 та 2, як описано вище, pic 6 у відео послідовності 100 може бути картинкою IDR. Через обмеження, асоційовані з картинками IDR, потоки бітів, що покладаються на картинки IDR для довільного доступу, може мати значно більш низьку ефективність кодування. Щоб поліпшити ефективність кодування, концепція картинок CRA була введена в HEVC. Згідно з HEVC WD7, картинка CRA, подібно до картинки IDR, включає в себе тільки I картинки. Однак, картинкам, які йдуть за картинкою CRA в порядку декодування, але передують картинкам CRA в порядку виведення, дозволено використовувати картинки, декодовані перед картинкою CRA, як опорні. Картинки, які йдуть за картинкою CRA в порядку декодування, але передують картинці CRA в порядку виведення, згадуються як початкові картинки, асоційовані з картинкою CRA (або початкові картинки для картинки CRA). Початкові картинки для картинки CRA коректно декодуються, якщо декодування починається з картинки IDR або CRA перед поточною картинкою CRA. Однак, початкові картинки для картинки CRA можуть не бути коректно декодованими, коли відбувається довільний доступ від картинки CRA. З посиланнями 9 UA 113446 C2 5 10 15 20 25 30 35 40 45 50 55 на приклад, ілюстрований на фіг. 1 та 2, Pic 9 може бути картинкою CRA, і Pic8 може бути початковою картинкою Pic9. Pic8 є коректно декодованою, якщо GOP2 доступна в Pic6, але може не бути коректно декодованою, якщо до GOP2 одержують доступ як Pic9. Це має місце тому, що Pic7 може не бути доступна, якщо до GOP2 одержують доступ як Pic9. Щоб запобігти поширенню помилки від опорних картинок, які можуть не бути доступні залежно від того, де декодування починається, згідно з HEVC WD7 всі картинки, які йдуть за картинкою CRA і в порядку декодування і порядку виведення, обмежені не використовувати будь-яку картинку, яка передує картинці CRA або в порядку декодування або в порядку виведення (який включає в себе початкові картинки) як опорні. Далі, початкові картинки звичайно відкидаються під час декодування довільного доступу. Стикування потоку бітів належить до конкатенації двох або більше потоків бітів або їх частини. Наприклад, перший потік бітів може бути доповнений другим потоком бітів, можливо з деякими модифікаціями або до одного або до обох з потоків бітів, щоб генерувати стикований потік бітів. Перша закодована картинка у другому потоці бітів також згадується як точка стикування. Тому картинки після точки стикування в стикованому потоці бітів були породжені з другого потоку бітів, в той час як картинки, що передують точці стикування в з'єднаному потоці бітів, були породжені з першого потоку бітів. Стикування потоків бітів звичайно виконується модулем стикування потоків бітів. Модулі стикування потоків бітів часто є полегшеними і набагато менш "інтелектуальними", ніж кодери відео. Наприклад, модуль стикування потоків бітів може не бути обладнаний здатностями ентропійного кодування і декодування. Часова масштабованість є застосуванням, яке може використовувати стикування потоку бітів. Часова масштабованість може належати до декодування послідовності відео з однією або більше частотами кадрів. Наприклад, відео послідовність може бути здатною до того, щоб бути декодованою при 30 кадрах в секунду (кадр/сек) або 60 кадр/сек, на основі здатностей системи. Щоб досягнути часової масштабованості, відео послідовність може включати в себе множину часових рівнів. При цьому кожний часовий рівень є закодованою послідовністю відео, асоційованою з частотою кадрів. Часовий рівень з найвищою частотою кадрів може називатися як найвищий часовий рівень. Множина часових рівнів можуть бути стиковані разом, щоб генерувати послідовність відео з найвищою частотою кадрів, наприклад, закодована послідовність відео з 30 кадр/сек стикована із закодованою послідовністю відео, що забезпечує 60 кадр/сек. Перемикання потоку бітів може використовуватися в адаптивних середовищах потокової передачі. Операція перемикання потоку бітів у деякій картинці в перемикачі до потоку бітів є ефективною операцією стикування потоків бітів, в якій точка стикування є точкою перемикання потоку бітів, тобто, першою картинкою від потоку бітів, до якого здійснене перемикання. Треба зазначити, що перемикання потоків бітів звичайно виконується відносно двох потоків з однією і тією самою структурою кодування. Тобто, ці два потоки мають одну і ту саму структуру прогнозування і один і той самий розподіл картинок IDR, картинок CRA, картинок Р і картинок В, тощо. Поняття картинки доступу з розірваним посиланням (BLA) було також введене в HEVC WD7 після введення картинок CRA і основане на концепції картинок CRA. Картинка BLA типово походить зі стикування потоків бітів у позиції картинки CRA, і в стикованому потоці бітів картинка CRA точки стикування змінюється на картинку BLA. Найбільш істотною різницею між картинками BLA і картинками CRA є наступна: для картинки CRA асоційовані початкові картинки є коректно декодованими, якщо декодування починається від картинки RAP перед картинкою CRA в порядку декодування, і можуть не бути коректно декодованими, коли довільний доступ починається з картинки CRA; для картинки BLA асоційовані початкові картинки можуть не бути коректно декодованими у всіх випадках, навіть коли декодування починається з картинки RAP перед картинкою BLA в порядку декодування. Треба зазначити, що для конкретної картинки CRA або BLA деякі з асоційованих початкових картинок є коректно декодованими, навіть коли картинка CRA або BLA є першою картинкою в потоці бітів. Ці початкові картинки згадуються як декодовані початкові картинки (DLPs), і інші початкові картинки згадуються як недекодовані початкові картинки (NLPs). NLPs також згадуються як картинки, теговані для відкидання (TFD) в HEVC WD9. Треба зазначити, що всі початкові картинки, асоційовані з картинкою IDR, є картинками DLP. Таблиця 2 є таблицею, включеною в HEVC WD7, яка визначає одиниці NAL, визначені згідно з HEVC WD7. Як ілюстровано в Таблиці 2, типи одиниць NAL в HEVC WD7 включають в себе картинку CRA, картинку BLA, картинку IDR, типи одиниць NAL VPS, SPS, PPS, і APS, які відповідають картинкам і наборам параметрів, описаним вище. 10 UA 113446 C2 ТАБЛИЦЯ 2 Коди типів одиниць NAL HEVC WD7 і класи типів одиниць NAL nal_unit_type Вміст одиниці NAL і структура синтаксису RBSP 0 Зарезервовано Кодована вирізка не-RAP, не-TFD і не-TLA картинки slice_layer_rbsp () Кодована вирізка TFD картинки slice_layer_rbsp () Кодована вирізка не-TFD TLA картинки slice_layer_rbsp () Кодована вирізка CRA картинки slice_layer_rbsp () Кодована вирізка BLA картинки slice_layer_rbsp () Кодована вирізка IDR картинки slice_layer_rbsp () Зарезервовано Набір параметрів відео video_parameter_set_rbsp () Набір параметрів послідовності seq_parameter_set_rbsp () Набір параметрів картинки pic_parameter_set_rbsp () Набір параметрів адаптації aps_rbsp () Роздільник одиниць доступу access_unit_delimiter_rbsp () Дані заповнення filler_data_rbsp () Додаткова інформація розширення (SEI) sei_rbsp () Зарезервовано Не задано 1 2 3 4, 5 6, 7 8 9…24 25 26 27 28 29 30 31 32…47 48…63 5 Клас типів одиниць NAL не-VCL VCL VCL VCL VCL VCL VCL Н/ПРО не-VCL не-VCL не-VCL не-VCL не-VCL не-VCL не-VCL n/а не-VCL Щоб спростити розподіли одиниць NAL, в документі S. Kanumuri, G. Sullivan, "Refinement of Random Access Point Support", 10th Meeting, Stockholm, SE, July 2012, Doc. JCTVC-J0344 (надалі – "Kanumuri"), який включений в опис повністю за посиланням, пропонує (1) обмеження відносно картинок IDR таким чином, що немає початкових картинок, асоційованих з якою-небудь картинкою IDR (тобто, ніяка картинка не може йти за картинкою IDR в порядку декодування і передувати картинці IDR в порядку виведення), і (2) модифікований розподіл типів 4-7 одиниць NAL, визначених згідно з Таблицею 2 вище, для картинок RAP таким чином: 10 ТАБЛИЦЯ 3 Запропоновані типи одиниць NAL згідно з Kanumuri Тип одиниці NAL 4 5 6 7 15 20 Опис Картинка CRA Картинка BLA Картинка BLA з не асоційованими картинками TFD Картинка BLA без початкових картинок Можливі типи SAP 1, 2, 3 1, 2, 3 1, 2 1 У Таблиці 3 типи SAP посилаються на типи точки доступу потоку, визначені в документі ISO/IEC 14496-12 4th Edition, "Information technology-Coding of audio-visual objects-Part 12: ISO base media file format", w12640, 100th MPEG meeting, Geneva, April 2012, який включений повністю за посиланням. Як описано вище, картинки IDR і картинки BLA/CRA є функціонально різними для перемикання потоків бітів, хоча вони є функціонально однаковими для довільного доступу (наприклад, додатків пошуку). Для потоку бітів, що перемикається в картинках IDR, система кодування відео може знати або припустити, що представлення може бути безперервним без ускладнення (наприклад, відсутні картинки не представлені). Це має місце тому, що картинки після картинки IDR в порядку декодування не можуть використовувати картинки, декодовані до картинки IDR як опорні (тобто, початкові картинки, асоційовані з 11 UA 113446 C2 5 10 15 20 25 30 35 40 45 50 55 60 картинкою IDR, є DLP). Однак, для потоку бітів, що перемикається в картинках BLA, деяке декодування, що накладається, однієї або більше картинок з обох потоків може бути необхідно, щоб гарантувати, що представлення є безперервним. Це декодування, що накладається, може в цей час не бути можливим для сумісних з HEVC WD7 декодерів без додаткової функціональної здатності. Без додаткової функціональної здатності може не бути яких-небудь картинок в асоційованих позиціях картинок TFD, які повинні бути представлені, оскільки вони можуть бути відкинуті. Це може призвести до представлення не обов'язково безперервного. Далі, навіть якщо картинка BLA є картинкою BLA без асоційованих картинок TFD, проблема залишається тією самою, оскільки картинки TFD, які були присутніми в первинному потоці бітів, можуть бути відкинуті. Далі, якщо не було картинок TFD в первинному потоці бітів, то картинка CRA (пізніше змінена, щоб бути картинкою BLA через стикування/перемикання потоку бітів, тощо) могла бути закодована як картинка IDR. Тому, не маркування картинок IDR з початковими картинками як картинок IDR (тобто, не дозвіл картинкам IDR мати початкові картинки), як запропоновано Kanumuri, робить картинки IDR менш дружніми до систем для перемикання потоку бітів. З точки зору систем потокової передачі, наприклад, динамічної потокової передачі по HTTP (DASH), вигідно бути в змозі легко ідентифікувати, яка картинка є картинкою RAP, і якщо декодування починається від картинки RAP, яка є найбільш раннім часом представлення (наприклад, найбільш раннє значення рахунку по порядку картинки (POC)). Тому, існуючі виконання розподілу типів одиниць NAL різним картинкам RAP, так само як картинкам DLP і картинкам TFD, можуть бути додатково поліпшені, щоб бути більш дружніми до систем потокової передачі. Згідно з існуючими виконаннями, для кожної картинки RAP системи повинні перевірити, чи є асоційовані картинки DLP, щоб знати, чи є час представлення самої картинки RAP найбільш раннім часом представлення, коли декодування починається з картинки RAP. Додатково, система повинна перевірити і порівняти часи представлення всіх картинок DLP, щоб з'ясувати значення найбільш раннього часу представлення. Стандарти кодування відео включають в себе специфікацію моделі буферизації відео. У AVC та HEVC модель буферизації згадується як гіпотетичний еталонний декодер (HRD), який включає в себе модель буферизації як буфера закодованих картинок (CPB) так і буфера декодованих картинок (DPB). Згідно з HEVC WD7, HRD визначений як модель гіпотетичного декодера, яка задає обмеження на мінливість потоків одиниць NAL, що узгоджуються, або потоків бітів, що узгоджуються, які може сформувати процес кодування. Таким чином, в AVC та HEVC відповідність потоку бітів і відповідність декодера задані як частини специфікації HRD. Згідно з HEVC WD7, CPB є буфером "перший увійшов - перший вийшов", що містить одиниці доступу в порядку декодування, і DPB є буфером, що зберігає декодовані картинки для посилання. Поведінки CPB та DPB математично задані згідно з HRD. HRD безпосередньо накладає обмеження на тактування, розміри буфера і частоту проходження бітів, і непрямо накладає обмеження на характеристики і статистику потоку бітів. Повний набір параметрів HRD включає в себе п'ять основних параметрів: затримка видалення початкової CPB, розмір CPB, частота проходження бітів, затримка виведення початкової DPB, і розмір DPB. Згідно з HEVC WD7, параметри HRD можуть бути включені в параметри інформації простоти використання відео (VUI), і параметри VUI можуть бути включені в SPS. Треба зазначити, що, хоча HRD згадується як декодер, HRD типово необхідний на боці кодера, щоб гарантувати відповідність потоку бітів, і типово не є необхідним на боці декодера. HEVC WD7 задає два типи потоків бітів для відповідності HRD, а саме, Тип I та Тип II. HEVC WD7 також задає два типи відповідності декодера, а саме, відповідність декодера тактуванню виведення і відповідність декодера порядку виведення. У HRD-моделях AVC та HEVC, декодування або видалення CPB є основаним на одиниці доступу, і припускається, що декодування картинок є миттєвим. Час, необхідний для того, щоб декодувати картинку в додатках реального світу, не може бути рівним нулю. Таким чином, в практичних застосуваннях, якщо декодер, що узгоджується, строго додержується сигналізованих часів декодування, наприклад, в повідомленнях SEI тактування картинки, щоб почати декодувати одиниці доступу, то найбільш ранній можливий час, коли конкретна декодована картинка може бути виведена, дорівнює часу декодування цієї конкретної картинки плюс час, необхідний для того, щоб декодувати цю конкретну картинку. Основана на суб-картинках поведінка CPB, подібна до поведінки CPB, описана в Ye-Kui Wang, et al., "Sub-picture based CPB operation", 9th Meeting: Geneva, CH, May 2012, JCTVC-I0588 (в подальшому "Wang") було включено в HEVC WD7. Основане на суб-картинках CPB згідно з Wang, CPB забезпечує видалення CPB, яке повинне бути виконане або на рівні одиниці доступу (AU) або на рівні суб-картинки. Дозволяючи або на AU-рівні або на рівні суб-картинки, 12 UA 113446 C2 5 10 15 20 25 30 35 40 45 50 55 60 видалення CPB допомагає досягнути зменшеної затримки кодека способом, що забезпечує взаємодію. Коли видалення CPB відбувається на рівні одиниці доступу, одиниця доступу видаляється з CPB кожний раз, коли відбувається операція видалення. Коли видалення CPB відбувається на рівні суб-картинки, одиниця декодування (DU), що містить одну або більше вирізок, видаляється з CPB кожний раз, коли відбувається операція видалення. Інформація тактування видалення CPB на рівні суб-картинки може бути сигналізована додатково до інформації тактування видалення CPB на AU-рівні. Коли інформація тактування видалення CPB присутня і для видалення на AU-рівні і на рівні суб-картинки, декодер може вибирати керувати CPB або на рівні AU або на рівні суб-картинки. Треба зазначити, що для того щоб дозволити повідомленню SEI тактування поточної картинки і механізму видалення CPB HRD як на AU-рівні так і DU-рівні одночасно досягнути затримки суб-картинки, DUs повинні бути послані раніше, ніж вся AU буде закодована, і повідомлення SEI AU-рівня ще не можуть бути відіслані раніше, ніж вся не AU буде закодована. Згідно з HEVC WD7 інформації тактування може включати в себе інформацію, яка визначає часову відстань між часами виведення HRD двох послідовних картинок. HEVC WD7 визначає наступні елементи синтаксису інформації тактування: time_scale - кількість одиниць часу, які проходять в одну секунду. Наприклад, система координат часу, яка вимірює час, використовуючи години на 27 МГц, має time_scale рівне 27000000. time_scale повинен бути більше ніж 0. num_units_in_tick - кількість одиниць часу генератора, що працює з частотою time_scale Гц, яка відповідає одному приросту (названому тактом системних годинників) лічильника такту системних годинників. num_units_in_tick повинне бути більше ніж 0. Таким чином на основі значень time_scale та num_units_in_tick, змінна так званого такту системних годинників, tc, може бути виведена таким чином: tc=num_units_in_ticktime_scale (1) Згідно з HEVC WD7, змінна такту системних годинників може бути використана для обмеження часів виведення HRD. Таким чином, в деяких випадках може вимагатися, щоб різниця між часами представлення двох картинок, безперервних в порядку виведення (тобто, першої і другої картинок), було рівне такту системних годинників. HEVC WD7 включає в себе елемент синтаксису fixed_pic_rate_flag, який вказує, чи рівна різниця між часами представлення двох картинок, безперервних в порядку виведення, такту системних годинників. Елемент синтаксису fixed_pic_rate_flag може бути включений в набір параметрів VUI, які можуть бути включені в SPS. У HEVC WD7, коли елемент синтаксису fixed_pic_rate_flag рівний одиниці, часова відстань між часами виведення HRD будь-яких двох послідовних картинок в порядку виведення обмежена бути рівною визначеному такту системних годинників, що підкоряється будь-якій з наступних умов, що є істинною: (1) друга картинка знаходиться в тій самій закодованій відео послідовності, що і перша картинка; або (2) друга картинка знаходиться в іншій закодованій відео послідовності, ніж перша картинка і fixed_pic_rate_flag рівний 1 в закодованій відео послідовності, що містить другу картинку, і значення num_units_in_tick  time_scale є однаковим для обох закодованих відео послідовностей. Коли елемент синтаксису fixed_pic_rate_flag рівний нулю, такі обмеження не застосовуються до часової відстані між часами виведення HRD будь-яких двох послідовних картинок (тобто, першої і другої картинок) в порядку виведення. Треба зазначити, що коли fixed_pic_rate_flag не присутній, він логічно виводиться, щоб бути рівним 0. Треба зазначити, що згідно з HEVC WD7, коли fixed_pic_rate_flag рівний 1, адаптація потоку, основана на часовій масштабованості може вимагати зміни значення або time_scale або num_units_in_tick у випадку, коли деякі найвищі часові рівні відхиляються. Треба зазначити, що HEVC WD7 забезпечує наступну семантику для fixed_pic_rate_flag: Коли fixed_pic_rate_flag буду рівний 1 для закодованої відео послідовності, що містить картинку n, значення, обчислене для Δto, dpb (n) як задано в рівнянні С-13 повинне бути рівним tc, як задано в Рівнянні С-1 (використання значення tc для закодованої відео послідовності, що містить картинку n), коли одна або більше наступних умов вірні для наступної картинки n n, яка задана для використання в Рівнянні С-13: - картинка nn знаходиться в тій самій закодованій відео послідовності, що картинка n. - картинка nn знаходиться в іншій закодованій відео послідовності, і fixed_pic_rate_flag рівний 1 в закодованій відео послідовності, що містить картинку n n, і значення num_units_in_ticktime_scale є однаковим для обох закодованих відео послідовностей. При цьому Рівняння С-1 відповідає рівнянню (1) і Рівняння С-13 визначене в HEVC WD7 таким чином: Δto, dpb(n)=к, dpb (nn)−к, dpb (n) (2) 13 UA 113446 C2 5 10 15 20 25 30 35 40 45 50 55 60 У зв'язку із згаданими вище характеристиками тактування і довільним доступом, асоційованими з HEVC WD7, дане розкриття описує способи, які можуть бути використані для зменшення затримки додатків відео, таких як розмовні додатки, і забезпечують удосконалення довільного доступу до закодованої відео послідовності. В одному прикладі дане розкриття описує способи для того, щоб призначити типи одиниць NAL. В іншому прикладі дане розкриття описує для рівня суб-картинок або рівня одиниці декодування поведінку HRD. В іншому прикладі дане розкриття описує способи для посилання на ідентифікатори набору параметрів. У ще одному прикладі дане розкриття описує способи для того, щоб забезпечити поліпшену семантику для елемента синтаксису fixed_pic_rate_flag. Треба зазначити, що будь-яка і всі комбінації цих способів і інших способів, описаних в даному описі, можуть бути включені в систему кодування і декодування відео. ФІГ. 3 є блок-схемою, що ілюструє зразкову систему 10 кодування і декодування відео, яка може використовувати способи, описані в даному описі. Зокрема, система кодування і декодування відео може використовувати способи, описані тут, що належать до (1) розподілу (призначення) типів одиниць NAL, (2) поведінки HRD на рівні суб-картинки або рівні одиниці декодування, (3) виконання посилання на ідентифікатори набору параметрів, (4) поліпшеної семантики для fixed_pic_rate_flag, або будь-якої і всіх комбінацій цих способів. Система 10 кодування і декодування відео є прикладом відео системи, яка може використовуватися для будь-якого з наступних відео додатків: локальне відтворення, потокова передача, мовлення, багатоадресне мовлення і/або розмовні додатки. Вихідний пристрій 12 і пристрій 14 призначення є прикладами пристроїв кодування, в яких вихідний пристрій 12 генерує закодовані відео дані для передачі до пристрою 14 призначення. У деяких прикладах початкові пристрої 12 і пристрій 14 призначення можуть працювати по суті симетричним способом таким чином, що кожний вихідний пристрій 12 і пристрій 14 призначення включає в себе компоненти кодування і декодування відео. Отже, система 10 може бути сконфігурована, щоб підтримувати односторонню або двосторонню передачу відео між вихідним пристроєм 12 і пристроєм 14 призначення. Хоча способи, описані в даному описі, описані в поєднані з вихідним пристроєм 12 і пристроєм 14 призначення, способи можуть бути виконані будь-яким цифровим пристроєм кодування і/або декодування відео. Способи даного розкриття можуть також бути виконані передпроцесором відео. Додатково, хоча способи даного розкриття в цілому описані як такі, що виконуються пристроєм кодування відео і пристроєм декодування відео, ці способи можуть також бути виконані кодером/декодером відео, який типово називається "кодек". Таким чином, кожний відео кодер 20 і відео декодер 30 на фіг. 3 може бути включений в один або більше кодерів або декодерів, будь-який з яких може інтегруватися як частина об'єднаного кодера/декодера (кодек) у відповідному пристрої. Додатково, пристрій, що включає в себе відео кодер 20 і/або відео декодер 30, може містити інтегральну схему, мікропроцесор і/або пристрій бездротового зв'язку, такий як стільниковий телефон. Хоча не показано на фіг. 3, в деяких аспектах відео кодер 20 і відео декодер 30 можуть кожний інтегруватися з аудіо кодером і декодером, і можуть включати в себе відповідні блоки MUX-DEMUX (мультиплексор/демультиплексор або інше апаратне забезпечення і програмне забезпечення, щоб виконувати кодування як аудіо так і відео в загальному потоці даних або окремих потоках даних. Якщо застосовно, блоки MUX-DEMUX можуть відповідати протоколу ITU H.223 мультиплексора, або іншим протоколам, таким як протокол дейтаграм користувача (UDP). Як ілюстровано на фіг. 3, система 10 включає в себе вихідний пристрій 12, який видає закодовані відео дані, які повинні бути декодовані в більш пізній час пристроєм 14 призначення. Зокрема, вихідний пристрій 12 видає закодовані відео дані пристрою 14 призначення через зчитуваний комп'ютером носій 16. Пристрій 14 призначення може прийняти закодовані відео дані, які повинні бути декодовані, через зчитуваний комп'ютером носій 16. Вихідний пристрій 12 і пристрій 14 призначення може містити будь-який з широкого діапазону пристроїв, що включає в себе настільні комп'ютери, портативний комп'ютер (тобто, ноутбук), планшетні комп'ютери, телевізійні приставки, телефонні трубки, такі як так звані "смарт" телефони, так звані "смарт" клавіатури, телевізори, камери, пристрої відображення, цифрові медіаплеєри, пульти відео ігор, пристрій потокової передачі відео, або подібні. У деяких випадках, вихідний пристрій 12 і пристрій 14 призначення може бути обладнаний для бездротового зв'язку. Зчитуваний комп'ютером носій 16 може містити будь-який тип носія або пристрою, здатного до переміщення закодованих відео даних від вихідного пристрою 12 до пристрою 14 призначення. Зчитуваний комп'ютером носій 16 може включати в себе часовий носій, такий як бездротове мовлення або передача по дротовій мережі, або запам'ятовуючі носії (тобто, нечасові запам'ятовуючі носії), такі як жорсткий диск, флеш-накопичувач, компакт-диск, 14 UA 113446 C2 5 10 15 20 25 30 35 40 45 50 55 цифровий відео диск, диск Blu-ray, або інший зчитуваний комп'ютером носій. У деяких прикладах мережний сервер (не показаний) може прийняти закодовані відео дані від вихідного пристрою 12 і видати закодовані відео дані пристрою 14 призначення, наприклад, через мережну передачу. Точно так само, обчислювальний пристрій фабрики з виробництва носіїв, такої як фабрика штампування дисків, може прийняти закодовані відео дані від вихідного пристрою 12 і зробити диск, що містить закодовані відео дані. В одному прикладі зчитуваний комп'ютером носій 16 може містити комунікаційний носій, щоб дозволити вихідному пристрою 12 передати закодовані відео дані безпосередньо до пристрою 14 призначення в реальному часі. Закодовані відео дані можуть бути модульовані згідно зі стандартом зв'язку, таким як протокол бездротового зв'язку, і передані до пристрою 14 призначення. Комунікаційний носій може містити будь-який бездротовий або дротовий комунікаційний носій, такий як радіочастотний (RF, РЧ) спектр або одна або більше фізичних ліній передачі. Комунікаційний носій може бути частиною основаної на пакетній передачі мережі, такої як локальна мережа, регіональна мережа, або глобальна мережа, така як Інтернет. Комунікаційний носій може включати в себе маршрутизатори, комутатори, базові станції, або будь-яке інше обладнання, яке може бути корисним, щоб полегшити зв'язок від вихідного пристрою 12 до пристрою 14 призначення. Пристрій зберігання може включати в себе будь-який з множини розподілених або локально доступних запам'ятовуючих носіїв даних, таких як накопичувач на жорстких дисках, диски Bluray, DVD, CD-ROM, флеш-пам'ять, енергозалежна або енергонезалежна пам'ять, або будь-які інші придатні цифрові запам'ятовуючі носії для того, щоб зберігати закодовані відео дані. В іншому прикладі пристрій зберігання може відповідати файловому серверу або іншому проміжному пристрою зберігання, який може зберегти закодоване відео, що генерується вихідним пристроєм 12. Пристрій 14 призначення може одержати доступ до відео даних, що зберігається, від пристрою зберігання через потокову передачу або завантаження. Файловий сервер може бути будь-яким типом сервера, здатного до того, щоб зберігати закодовані відео дані і передавати це закодовані відео дані до пристрою 14 призначення. Зразкові файлові сервери включають в себе web-сервер (наприклад, для вебсайта), сервер FTP, пристрої мережного зберігання (NAS), або локальний дисковод. Пристрій 14 призначення може одержати доступ до закодованих відео даних через будь-яке стандартне з'єднання даних, що включає в себе інтернет-з'єднання. Воно може включати в себе бездротовий канал (наприклад, з'єднання Wi-Fi), дротове з'єднання (наприклад, DSL, кабельний модем, тощо), або комбінацію обох, яка є придатною для того, щоб одержати доступ до закодованих відео даних, що зберігаються на файловому сервері. Передача закодованих відео даних від пристрою зберігання може бути потоковою передачею, передачею завантаження, або їх комбінацією. Способи даного розкриття не обов'язково обмежені бездротовими додатками або параметрами настройки. Способи можуть бути застосовані до кодування відео в підтримку будь-якого з множини мультимедійних додатків, таких як ефірне телебачення, передачі кабельного телебачення, передачі супутникового телебачення, Інтернет, потокової передачі відео, такі як динамічна адаптивна потокова передача по HTTP (DASH), цифрове відео, яке закодоване на запам'ятовуючий носій даних, декодування цифрового відео, збереженого на запам'ятовуючому носії даних, або інших додатків. У прикладі згідно з ФІГ. 3 вихідний пристрій 12 включає в себе відео джерело 18, модуль 19 структури кодування, відео кодер 20, модуль 21 інкапсуляції, і інтерфейс 22 виведення. Пристрій 14 призначення включає в себе інтерфейс 28 введення, модуль 29 декапсуляції, відео декодер 30, і пристрій 32 відображення. В інших прикладах вихідний пристрій 12 і пристрій 14 призначення може включати в себе інші компоненти або компонування. Наприклад, вихідний пристрій 12 може прийняти відео дані із зовнішнього відео джерела 18, такого як зовнішня камера. Аналогічно, пристрій 14 призначення може з'єднуватися із зовнішнім пристроєм відображення, замість включення інтегрованого пристрою відображення. Компоненти вихідного пристрою 12 і пристрій 14 призначення кожний можуть бути реалізовані як будь-яка з множини придатних схем, таких як один або більше мікропроцесорів, цифрові сигнальні процесори (DSPs), спеціалізовані інтегральні схеми (ASICs), програмовані користувачем вентильні матриці (FPGAs), дискретна логіка, програмне забезпечення, апаратне забезпечення, програмноапаратні засоби або будь-які їх комбінації. Коли способи, описані в даному описі, реалізовані частково в програмному забезпеченні, пристрій може зберегти інструкції для програмного забезпечення у придатному нечасовому зчитуваному комп'ютером носії і виконувати інструкції в апаратному забезпеченні, що використовує один або більше процесорів, щоб виконати ці способи. 15 UA 113446 C2 5 10 15 20 25 30 35 40 45 50 55 60 Відео джерело 18 з вихідного пристрою 12 може включати в себе пристрій захоплення відео, такий як відео камера, відео архів, що містить раніше захоплене відео, і/або інтерфейс подачі відео, щоб прийняти відео від постачальника контенту відео. Як подальша альтернатива, відео джерело 18 може генерувати основані на комп'ютерній графіці дані як вихідне відео, або комбінацію живого відео, заархівованого відео і генерованого відео комп'ютером. У деяких випадках, якщо відео джерело 18 є відео камерою, вихідний пристрій 12 і пристрій 14 призначення може сформувати так звані камерофони або відео телефони. Як згадано вище, однак, способи, описані в даному розкритті, можуть бути застосовними до кодування відео в цілому, і можуть бути застосовані до бездротових і/або дротових додатків. У кожному випадку захоплене, заздалегідь захоплене або генероване комп'ютером відео може бути прийняте відео кодером 20. Інтерфейс 22 виведення може бути сконфігурований, щоб вивести закодовані відео дані, такі як закодована послідовність відео, на зчитуваний комп'ютером носій 16. У деяких прикладах закодована послідовність відео може бути виведена з інтерфейсу 22 виведення на пристрій зберігання. Інтерфейс 28 введення з пристрою 14 призначення приймає закодовані відео дані від зчитуваного комп'ютером носія 16. Пристрій 32 відображення відображає декодовані дані відео користувачу, і можуть містити будь-який з множини пристроїв відображення, таких як електронно-променева трубка (CRT), рідкокристалічний дисплей (LCD), плазмовий дисплей, дисплей на органічних світловипромінюваних діодах (OLED), або інший тип пристрою відображення. Модуль 19 структури кодування, відео кодер 20, модуль 21 інкапсуляції, модуль 29 декапсуляції і відео декодер 30 можуть працювати згідно зі стандартом кодування відео, таким як HEVC, що розробляється, описаним вище, і можуть в цілому відповідати Тестовій Моделі HEVC (HM). Альтернативно, відео кодер 20 і відео декодер 30 можуть працювати згідно з іншими стандартами, що становлять власність, або стандартами промисловості, такими як стандарт ITU-T H.264, альтернативно названий MPEG-4, Частина 10, Вдосконалене відео кодування (AVC), або розширенням таких стандартів. Модуль 19 структури кодування, відео кодер 20, модуль 21 інкапсуляції, модуль 29 декапсуляції і відео декодер 30 можуть також працювати згідно з модифікованою версією стандарту кодування відео, в якому модифікована версія стандарту кодування відео модифікована, щоб включати в себе будь-яку і всі комбінації способів, описаних в даному описі. Відео кодер 20 може розділити відео кадр або картинку в послідовність однакового розміру блоків відео, таких як CU, описаних в HEVC WD7. CU включає в себе вузол кодування і одиниці прогнозування (PU), і одиниці перетворення (TU), асоційовані з вузлом кодування. Розмір CU відповідає розміру вузла кодування і повинен бути квадратним за формою. Розмір CU може ранжуватися від 8 × 8 пікселів до розміру блока дерева з максимумом 64 × 64 пікселів або більше. Кожна CU може містити одну або більше одиниць PU і одну або більше одиниць TU. Дані синтаксису, асоційовані з CU, можуть описувати, наприклад, розділення CU в одну або більше одиниць PU. Режими розділення можуть відрізнятися між тим, чи є CU закодованою в режимі пропуску або прямому режимі, закодованою в режимі внутрішнього прогнозування, або закодованою в режимі зовнішнього прогнозування. Одиниці PU можуть бути розділені, щоб бути неквадратними за формою. Дані синтаксису, асоційовані з CU, можуть також описувати, наприклад, розділення CU в одну або більше одиниць TU згідно з квадродеревом. TU може бути квадратною або неквадратною (наприклад, прямокутною) за формою. Стандарт HEVC забезпечує перетворення згідно з одиницями TU, які можуть бути різними для різних одиниць CU. Одиниці TU типово мають розміри на основі розміру одиниць PU в межах заданої CU, визначеної для розділеної LCU, хоча це може не завжди мати місце. Одиниці TU типово мають той самий розмір або менший, ніж одиниці PU. У деяких прикладах залишкові вибірки, що відповідають CU, можуть бути поділені на менші одиниці, використовуючи структуру квадродерева, відому як "залишкове квадро дерево" (RQT). Листові вузли RQT можуть згадуватися як одиниці перетворення (одиниці TU). Значення піксельної різниці, асоційовані з одиницями TU, можуть бути перетворені, щоб сформувати коефіцієнти перетворення, які можуть бути квантовані. Листова CU може включати в себе одну або більше одиниць прогнозування (одиниць PU). Загалом, PU представляє просторову ділянку, що відповідає всім або частині відповідної CU, і може включати в себе дані для того, щоб витягнути опорну вибірку для PU. Крім того, PU включає в себе дані, що належать до прогнозування. Наприклад, коли PU закодована у внутрішньому режимі, дані для PU можуть бути включені в залишкове квадродерево (RQT), яке може включати в себе дані, що описують режим внутрішнього прогнозування для TU, що відповідає PU. Як інший приклад, коли PU закодована у зовнішньому режимі, PU може включати в себе дані, що визначають один або більше векторів руху для PU. Дані, що визначають вектор 16 UA 113446 C2 5 10 15 20 25 30 35 40 45 50 55 60 руху для PU, можуть описувати, наприклад, горизонтальний компонент вектора руху, вертикальний компонент вектора руху, розрізнення для вектора руху (наприклад, піксельна точність в одну чверть або піксельна точність в одну восьму), опорну картинку, на яку вектор руху вказує, і/або список опорних картинок (наприклад, Список 0, Список 1, або Список С) для вектора руху. Листова CU, що має одну або більше одиниць PU, може також включати в себе одну або більше одиниць перетворення (одиниць TU). Одиниці перетворення можуть бути визначені, використовуючи RQT яка (також називається структурою квадродерева TU), як описано вище. Наприклад, прапор розділення може вказувати, чи розділена листова CU на чотири одиниці перетворення. Потім кожна одиниця перетворення може бути розділена далі в додаткові субодиниці TU. Коли TU не розділяється додатково, вона може згадуватися як листова TU. Загалом, для внутрішнього кодування, всі листові одиниці TU, що належать листовій CU, спільно використовує один і той самий режим внутрішнього прогнозування. Таким чином, один і той самий режим внутрішнього прогнозування в цілому застосовується, щоб обчислити прогнозовані значення для всіх одиниць TU листової CU. Для внутрішнього кодування відео кодер може обчислити залишкове значення для кожної листової TU, використовуючи режим внутрішнього прогнозування, як різницю між частиною CU, що відповідає TU, і первинним блоком. TU не обов'язково обмежена розміром PU. Таким чином, одиниці TU можуть бути більше або менше, ніж PU. Для внутрішнього кодування PU може бути спільно розташована з відповідної листової TU для тієї самої CU. У деяких прикладах максимальний розмір листової TU може відповідати розміру відповідної листової CU. Крім того, одиниці TU листових одиниць CU можуть також бути асоційовані з відповідними структурами даних квадродерева, які називаються залишковими квадродеревами (RQTs). Таким чином, листова CU може включати в себе квадродерево, яке вказує, як листова CU розділена на одиниці TU. Кореневий вузол квадродерева TU в цілому відповідає листовій CU, в той час як кореневий вузол квадродерева CU в цілому відповідає блоку дерева (або LCU). Одиниці TU в RQT, які не розділені, згадується як листові одиниці TU. Загалом, дане розкриття використовує терміни CU та TU, щоб посилатися на листові CU і листові TU, відповідно, якщо не відмічено інакше. Дане розкриття використовує термін "блок", щоб посилатися на будь-яку з CU, PU, або TU, в контексті HEVC, або подібні структури даних в контексті інших стандартів (наприклад, макроблоки та їх суб-блоки в H.264/AVC). Як приклад, HM підтримує прогнозування в різних розмірах PU. Припускаючи, що розмір конкретної CU рівний 2Nx2N, HM підтримує внутрішнє прогнозування в розмірах PU, рівних 2Nx2N або NxN, і зовнішнє прогнозування в симетричних розмірах PU, рівних 2Nx2N, 2NxN, Nx2N, або NxN. HM також підтримує асиметричне розділення для зовнішнього прогнозування в розмірах PU, рівних 2NxnU, 2NxnD, nLx2N, та nRx2N. При асиметричному розділенні один напрямок CU не розділяється, в той час як інший напрямок розділяється на 25 % та 75 %. Частина CU, що відповідає 25 %-ому розділенню, позначена "n", що супроводжується індикацією "верхній", "нижній", "лівий" або "правий". Таким чином, наприклад, "2NxnU" належить до 2Nx2N CU, яка розділена горизонтально з 2Nx0.5 N PU зверху і 2Nx1.5 N PU внизу. У даному розкритті "NxN" та "N на N" можуть використовуватися взаємозамінно, щоб посилатися на піксельні вимірювання блока відео в термінах вертикального і горизонтального вимірювань, наприклад, 16 × 16 пікселів або 16 на 16 пікселів. Загалом, блок 16 × 16 має 16 пікселів у вертикальному напрямку (у=16) і 16 пікселів у горизонтальному напрямку (х=16). Аналогічно, блок NxN звичайно має N пікселів у вертикальному напрямку і N пікселів у горизонтальному напрямку, де N представляє ненегативне цілочисельне значення. Пікселі в блоці можуть бути розміщені в рядах і колонках. Крім того, блоки не повинні обов'язково мати ту саму кількість пікселів у горизонтальному напрямку, як у вертикальному напрямку. Наприклад, блоки можуть містити NxM пікселів, де М не обов'язково рівне N. Після кодування з внутрішнім прогнозуванням або із зовнішнім прогнозуванням, використовуючи одиниці PU в CU, відео кодер 20 може обчислити залишкові дані для одиниць TU в CU. Одиниці PU можуть містити дані синтаксису, що описують спосіб, або режим генерування прогнозуючих піксельних даних в просторовій ділянці (яка також називається піксельною ділянкою), і одиниці TU можуть містити коефіцієнти в ділянці перетворення після застосування перетворення, такого як дискретне косинусне перетворення (DCT), цілочисельне перетворення, вейвлет перетворення, або концептуально подібне перетворення, до залишкових відео даних. Залишкові дані можуть відповідати піксельним різницям між пікселями незакодованої картинки і значеннями прогнозування, що відповідають одиницям PU. Відео кодер 20 може сформувати одиниці TU, що включають в себе залишкові дані для CU, і потім перетворити одиниці TU, щоб сформувати коефіцієнти перетворення для CU. 17 UA 113446 C2 5 10 15 20 25 30 35 40 45 50 55 60 Після будь-якого перетворення, щоб сформувати коефіцієнти перетворення, відео кодер 20 може виконати квантування коефіцієнтів перетворення. Квантування взагалі належить до процесу, в якому коефіцієнти перетворення квантуються, щоб можливо зменшити величину даних, використаних для представлення коефіцієнтів, забезпечуючи подальше стиснення. Процес квантування може зменшити бітову глибину, асоційовану з деякими або всіма коефіцієнтами. Наприклад, n-бітове значення може бути округлене в менший бік до m-бітового значення під час квантування, де n більше ніж m. Услід за квантуванням відео кодер може сканувати коефіцієнти перетворення, виробляючи одновимірний вектор з двовимірної матриці, яка включає в себе квантовані коефіцієнти перетворення. Сканування може бути виконане, щоб вмістити коефіцієнти з більш високою енергією (і тому більш низької частоти) попереду масиву і вмістити коефіцієнти з більш низькою енергією (і тому більш високої частоти) в кінці масиву. У деяких прикладах відео кодер 20 може використовувати заздалегідь заданий порядок сканування, щоб сканувати квантовані коефіцієнти перетворення, щоб сформувати перетворений в послідовну форму вектор, який може бути ентропійно кодований. В інших прикладах відео кодер 20 може виконати адаптивне сканування. Після сканування квантованих коефіцієнтів перетворення, щоб сформувати одновимірний вектор, відео кодер 20 може ентропійно кодувати одновимірний вектор, наприклад, згідно з контекстно-адаптивним кодуванням із змінною довжиною коду (CAVLC), контекстно- адаптивним двійковим арифметичним кодуванням (CABAC), основаним на синтаксисі контекстно-адаптивним двійковим арифметичним кодуванням (SBAC), ентропійним кодування з розділенням інтервалу імовірності (PIPE) або іншою методологією ентропійного кодування. Відео кодер 20 може також ентропійно кодувати елементи синтаксису, асоційовані із закодованими відео даними для використання відео декодером 30 при декодуванні відео даних. Щоб виконати CABAC, відео кодер 20 може призначити контекст в межах контекстної моделі символу, який повинен бути переданий. Контекст може належати, наприклад, до того чи є сусідні значення символу ненульовими чи ні. Щоб виконати CAVLC, відео кодер 20 може вибрати код із змінною довжиною слова для символу, який повинен бути переданий. Кодові слова в VLC можуть бути побудовані таким чином, що відносно більш короткі коди відповідають більш імовірним символам, в той час як більш довгі коди відповідають менш імовірним символам. Таким чином, використання VLC може досягнути економії бітів, наприклад, використовуючи ключові слова рівної довжини для кожного символу, який повинен бути переданий. Визначення імовірності може бути основане на контексті, призначеному на символ. Як описано вище, послідовність відео може бути закодована згідно з визначеною структурою кодування відео, де структура кодування визначає розподіл типів картинок (наприклад, картинки RAP та не-RAP), використаних для кодування послідовності відео. Наприклад, послідовність відео може бути закодована з картинками RAP, включеними із заздалегідь визначеними інтервалами, щоб полегшити довільний доступ відео послідовності. Така структура кодування може бути корисною для додатків мовлення. Додатково, послідовність відео може бути закодована згідно зі структурою кодування, яка мінімізує затримку додатків з низькою затримкою. Модуль 19 структури кодування може бути сконфігурований, щоб визначити структуру кодування, яка повинна використовуватися відео кодером 20 для того, щоб кодувати послідовність відео, прийняту з відео джерела 18. В одному прикладі модуль 19 структури кодування може зберегти заздалегідь визначені структури кодування, які відповідають відповідним відео додаткам. Модуль 19 структури кодування може бути сконфігурований для виведення інформації, яка вказує конкретну структуру кодування, до кожного з відео кодера 20 і модуля 21 інкапсуляції. Відео кодер 20 приймає послідовність відео з відео джерела 18 та інформацію структури кодування від модуля 19 структури кодування і генерує закодовані відео дані. Модуль 21 інкапсуляції приймає закодовані відео дані від відео кодера 20 і інформацію, яка вказує конкретну структуру кодування, і генерує закодовану послідовність відео, що включає в себе одиниці доступу. Модуль 29 декапсуляції може бути сконфігурований, щоб прийняти закодовану послідовність відео і синтаксично розібрати одиниці доступу та одиниці NAL. Відео декодер 30 може бути сконфігурований, щоб прийняти одиниці NAL і відновити відео дані, на основі інформації, включеної в прийняті одиниці NAL. Треба зазначити, що модуль 19 структури кодування і/або відео кодер 20 може бути сконфігурований, щоб генерувати елементи синтаксису, включені в набір параметрів. У деяких прикладах модуль 19 структури кодування може бути сконфігурований, щоб генерувати елементи синтаксису, включені в набори параметрів високого рівня, такі як SPS, і відео кодер 20 може бути сконфігурований, щоб виконати кодування відео на основі елементів синтаксису, прийнятих від структури одиниці кодування, так само як вивести ентропійно кодовані елементи синтаксису як частину закодованих відео даних. 18 UA 113446 C2 5 10 Відповідно до способів даного розкриття, розподіл типів одиниць NAL може бути виконаний таким чином, що пристрій, такий як пристрій 14 призначення, може легко ідентифікувати картинку RAP та асоційовану інформацію тактування. В одному прикладі картинки IDR без асоційованих початкових картинок мають відмінний тип одиниці NAL від картинок IDR, які можуть мати асоційовані початкові картинки. Наприклад, картинки IDR без асоційованих початкових картинок мають тип М одиниці NAL, в той час як картинки IDR, які можуть мати асоційовані початкові картинки, мають тип N одиниці NAL, в якому М не рівне N, як ілюстровано в Таблиці 4. Треба зазначити, що в прикладі, ілюстрованому в Таблиці 4, початкові картинки, асоційовані з картинкою IDR, можуть бути картинками DLP. В одному прикладі типи одиниць NAL, ілюстровані в Таблиці 4, можуть бути включені в коди типу одиниці NAL згідно з HEVC WD7 і класи типу одиниці NAL, ілюстровані в Таблиці 2. Наприклад, обернені значення типу одиниці NAL в Таблиці 2 можуть використовуватися для типів М та N одиниці NAL в Таблиці 4. ТАБЛИЦЯ 4 Різні типи одиниць NAL IDR M N 15 20 Закодована вирізка картинки IDR без асоційованих початкових картинок slice_layer_rbsp () Закодована вирізка картинки IDR, яка може мати асоційовані початкові картинки leading pictures slice_layer_rbsp () VCL VCL В іншому прикладі картинки CRA без асоційованих початкових картинок мають інший тип одиниці NAL, відмінний від картинок CRA, які можуть мати асоційовані початкові картинки. Крім того, картинки CRA без асоційованих картинок TFD мають іншу одиницю NAL, відмінну від картинок CRA, які можуть мати асоційовані картинки TFD. Відповідно, три різних типи одиниці NAL можуть використовуватися для різних типів картинок CRA, як ілюстровано в Таблиці 5. В одному прикладі типи одиниць NAL, ілюстровані в Таблиці 5, можуть бути включені в коди типу одиниці NAL HEVC WD7 і класи типу одиниці NAL, ілюстровані в Таблиці 2. Наприклад, обернені значення типу одиниці NAL в Таблиці 1 можуть використовуватися для типів X, Y, і Z одиниці NAL в Таблиці 5. ТАБЛИЦЯ 5 Різні типи одиниць NAL CRA X Y Z Закодована вирізка картинки CRA без асоційованих початкових картинок VCL slice_layer_rbsp () Закодована вирізка картинки CRA, яка не має асоційованих TFD (але може VCL мати асоційовані картинки DLP) slice_layer_rbsp () Закодована вирізка картинки CRA, яка може мати асоційовані картинки TFD VCL slice_layer_rbsp () 25 30 В іншому прикладі картинки BLA без асоційованих початкових картинок можуть мати інший тип одиниці NAL, відмінний від картинок BLA, які можуть мати асоційовані початкові картинки. Крім того, картинки BLA без асоційованих картинок TFD можуть мати відмінну одиницю NAL, відмінну від картинок BLA, які можуть мати асоційовані картинки TFD. Відповідно, три різних типи одиниці NAL можуть використовуватися для різних типів BLA, як ілюстровано в Таблиці 6. В одному прикладі типи одиниць NAL, ілюстровані в Таблиці 6, можуть бути включені в коди типу одиниці NAL HEVC WD7 і класи типу одиниці NAL, ілюстровані в Таблиці 2. Наприклад, обернені значення типу одиниці NAL в Таблиці 2 можуть використовуватися для типів А, В, і С одиниці NAL в Таблиці 6. 35 19 UA 113446 C2 ТАБЛИЦЯ 6 Різні типи одиниць NAL BLA А В С 5 10 Закодована вирізка картинки BLA без асоційованих початкових картинок VCL slice_layer_rbsp () Закодована вирізка картинки BLA, яка не має асоційовану TFD (але може VCL асоційовані картинки DLP) slice_layer_rbsp () Закодована вирізка картинки BLA, яка може мати асоційовані картинки VCL TFD slice_layer_rbsp () Будь-яка і всі комбінації типів одиниць NAL, описані з посиланнями на Таблиці 4-6, можуть використовуватися для розподілу типів одиниць NAL. В одному прикладі всі типи одиниць NAL, описані з посиланнями на Таблиці 4-6, можуть використовуватися для розподілу типів одиниць NAL. Таблиця 7 ілюструє приклад, де всі типи NAL, ілюстровані в Таблицях 4-6, використовуються для розподілу типів одиниць NAL. Як ілюстровано в Таблиці 7, тип одиниці NAL включає в себе типи одиниць NAL картинки CRA, картинки BLA і картинки IDR, описані з посиланнями на Таблиці 4-6, так само як типів одиниць NAL VPS, SPS, PPS, і APS, описаних вище. Таблиця 7 може бути протиставлена Таблиці 2 вище в тому, що розподіл типів одиниць NAL, наданих в Таблиці 7, включає в себе множинні типи одиниць NAL для картинок IDR, CRA та BLA, тоді як розподіл типів одиниць NAL, наданих в Таблиці 1, включає в себе єдиний тип одиниці NAL для кожної з картинок IDR, CRA та BLA. ТАБЛИЦЯ 7 Коди типу одиниці NAL і класи типу одиниць NAL nal_unit_type 0 1 2 3 4 5 6 7 8 9 10 11 12 13…24 Вміст одиниці NAL і структура синтаксису RBSP Не задано Закодована вирізка картинки не-RAP, не-TFD, не-DLP і не-TLA slice_layer_rbsp () Закодована вирізка картинки TLA slice_layer_rbsp () Закодована вирізка картинки TFD slice_layer_rbsp () Закодована вирізка картинки DLP slice_layer_rbsp () Закодована вирізка картинки CRA без асоційованих початкових картинок slice_layer_rbsp () Закодована вирізка картинки CRA, яка не має асоційованої TFD (але може мати асоційовані картинки DLP) slice_layer_rbsp () Закодована вирізка картинки CRA, яка може мати асоційовані картинки TFD slice_layer_rbsp () Закодована вирізка картинки BLA без асоційованих початкових картинок slice_layer_rbsp () Закодована вирізка картинки BLA, яка не має асоційованої TFD (але може мати асоційовані картинки DLP) slice_layer_rbsp () Закодована вирізка картинки BLA, яка може мати асоційовані картинки TFD slice_layer_rbsp () Закодована вирізка картинки IDR без асоційованих початкових картинок slice_layer_rbsp () Закодована вирізка картинки IDR, яка може мати асоційовані початкові картинки slice_layer_rbsp () Зарезервовано 15 20 Клас типу одиниці NAL не-VCL VCL VCL VCL VCL VCL VCL VCL VCL VCL VCL VCL VCL n/а UA 113446 C2 nal_unit_type 25 26 27 28 29 30 31 32…47 48…63 5 10 15 20 25 30 35 Вміст одиниці NAL і структура синтаксису RBSP Набір параметрів відео video_parameter_set_rbsp () Набір параметрів послідовності seq_parameter_set_rbsp () Набір параметрів картинки pic_parameter_set_rbsp () Набір параметрів адаптації aps_rbsp () Роздільник одиниць доступу access_unit_delimiter_rbsp () Дані заповнення filler_data_rbsp () Додаткова інформація розширення (SEI) sei_rbsp () Зарезервовано Не задано Клас типу одиниці NAL не-VCL не-VCL не-VCL не-VCL не-VCL не-VCL не-VCL Н/ПРО не-VCL Модуль 21 інкапсуляції може бути сконфігурований, щоб прийняти закодовані відео дані від відео кодера 20 та інформацію, яка вказує конкретну структуру кодування, і генерувати закодовану послідовність відео, що включає в себе одиниці доступу, на основі розподілу типів одиниць NAL, ілюстрованих в будь-якій і всіх комбінаціях розподілів одиниці NAL, ілюстрованих в Таблицях 2-7. Додатково, модуль 29 декапсуляції може бути сконфігурований, щоб прийняти закодовану послідовність відео і синтаксично розібрати одиниці доступу і одиниці NAL, де одиниці NAL призначені на основі будь-якої і всіх комбінацій розподілів одиниць NAL, ілюстрованих в Таблицях 2-7. Як описано вище, згідно з HEVC WD7, для того, щоб дозволити повідомлення SEI тактування поточної картинки і механізм, щоб дозволити видалення CPB HRD як AU-рівню так і DU-рівню в той самий час досягнути затримки суб-картинки, одиниці DU повинні бути послані раніше, ніж вся AU буде закодована, і повідомлення SEI AU-рівня ще не можуть бути відіслані раніше, ніж вся AU буде закодована. Відповідно до способів даного розкриття, модуль 21 інкапсуляції і модуль 29 декапсуляції можуть конфігуруватися таким чином, що поведінка HRD рівня суб-картинки або рівня блока декодування можуть бути модифіковані в порівнянні з HEVC WD7. Наприклад, модуль 21 інкапсуляції може бути сконфігурований таким чином, що повідомлення SEI AU-рівня посилають після того, як вся AU закодована. Таке повідомлення SEI AU-рівня може бути включене в одиницю NAL SEI з іншим типом одиниці NAL. Одна відмінність між такою одиницею NAL SEI та існуючими визначеннями одиниць NAL SEI, наприклад, як визначено в HEVC WD7, полягає в тому, що цьому відмінному типу одиниці NAL SEI може бути дозволено йти за останньою одиницею NAL VCL в тій самій AU в порядку декодування, і може бути обмежене таким чином, що вона не повинна передувати першій одиниці NAL VCL в тій самій AU в порядку декодування. Звичайні одиниці NAL SEI і повідомлення SEI можуть відповідно згадуватися як одиниці NAL SEI префікса і повідомлення SEI префікса, в той час як відмінна одиниця NAL SEI і повідомлення SEI, описана тут, можуть відповідно згадуватися як одиниці NAL SEI суфікса і повідомлення SEI суфікса. Додатково до того, щоб бути сконфігурованим, щоб генерувати закодовану послідовність відео на основі будь-якої і всіх комбінацій розподілів одиниць NAL, ілюстрованих в Таблицях 27, модуль 21 інкапсуляції може бути сконфігурований, щоб генерувати закодовану послідовність відео, що включає в себе одиниці NAL SEI префікса і суфікса. Аналогічно, модуль 29 декапсуляції може бути сконфігурований, щоб прийняти закодовану послідовність відео і синтаксично розібрати одиниці доступу і одиниці NAL, де одиниці NAL включають в себе типи одиниць NAL SEI префікса і суфікса. Таким чином, модуль 29 декапсуляції може бути сконфігурований, щоб витягнути одиниці NAL SEI суфікса з одиниць доступу. Таблиця 8 ілюструє приклад, де всі типи NAL, ілюстровані в Таблицях 4-6, використовуються для розподілу типів одиниць NAL, так само як одиниць NAL SEI префікса і суфікса. 40 21 UA 113446 C2 ТАБЛИЦЯ 8 Коди типу одиниць NAL і класи типу одиниць NAL nal_unit_type Вміст одиниці NAL і структура синтаксису RBSP 0 Не задано Закодована вирізка картинки не-RAP, не-TFD, не-DLP і неTLA slice_layer_rbsp () Закодована вирізка картинки TLA slice_layer_rbsp () Закодована вирізка картинки TFD slice_layer_rbsp () Закодована вирізка картинки DLP slice_layer_rbsp () Закодована вирізка картинки CRA без асоційованих початкових картинок slice_layer_rbsp () Закодована вирізка картинки CRA, яка не має асоційованої TFD (але може мати асоційовані картинки DLP) slice_layer_rbsp () Закодована вирізка картинки CRA, яка може мати асоційовані картинки TFD slice_layer_rbsp () Закодована вирізка картинки BLA без асоційованих початкових картинок slice_layer_rbsp () Закодована вирізка картинки BLA, яка не має асоційованої TFD (але може мати асоційовані картинки DLP) slice_layer_rbsp () Закодована вирізка картинки BLA, яка може мати асоційовані картинки TFD slice_layer_rbsp () Закодована вирізка картинки IDR без асоційованих початкових картинок slice_layer_rbsp () Закодована вирізка картинки IDR, яка може мати асоційовані початкові картинки slice_layer_rbsp () Зарезервовано Набір параметрів відео video_parameter_set_rbsp () Набір параметрів послідовності seq_parameter_set_rbsp () Набір параметрів картинки pic_parameter_set_rbsp () Набір параметрів адаптації aps_rbsp () Роздільник одиниць доступу access_unit_delimiter_rbsp () Дані заповнення filler_data_rbsp () Додаткова інформація розширення (SEI) префікса sei_rbsp () Додаткова інформація розширення (SEI) суфікса sei_rbsp () Зарезервовано Не задано 1 2 3 4 5 6 7 8 9 10 11 12 13…24 25 26 27 28 29 30 31 32 33…47 48…63 5 10 15 Клас типу одиниці NAL не-VCL VCL VCL VCL VCL VCL VCL VCL VCL VCL VCL VCL VCL н/о не-VCL не-VCL не-VCL не-VCL не-VCL не-VCL не-VCL не-VCL н/о не-VCL Як описано вище, додатково до одиниць NAL SEI не-VCL типи одиниць NAL включають в себе одиниці NAL VPS, SPS, PPS та APS. Згідно з визначеними типами набору параметрів в HEVC WD7, кожний SPS посилається на ID VPS, кожний PPS посилається на ID SPS, і кожний заголовок вирізки посилається на ID PPS і можливо на ID APS. Відео кодер 20 і/або модуль 19 структури кодування може бути сконфігурований, щоб генерувати набори параметрів згідно з визначеними наборами параметрів у HEVC WD7. Крім того, відео кодер 20 і/або модуль 19 структури кодування може бути сконфігурований, щоб генерувати набори параметрів, де ID VPS та ID SPS (наприклад, з ID VPS, що передує ID SPS), можуть бути необов'язково сигналізовані в заголовках вирізки. В одному прикладі, де ID VPS та ID SPS сигналізовані в заголовку вирізки, ніякий ID VPS не буде розташований в SPS і ніякий ID SPS не буде розташований в PPS. Додатково, в одному прикладі, ID VPS та ID SPS можуть бути присутніми в заголовках вирізки кожної картинки RAP, і кожна картинка може бути асоційована з повідомленням SEI точки відновлення. Додатково, в інших прикладах, ID VPS та ID SPS можуть бути присутніми в заголовку вирізки для інших картинок. 22 UA 113446 C2 5 10 15 20 25 30 35 40 45 50 55 60 ФІГ. 4 є блок-схемою, що ілюструє зразковий модуль інкапсуляції, який може реалізувати способи, описані в даному розкритті. У прикладі, ілюстрованому на фіг. 4, модуль 21 інкапсуляції включає в себе конструктор 402 одиниць NAL VCL, конструктор 404 одиниць NAL не-VCL, конструктор 406 одиниць доступу, і інтерфейс 408 виведення потоку бітів. Модуль 21 інкапсуляції приймає закодовані відео дані і синтаксис високого рівня і виводить закодований відео потік бітів. Закодовані відео дані можуть включати в себе залишкові відео дані, і дані синтаксису, асоційовані з вирізкою. Дані синтаксису високого рівня можуть включати в себе, наприклад, елементи синтаксису, включені в набір параметрів, повідомлення SEI, або інші елементи синтаксису, визначені стандартом кодування відео, таким як стандарт HEVC, що розробляється. Закодований відео потік бітів може включати в себе одну або більше закодованих відео послідовностей і може в цілому відповідати стандарту кодування відео, такому як стандарт HEVC, що розробляється. Як описано вище, одиниці NAL VCL включають в себе вирізку даних відео. Конструктор 402 одиниць NAL VCL може бути сконфігурований, щоб прийняти вирізки закодованих відео даних і генерувати одиниці NAL VCL на основі типу картинки, що включає в себе вирізку. Конструктор 402 одиниць NAL VCL може бути сконфігурований, щоб генерувати одиниці NAL VCL згідно з будь-якими і всіма комбінаціями розподілів NAL, описаних вище з посиланнями на Таблиці 2-8. Конструктор 402 одиниць NAL VCL може бути сконфігурований, щоб включати заголовок в одиницю NAL VCL, де заголовок ідентифікує тип одиниці NAL VCL. Наприклад, конструктор 402 одиниць NAL VCL може бути сконфігурований, щоб прийняти вирізку відео даних, включених в картинку IDR і (1), якщо картинка IDR не має асоційованих початкових картинок, інкапсулювати вирізку відео даних в одиницю NAL з типом, який вказує, що картинка IDR не має початкових картинок, або (2), якщо картинка IDR має асоційовані початкові картинки, інкапсулювати вирізку відео даних в одиницю NAL з типом, який вказує, що картинка IDR має початкові картинки. Конструктор 402 одиниць NAL VCL може бути сконфігурований, щоб прийняти вирізку відео даних, включених в картинку CRA і (1), якщо картинка CRA не має асоційованих початкових картинок, інкапсулювати вирізку відео даних в одиницю NAL з типом, який вказує, що картинка CRA не має початкових картинок, або (2), якщо картинка CRA має асоційовані початкові картинки, інкапсулювати вирізку відео даних в одиницю NAL з типом, який вказує, що картинка CRA має початкові картинки. Додатково, якщо початкові картинки, асоційовані з картинкою CRA, є картинками TFD, конструктор 402 одиниць NAL VCL може бути сконфігурований, щоб інкапсулювати вирізку відео даних в одиницю NAL з типом, який вказує, що початкова картинка, асоційована з картинками CRA, є TFD. Додатково, якщо початкові картинки, асоційовані з картинкою CRA, не є картинками TFD, конструктор 402 одиниць NAL VCL може бути сконфігурований, щоб інкапсулювати вирізку відео даних в одиницю NAL з типом, який вказує, що початкова картинка, асоційована з картинками CRA, не є TFD. Додатково, конструктор 402 одиниць NAL VCL може бути сконфігурований, щоб прийняти вирізку відео даних, включених в картинку BLA і (1), якщо картинка BLA не має асоційованих початкових картинок, інкапсулювати вирізку відео даних в одиницю NAL з типом, який вказує, що картинка BLA не має початкових картинок, або (2), якщо картинка BLA має асоційовані початкові картинки, інкапсулювати вирізку відео даних в одиницю NAL з типом, який вказує, що картинка BLA має початкові картинки. Додатково, якщо початкові картинки, асоційовані з картинкою BLA, є картинками TFD, конструктор 402 одиниць NAL VCL може бути сконфігурований, щоб інкапсулювати вирізку відео даних в одиницю NAL з типом, який вказує, що початкова картинка, асоційована з картинками BLA, є TFD. Додатково, якщо початкові картинки, асоційовані з картинкою BLA, не є картинками TFD, конструктор 402 одиниць NAL VCL може бути сконфігурований, щоб інкапсулювати вирізку відео даних в одиницю NAL з типом, який вказує, що початкова картинка, асоційована з картинками BLA, не є TFD. ФІГ. 5 є послідовністю операцій, що ілюструє приклад генерування одиниць NAL VCL згідно зі способами даного розкриття. Хоча приклад генерування одиниць NAL VCL, ілюстрований на фіг. 5, описаний як такий, що виконується конструктором 402 одиниць NAL VCL, будь-яка комбінація вихідного пристрою 12, відео кодера 20, модуля 21 інкапсуляції, і комбінацій цих компонентів можуть виконати приклад генерування одиниць NAL VCL, ілюстрований на фіг. 5. Як ілюстровано на фіг. 5, конструктор 402 одиниць NAL VCL приймає вирізку відео даних (502). Вирізка відео даних може бути закодованими даними відео, закодованими згідно з будь-яким зі способів кодування, описаних в даному описі. Вирізка відео даних може бути включена в один з типів картинок, описаних в даному описі. Конструктор 402 одиниць NAL VCL визначає, чи включена вирізка відео даних в картинку IDR або CRA (504). Якщо вирізка відео даних включена в картинку IDR (гілка "IDR" 504), конструктор 402 одиниць NAL VCL визначає, чи має картинка IDR асоційовані початкові картинки (506). Якщо 23 UA 113446 C2 5 10 15 20 25 30 35 40 45 50 55 60 картинка IDR не має асоційованих початкових картинок (гілка "НІ" 506), конструктор 402 одиниць NAL VCL генерує одиницю NAL VCL, яка вказує, що картинка IDR не має асоційованих початкових картинок (508). Якщо картинка IDR має асоційовані початкові картинки ("ТАК" гілка 506), конструктор 402 одиниць NAL VCL генерує одиницю NAL VCL, яка вказує, що картинка IDR має асоційовані початкові картинки (510). Якщо вирізка відео даних включена в картинку CRA, конструктор 402 одиниць NAL VCL визначає, чи має картинка CRA асоційовані початкові картинки (512). Якщо картинка CRA не має асоційованих початкових картинок (гілка "НІ" 512), конструктор 402 одиниць NAL VCL генерує одиницю NAL VCL, яка вказує, що картинка CRA не має асоційованих початкових картинок (514). Якщо картинка CRA має асоційовані початкові картинки ("ТАК" гілка 512), конструктор 402 одиниць NAL VCL визначає, чи є асоційовані початкові картинки картинками TFD (516). Якщо асоційовані початкові картинки для картинки CRA є картинками TFD (гілка "ТАК" 516), конструктор 402 одиниць NAL VCL генерує одиницю NAL VCL, яка вказує, що асоційовані початкові картинки CRA є картинками TFD (518). Якщо асоційовані початкові картинки для картинки BLA не є картинками TFD (гілка "НІ" 516), конструктор 402 одиниць NAL VCL генерує одиницю NAL VCL для цього, яка вказує, що асоційовані початкові картинки не є картинками TFD (520). Конструктор 402 одиниць NAL VCL може генерувати одиниці NAL за допомогою інкапсулювання даних вирізки в одиницю NAL і включати значення типу одиниці NAL в заголовок одиниці NAL. Кожне значення типу одиниці NAL може відповідати типу відповідної одиниці NAL. В одному прикладі значення типу одиниці NAL можуть бути визначені згідно з Таблицею 7. Одиниці NAL, що генеруються, можуть бути виведені конструктором одиниці NAL 402, щоб одержати доступ до конструктора 406 одиниці доступу для включення в одиницю доступу (522). У цьому способі модуль 21 інкапсуляції представляє приклад пристрою для генерування потоку бітів, що включає в себе відео дані, причому пристрій включає в себе процесор, сконфігурований, щоб визначити, чи має картинка точки довільного доступу (RAP), тип, який має асоційовані початкові картинки, і чи є картинка RAP картинкою миттєвого оновлення декодера (IDR) або картинкою чистого довільного доступу (CRA), інкапсулювати вирізку картинки RAP в одиницю рівня абстракції мережі (NAL), при цьому одиниця NAL включає в себе значення типу одиниці NAL, яке вказує, чи має картинка RAP тип, який має асоційовані початкові картинки, і генерувати потік бітів, що включає в себе одиницю NAL. Аналогічно, спосіб згідно з ФІГ. 5 представляє приклад способу генерування потоку бітів, що включає в себе відео дані, причому спосіб включає в себе визначення, чи має картинка точки довільного доступу (RAP) тип, який може мати асоційовані початкові картинки, і чи є картинка RAP картинкою миттєвого оновлення декодера (IDR) або картинкою чистого довільного доступу (CRA), інкапсулювання вирізки картинки RAP в одиницю рівня абстракції мережі (NAL), при цьому одиниця NAL, включає в себе значення типу одиниці NAL, яке вказує, чи має картинка RAP тип, який може мати асоційовані початкові картинки, і генерування потоку бітів, що включає в себе одиницю NAL. Звертаючись знову до ФІГ. 4, конструктор 404 одиниць NAL не-VCL може бути сконфігурований, щоб прийняти елементи синтаксису високого рівня, такі як елементи синтаксису, включені в набори параметрів і повідомлення SEI, як описано вище, і генерувати одиниці NAL не-VCL на основі будь-якої і всіх комбінацій розподілів одиниць NAL, описаних вище з посиланнями на Таблиці 2-8. Конструктор 404 одиниць NAL не-VCL може бути сконфігурований, щоб генерувати одиниці NAL не-VCL за допомогою інкапсулювання даних синтаксису в одиницю NAL і включення значення типу одиниці NAL в заголовок одиниці NAL. Наприклад, конструктор NAL не-VCL може бути сконфігурований, щоб прийняти елементи синтаксису, що включають в себе в набір параметрів і включати значення типу одиниці NAL, яке вказує тип набору параметрів, в заголовок одиниці NAL. Додатково, конструктор 404 одиниць NAL не-VCL може бути сконфігурований, щоб прийняти повідомлення SEI AU-рівня і генерувати одиниці NAL повідомлення SEI. В одному прикладі конструктор 404 одиниць NAL не-VCL може бути сконфігурований, щоб генерувати два типи одиниць NAL повідомлення SEI, де перший тип одиниці NAL SEI вказує, що така одиниця NAL SEI може йти за останньою одиницею NAL VCL в одиниці доступу в порядку декодування, і другий тип одиниць NAL SEI вказує, що така одиниця NAL SEI може не йти за останньою одиницею NAL VCL в одиниці доступу в порядку декодування. Додатково, перший тип SEI NAL може бути обмежений таким чином, що не можна дозволяти передувати першій одиниці NAL VCL в одній і тій самій одиниці доступу в порядку декодування. Перший тип одиниці NAL може 24 UA 113446 C2 5 10 15 20 25 30 35 40 45 50 55 60 згадуватися як одиниці NAL SEI суфікса і другий тип одиниць NAL можуть згадуватися як одиниці NAL SEI префікса. Конструктор 404 одиниць NAL не-VCL виводить одиниці NAL не-VCL на конструктор 406 одиниць доступу. Конструктор 406 одиниць доступу може бути сконфігурований, щоб прийняти одиниці NAL VCL та одиниці NAL не-VCL і генерувати одиниці доступу. Конструктор 406 одиниць доступу може прийняти будь-який тип одиниці NAL, визначеної в Таблицях 2-8. Конструктор 406 одиниць доступу VCL може бути сконфігурований, щоб генерувати одиниці доступу на основі будь-якої і всіх комбінацій типів одиниць NAL, описаних в даному описі. Як описано вище, згідно з HEVC WD7, одиниця доступу є набором одиниць NAL, які є послідовними в порядку декодування і містять одну закодовану картинку. Таким чином, конструктор 406 одиниць доступу може бути сконфігурований, щоб прийняти множину одиниць NAL і компонувати множину одиниць NAL згідно з порядком декодування. Додатково, конструктор 406 одиниць доступу може бути сконфігурований, щоб компонувати одиницю NAL SEI суфікса, як описано вище, таким чином, що вона йде за останньою одиницею NAL VCL в одиниці доступу і/або не передує першій одиниці NAL VCL в одній і тій самій одиниці доступу. ФІГ. 6 є послідовністю операцій, що ілюструє приклад генерування одиниць NAL не-VCL згідно зі способами даного розкриття. Хоча приклад генерування одиниць NAL не-VCL, ілюстрований на фіг. 6, описаний як такий, що виконується конструктором 404 одиниць NAL неVCL і конструктором 406 одиниць доступу, будь-яка комбінація вихідного пристрою 12, відео кодера 20, модуля 21 інкапсуляції і комбінації цих компонентів можуть виконати приклад генерування одиниць NAL не-VCL, ілюстрований на фіг. 6. Як показано на фіг. 6, конструктор 404 одиниць NAL не-VCL приймає повідомлення SEI (602). Повідомлення SEI може бути будь-яким типом повідомлення SEI, описаного вище з посиланням на Таблицю 1. Конструктор 404 одиниць NAL не-VCL визначає, чи є повідомлення SEI повідомленням SEI префікса або повідомленням SEI суфікса (604). Якщо повідомлення SEI є повідомленням SEI суфікса (гілка "СУФІКС" 604), конструктор 404 одиниць NAL не-VCL генерує значення типу для одиниці NAL SEI, яка вказує, що одиниця NAL SEI є повідомленням SEI суфікса (606). Якщо повідомлення SEI є повідомленням SEI префікса (гілка "ПРЕФІКС" 604), конструктор 404 одиниць NAL не-VCL генерує значення типу для одиниці NAL SEI, яка вказує, що одиниця NAL SEI є звичайним повідомленням SEI (608). Конструктор 406 одиниць доступу приймає згенеровані одиниці NAL, які можуть включати в себе будь-яку комбінацію типів одиниць NAL, описаних вище з посиланнями на Таблиці 2-8 (610). Конструктор 406 одиниць доступу генерує одиниці доступу, включені в прийняті одиниці NAL (612). Якщо згенерована одиниця доступу включає в себе одиницю NAL SEI суфікса, одиниці NAL одиниці доступу можуть бути скомпоновані таким чином, щоб NAL SEI суфікса не передує першій одиниці NAL VCL в одній і тій самій одиниці доступу, але може йти за останньою одиницею NAL VCL в одиниці доступу в порядку декодування. У цьому способі модуль 21 інкапсуляції представляє приклад процесора, сконфігурованого, щоб визначити, чи є повідомлення додаткової інформації розширення (SEI) повідомленням SEI префікса або повідомленням SEI суфікса, в якому повідомлення SEI включає в себе дані, що належать до закодованих відео даних, інкапсулювати повідомлення SEI в одиницю NAL SEI, в якому одиниця NAL SEI включає в себе значення типу одиниці NAL, яке вказує, чи є одиниця NAL SEI одиницею NAL SEI префікса або одиницею NAL SEI суфікса і чи є повідомлення SEI повідомленням SEI префікса або повідомленням SEI суфікса, і генерувати потік бітів, що включає в себе щонайменше одиницю NAL SEI. Аналогічно, спосіб згідно з ФІГ. 6 представляє приклад способу генерування потоку бітів, що включає в себе відео дані, причому спосіб включає в себе визначення, чи є повідомлення додаткової інформації розширення (SEI) повідомленням SEI префікса або повідомленням SEI суфікса, при цьому повідомлення SEI включає в себе дані, що належать до закодованих відео даних, інкапсулювання повідомлення SEI в одиницю NAL SEI, в якому одиниця NAL SEI включає в себе значення типу одиниці NAL, яке вказує, чи є одиниця NAL SEI одиницею NAL SEI префікса або одиницею NAL SEI суфікса і чи є повідомлення SEI повідомленням SEI префікса або повідомленням SEI суфікса, і генерування потоку бітів, що включає в себе щонайменше цю одиницю NAL SEI. Звертаючись знову до ФІГ. 4, інтерфейс 408 виведення потоку бітів може бути сконфігурований, щоб прийняти одиниці доступу і генерувати закодовану послідовність відео. Інтерфейс 408 виведення потоку бітів може бути також сконфігурований виводити закодовану послідовність відео як частину закодованого відео потоку бітів, причому закодований відео потік бітів включає в себе одну або більше закодованих відео послідовностей на основі будь-якої і всіх комбінацій типів одиниць NAL, описаних в даному описі. Як описано вище, згідно з HEVC 25 UA 113446 C2 5 10 15 20 25 30 35 40 45 50 55 60 WD7, закодована послідовність відео є набором одиниць доступу, які є послідовними в порядку декодування. Таким чином, інтерфейс 408 виведення потоку бітів може бути сконфігурований, щоб прийняти множину одиниць доступу і компонувати множину одиниць доступу згідно з порядком декодування. Як описано вище, модуль 19 структури кодування і/або відео кодер 20 може бути сконфігурований, щоб генерувати елементи синтаксису, включені в набір параметрів, що включає в себе елемент синтаксису fixed_pic_rate_flag, який може бути включений в набір параметрів VUI, які можуть бути включені в SPS, як передбачено в HEVC WD7. Крім того, модуль 19 структури кодування і/або відео кодер 20 може бути сконфігурований, щоб генерувати елемент синтаксису fixed_pic_rate_flag, де елемент синтаксису fixed_pic_rate_flag включає в себе семантики, які модифіковані в порівнянні з тими, що надані в HEVC WD7. Наприклад, згідно з поточною семантикою fixed_pic_rate_flag в HEVC WD7, коли fixed_pic_rate_flag рівний 1, потрібно, щоб різниця між часами представлення двох картинок, безперервних в порядку виведення, була рівна такту системних годинників. Однак, це вимагало б зміни значення або time_scale або num_units_in_tick, коли деякі найвищі часові рівні відкидають для адаптації потоку, на основі часової масштабованості. В одному прикладі, замість того, щоб вимагати, щоб дельта (тобто, різниця між часами представлення двох картинок, безперервних в порядку виведення) була точно рівна такту системних годинників, можна вимагати, щоб дельта була рівна цілому числу тактів системних годинників. У цьому способі, модуль 19 структури кодування і/або відео кодер 20 може бути сконфігурований, щоб генерувати елемент синтаксису fixed_pic_rate_flag таким чином, що, коли fixed_pic_rate_flag рівний 1, потрібно, що різниця між часами представлення двох картинок, безперервних в порядку виведення, була рівна цілому числу тактів системних годинників. В іншому прикладі може вимагатися, щоб модуль 19 структури кодування і/або відео кодер 20 сигналізував fixed_pic_rate_flag для кожного часового рівня. Додатково, в цьому прикладі, якщо fixed_pic_rate_flag для конкретного часового рівня рівний 1, тобто, представлення часового рівня має постійну швидкість передачі (частоту проходження) картинок, значення N може бути сигналізоване, і дельта (між часами представлення двох картинок, безперервних в порядку виведення) для представлення часового рівня, може бути рівною N тактам системних годинників. В іншому прикладі модуль 19 структури кодування і/або відео кодер 20 може бути сконфігурований, щоб необов'язково сигналізувати fixed_pic_rate_flag для кожного часового рівня. У цьому прикладі, якщо fixed_pic_rate_flag для конкретного рівня присутній і рівний 1, тобто, представлення часового рівня має постійну швидкість передачі картинок, значення N може бути сигналізоване, і дельта (між часами представлення двох картинок, безперервних в порядку виведення) для представлення часового рівня, рівна N тактам системних годинників. У випадку, коли fixed_pic_rate_flag необов'язково сигнализирований для кожного часового рівня, приймаючи, що fixed_pic_rate_flag сигнализирований для найвищого часового рівня, і значення дорівнює 1, то для кожного конкретного часового рівня, який не має повідомленого fixed_pic_rate_flag, значення fixed_pic_rate_flag може бути виведене, щоб бути рівним fixed_pic_rate_flag, сигналізованому для найвищого часового рівня), і значення N виведене, щоб бути рівним 2max_Tid-currTid, в якому max_Tid рівне найвищому значенню temporal_id, і currTid рівне temporal_id конкретного часового рівня. ФІГ. 7 є послідовністю операцій, що ілюструє приклад сигналізації значення дельти часу представлення. Хоча приклад сигналізації значення дельти часу представлення, ілюстрований на фіг. 7, описаний як такий, що виконується блоком інкапсуляції 21, будь-яка комбінація вихідного пристрою 12, відео кодера 20, модуля 21 інкапсуляції, і комбінації цих компонентів можуть виконати приклад сигналізації значення дельти часу представлення, ілюстрований на фіг. 7. Як ілюстровано в прикладі на ФІГ. 7, блок 21 інкапсуляції генерує прапор, який вказує, чи є дельта між часом представлення (наприклад, значенням POC) першої картинки і часом представлення другої картинки цілим числом значення такту системних годинників (702). Іншими словами, модуль 21 інкапсуляції може генерувати дані, які вказують, чи є різниця (наприклад, дельта) між часами представлення першої картинки і другої картинки цілим числом, помноженим на значення такту системних годинників. Прапор, описаний на фіг. 7, представляє приклад таких даних, що генеруються. У деяких випадках модуль 21 інкапсуляції може прийняти значення для цього прапора від модуля 19 структури кодування або відео кодера 20. Прапор може бути будь-яким з елементів синтаксису fixed_pic_rate_flag, описаних вище. В одному прикладі модуль 21 інкапсуляції визначає, чи може значення для прапора вказати, що дельта є цілим числом значення такту системних годинників (704). Коли прапор вказує, що 26 UA 113446 C2 5 10 15 20 25 30 35 40 45 50 55 60 дельта є цілим числом значення такту системних годинників ("ТАК" гілка 704), модуль 21 інкапсуляції може генерувати цілочисельне значення N (706), що представляє ціле кратне значення такту системних годинників. Цілочисельне значення N може використовуватися пристроєм декодування, таким як пристрій 14 призначення, щоб визначити значення дельти, де дельта є цілим кратним значення такту системних годинників. В одному прикладі цілочисельне значення N може бути значенням від 0 до 2047 і може вказувати значення на одиницю менше, ніж ціле число тактів системних годинників, якому дорівнює дельта. Модуль 21 інкапсуляції може потім виводити прапор і цілочисельне значення N як частину потоку бітів (708). З іншого боку, коли модуль 21 інкапсуляції визначає, що прапор вказує, що значення дельти не є цілим кратним значення такту системних годинників (гілка "НІ" 704), модуль 21 інкапсуляції може просто вивести прапор (710). У цьому способі вихідний пристрій 12 представляє приклад процесора, сконфігурованого, щоб генерувати дані, які вказують, чи є різниця між часом представлення першої картинки і часом представлення другої картинки цілим кратним значення такту системних годинників, і, коли дані вказують, що різниця є цілим кратним значення такту системних годинників, генерувати дані, які представляють цілочисельне кратне. Аналогічно, спосіб згідно з ФІГ. 7 представляє приклад способу для генерування потоку бітів, що включає в себе відео дані, причому спосіб включає в себе генерування даних, які вказують, чи є різниця між часом представлення першої картинки і часом представлення другої картинки цілим кратним значення такту системних годинників, і коли дані вказують, що різниця є цілим кратним значення такту системних годинників, генерування даних, які представляють цілочисельне кратне. Як описано вище, модуль 21 інкапсуляції приймає закодовані відео дані. Фіг. 8 є блоксхемою, що ілюструє приклад відео кодера 20, який може генерувати закодовані відео дані. Як показано на фіг. 8, відео кодер 20 приймає відео дані і дані синтаксису високого рівня. Відео кодер 20 звичайно оперує над блоком відео в межах індивідуальних відео вирізок, щоб закодувати відео дані. Блок відео може відповідати вузлу кодування в межах CU. Блоки відео можуть мати фіксований або змінний розміри, і можуть відрізнятися за розміром згідно з вказаним стандартом кодування. Відео кодер 20 може далі генерувати дані синтаксису, такі як основані на блоці дані синтаксису, основані на кадрі дані синтаксису, і основані на GOP дані синтаксису, наприклад, в заголовку кадру, заголовку блока, заголовку вирізки, або заголовку GOP. Дані синтаксису GOP можуть описувати кількість кадрів у відповідній GOP, і дані синтаксису кадру можуть вказувати режим кодування/прогнозування, використаний для кодування відповідного кадру. У прикладі згідно з ФІГ. 8, відео кодер 20 включає в себе модуль 40 вибору режиму, пам'ять 64 опорних картинок, суматор 50, модуль 52 обробки перетворення, модуль 54 квантування, і модуль 56 ентропійного кодування. Модуль 40 вибору режиму, в свою чергу, включає в себе модуль 44 компенсації руху, модуль 42 оцінки руху, модуль 46 внутрішнього прогнозування, і модуль 48 розділення. Для реконструкції блока відео відео кодер 20 також включає в себе модуль 58 оберненого квантування, модуль 60 оберненого перетворення, і суматор 62. Фільтр видалення блочності (не показаний на фіг. 8) може також бути включений, щоб фільтрувати межі блока, щоб видалити артефакти блочності з відновленого відео. Якщо бажано, фільтр видалення блочності може типово фільтрувати вихідний сигнал суматора 62. Додаткові фільтри (в контурі або після контуру) можуть також використовуватися додатково до фільтра видалення блочності. Такі фільтри не показані скорочено, але якщо бажано, можуть фільтрувати вихідний сигнал суматора 50 (як фільтр в контурі). Під час процесу кодування відео кодер 20 приймає відео кадр або вирізку, яка повинна бути закодована. Кадр або вирізка можуть бути розділені на множинні блоки відео. Модуль 42 оцінки руху і модуль 44 компенсації руху виконують кодування із зовнішнім прогнозуванням прийнятого блока відео відносно одного або більше блоків в одному або більше опорних кадрах, щоб забезпечити часове прогнозування. Модуль 46 внутрішнього прогнозування може альтернативно виконати кодування з внутрішнім прогнозуванням прийнятого блока відео відносно одного або більше сусідніх блоків у тому самому кадрі або вирізці як блок, який повинен бути закодований, щоб забезпечити просторове прогнозування. Відео кодер 20 може виконати множинні проходи кодування, наприклад, щоб вибрати відповідний режим кодування для кожного блока відео даних. Крім того, модуль 48 розділення може розділити блоки відео даних на суб-блоки, на основі оцінки попередніх схем розділення в попередніх проходах кодування. Наприклад, модуль 48 розділення може спочатку розділити кадр або вирізку на одиниці LCU, і розділити кожну з одиниць LCU в суб-одиниці CU, на основі аналізу "швидкість передачі - спотворення" 27 UA 113446 C2 5 10 15 20 25 30 35 40 45 50 55 60 (наприклад, оптимізація "швидкість передачі - спотворення"). Модуль 40 вибору режиму може далі сформувати структуру даних квадродерева, яка вказує розділення LCU на суб-одиниці CU. Листові вузлові одиниці CU квадродерева можуть включати в себе одну або більше одиниць PU і одну або більше одиниць TU. Модуль 40 вибору режиму може вибрати один з режимів кодування, внутрішній або зовнішній, наприклад, на основі результатів помилки, і видає результуючий внутрішньо або зовні кодований блок до суматора 50, щоб генерувати залишкові дані блока, і до суматора 62, щоб відновити закодований блок для використання як опорного кадру. Модуль 40 вибору режиму також видає елементи синтаксису, такі як вектори руху, індикатори внутрішнього режиму, інформацію розділення, і іншу таку інформацію синтаксису, до модуля 56 ентропійного кодування. Модуль 42 оцінки руху і модуль 44 компенсації руху можуть бути високо інтегрованими, але ілюстровані окремо в концептуальних цілях. Оцінка руху, виконана модулем 42 оцінки руху, є процесом генерування векторів руху, які оцінюють рух для блоків відео. Вектор руху, наприклад, може вказувати зміщення PU блока відео в межах поточного відео кадру або картинки відносно прогнозуючого блока в межах опорного кадру (або іншого закодованого блока) відносно поточного блока, закодованого в межах поточного кадру (або іншого закодованого блока). Прогнозуючий блок є блоком, який вважають близько відповідним блоку, який повинен бути закодований, в термінах піксельної різниці, яка може бути визначена сумою абсолютних різниць (SAD), сумою різниць квадратів (SSD), або іншими метриками різниці. У деяких прикладах відео кодер 20 може обчислити значення для суб-цілочисельних піксельних позицій опорних картинок, збережених в пам'яті 64 опорних картинок. Наприклад, відео кодер 20 може інтерполювати значення піксельних позицій з однією чвертю, піксельних позицій з однією восьмою, або інших фракційних піксельних позицій опорної картинки. Тому модуль 42 оцінки руху може виконати пошук руху відносно повно-піксельних позицій і фракційних піксельних позицій і вивести вектор руху з фракційною піксельною точністю. Модуль 42 оцінки руху обчислює вектор руху для PU блока відео у зовні кодованій вирізці за допомогою порівняння позиції PU з позицією прогнозуючого блока опорної картинки. Опорна картинка може бути вибрана з першого списку опорних картинок (Список 0) або другого списку опорних картинок (Список 1), кожний з яких ідентифікує одну або більше опорних картинок, збережених в пам'яті 64 опорних картинок. Модуль 42 оцінки руху посилає обчислений вектор руху в модуль 56 ентропійного кодування і модуль 44 компенсації руху. Компенсація руху, виконана модулем 44 компенсації руху, може залучати встановлення або генерування прогнозуючого блока на основі вектора руху, визначеного модулем 42 оцінки руху. Знову, модуль 42 оцінки руху і модуль 44 компенсації руху можуть бути функціонально інтегрованими в деяких прикладах. Після прийому вектора руху для PU поточного блока відео модуль 44 компенсації руху може визначити місцеположення прогнозуючого блока, на яке вектор руху вказує в одному зі списків опорних картинок. Суматор 50 формує залишковий блок відео, віднімаючи піксельні значення прогнозуючого блока з піксельних значень поточного блока відео, що кодується, формуючи значення піксельної різниці, як описано нижче. Загалом, модуль 42 оцінки руху виконує оцінку руху відносно компонентів яскравості, і модуль 44 компенсації руху використовує вектори руху, обчислені на основі компонентів яскравості як для компонентів насиченості кольору так і для компонентів яскравості. Модуль 40 вибору режиму може також генерувати елементи синтаксису, асоційовані з блоками відео і відео вирізкою, для використання відео декодером 30 при декодуванні блоків відео для відео вирізки. Модуль 46 внутрішнього прогнозування може внутрішньо прогнозувати поточний блок, як альтернатива зовнішньому прогнозуванню, що виконується модулем 42 оцінки руху і модулем 44 компенсації руху, як описано вище. Зокрема, модуль 46 внутрішнього прогнозування може визначити режим внутрішнього прогнозування, який треба використовувати, щоб закодувати поточний блок. У деяких прикладах модуль 46 внутрішнього прогнозування може закодувати поточний блок, використовуючи різні режими внутрішнього прогнозування, наприклад, під час окремих проходів кодування, і модуль 46 внутрішнього прогнозування (або модуль 40 вибору режиму, в деяких прикладах) може вибрати відповідний режим внутрішнього прогнозування для використання, з перевірених режимів. Наприклад, модуль 46 внутрішнього прогнозування може обчислити значення "швидкість передачі - спотворення", використовуючи аналіз "швидкість передачі - спотворення" для різних перевірених режимів внутрішнього прогнозування, і вибрати режим внутрішнього прогнозування, що має кращі характеристики "швидкість передачі - спотворення" серед перевірених режимів. Аналіз "швидкість передачі - спотворення" звичайно визначає величину спотворення (або помилку) між закодованим блоком і первинним незакодованим блоком, який 28

Дивитися

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

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

Coding sei nal units for video coding

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

Wang, Ye-Kui

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

Ван Е-Куй

МПК / Мітки

МПК: H04N 7/00

Мітки: кодування, одиниць, відео

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

<a href="https://ua.patents.su/41-113446-koduvannya-odinic-nal-sei-dlya-koduvannya-video.html" target="_blank" rel="follow" title="База патентів України">Кодування одиниць nal sei для кодування відео</a>

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