Стійка до помилок асоціація одиниці декодування
Формула / Реферат
1. Спосіб декодування відеоданих, при цьому спосіб включає етапи, на яких:
декодують унікальний ідентифікатор для кожної одиниці декодування в одиниці доступу, при цьому ідентифікатор для однієї одиниці декодування відрізняється від ідентифікатора для будь-якої іншої одиниці декодування в одиниці доступу;
визначають те, які одиниці рівня мережевого доступу (NAL) асоційовані з якими одиницями декодування на основі унікального ідентифікатора для кожної одиниці декодування в одиниці доступу; і
декодують одиниці NAL кожної з одиниць декодування в одиниці доступу, на основі згаданого визначення, для відтворення щонайменше одного зображення.
2. Спосіб за п. 1,
при цьому етап, на якому декодують унікальний ідентифікатор, включає етап, на якому декодують перший унікальний ідентифікатор з першого повідомлення інформації додаткового поліпшення (SEI) інформації одиниці декодування для першої одиниці декодування і декодують другий унікальний ідентифікатор з другого повідомлення SEI інформації одиниці декодування для другої одиниці декодування, і
при цьому етап, на якому визначають, включає етап, на якому визначають, що перша одиниця NAL SEI, яка включає в себе перше повідомлення SEI інформації одиниці декодування, і всі одиниці NAL, які ідуть за першою одиницею NAL SEI аж до другої одиниці NAL SEI, яка включає в себе друге повідомлення SEI інформації одиниці декодування, асоційовані з першою одиницею декодування.
3. Спосіб за п. 1,
при цьому етап, на якому декодують унікальний ідентифікатор, включає етап, на якому декодують унікальний ідентифікатор в заголовку слайсу одиниці NAL слайсу, і
при цьому етап, на якому визначають, включає етап, на якому визначають те, з якою одиницею декодування асоційована одиниця NAL слайсу, на основі унікального ідентифікатора в заголовку слайсу.
4. Спосіб за п. 1, який додатково включає етапи, на яких:
декодують перше повідомлення інформації додаткового поліпшення (SEI) інформації одиниці декодування, яке вказує інформацію для часу видалення одиниці декодування; і
декодують друге повідомлення SEI інформації одиниці декодування, яке розташовується між двома одиницями NAL, асоційованими з одиницею декодування, при цьому друге повідомлення SEI інформації одиниці декодування є копією першого повідомлення SEI інформації одиниці декодування.
5. Спосіб за п. 1, в якому етап, на якому декодують унікальний ідентифікатор, включає етапи, на яких:
декодують перший ідентифікатор для першої одиниці декодування в одиниці доступу; і
декодують другий, інший ідентифікатор для другої, іншої одиниці декодування в одиниці доступу,
при цьому, якщо значення першого ідентифікатора менше значення другого ідентифікатора, перша одиниця декодування передує другій одиниці декодування в черговості декодування.
6. Спосіб за п. 1, який додатково включає етапи, на яких:
декодують повідомлення інформації додаткового поліпшення (SEI) в одиниці доступу; і
декодують копію повідомлення SEI в одиниці доступу.
7. Спосіб кодування відеоданих, при цьому спосіб включає етапи, на яких:
визначають унікальний ідентифікатор для кожної одиниці декодування в одиниці доступу, при цьому ідентифікатор для однієї одиниці декодування відрізняється від ідентифікатора для будь-якої іншої одиниці декодування в одиниці доступу;
визначають те, які одиниці рівня мережевого доступу (NAL) асоційовані з якими одиницями декодування одиниці доступу; і
генерують для виведення кожний унікальний ідентифікатор у відповідних одиницях декодування для указання того, які одиниці NAL асоційовані з якими одиницями декодування одиниці доступу.
8. Спосіб за п. 7, при цьому етап, на якому генерують для виведення, включає етап, на якому включають перший унікальний ідентифікатор для першої одиниці декодування в перше повідомлення інформації додаткового поліпшення (SEI) інформації одиниці декодування, причому спосіб додатково включає етапи, на яких:
виводять всі одиниці NAL, які асоційовані з першою одиницею декодування, після виведення першого повідомлення SEI одиниці декодування;
включають другий унікальний ідентифікатор для другої одиниці декодування у друге повідомлення SEI інформації одиниці декодування; і
після виведення всіх одиниць NAL, які асоційовані з першою одиницею декодування, виводять друге повідомлення SEI інформації одиниці декодування, яке включає в себе другий унікальний ідентифікатор для другої одиниці декодування.
9. Спосіб за п. 7,
при цьому етап, на якому генерують для виведення, включає етап, на якому включають кожний унікальний ідентифікатор у відповідні заголовки слайсу одиниць NAL слайсу, які асоційовані з відповідними одиницями декодування.
10. Спосіб за п. 7, який додатково включає етапи, на яких:
виводять, як частину одиниці декодування, перше повідомлення інформації додаткового поліпшення (SEI) інформації одиниці декодування, яке вказує інформацію для часу видалення одиниці декодування; і
виводять, як частину одиниці декодування, друге повідомлення SEI інформації одиниці декодування, при цьому друге повідомлення SEI інформації одиниці декодування є копією першого повідомлення SEI інформації одиниці декодування.
11. Спосіб за п. 7, в якому етап, на якому визначають унікальний ідентифікатор, включає етапи, на яких:
визначають перший ідентифікатор для першої одиниці декодування в одиниці доступу; і
визначають другий, інший ідентифікатор для другої, іншої одиниці декодування в одиниці доступу,
при цьому, якщо значення першого ідентифікатора менше значення другого ідентифікатора, то перша одиниця декодування передує другій одиниці декодування в черговості декодування.
12. Спосіб за п. 7, який додатково включає етапи, на яких:
включають повідомлення інформації додаткового поліпшення (SEI) в одиницю доступу; і
включають копію повідомлення SEI в одиницю доступу.
13. Пристрій для декодування відеоданих, при цьому пристрій містить декодер відео, виконаний з можливістю:
декодування унікального ідентифікатора для кожної одиниці декодування в одиниці доступу, при цьому ідентифікатор для однієї одиниці декодування відрізняється від ідентифікатора для будь-якої іншої одиниці декодування в одиниці доступу;
визначення того, які одиниці рівня мережевого доступу (NAL) асоційовані з якими одиницями декодування на основі унікального ідентифікатора для кожної одиниці декодування в одиниці доступу; і
декодування одиниць NAL кожної з одиниць декодування в одиниці доступу, на основі згаданого визначення, для відтворення щонайменше одного зображення.
14. Пристрій за п. 13,
при цьому, щоб декодувати унікальний ідентифікатор, декодер відео виконаний з можливістю декодування першого унікального ідентифікатора з першого повідомлення інформації додаткового поліпшення (SEI) інформації одиниці декодування для першої одиниці декодування і декодування другого унікального ідентифікатора з другого повідомлення SEI інформації одиниці декодування для другої одиниці декодування, і
при цьому, щоб визначати, декодер відео виконаний з можливістю визначення, що перша одиниця NAL SEI, яка включає в себе перше повідомлення SEI інформації одиниці декодування, і всі одиниці NAL, які ідуть за першою одиницею NAL SEI аж до другої одиниці NAL SEI, яка включає в себе друге повідомлення SEI інформації одиниці декодування, асоційовані з першою одиницею декодування.
15. Пристрій за п. 13,
при цьому, щоб декодувати унікальний ідентифікатор, декодер відео виконаний з можливістю декодування унікального ідентифікатора в заголовку слайсу одиниці NAL слайсу, і
при цьому, щоб визначати, декодер відео виконаний з можливістю визначення того, з якою одиницею декодування асоційована одиниця NAL слайсу, на основі унікального ідентифікатора в заголовку слайсу.
16. Пристрій за п. 13, в якому декодер відео виконаний з можливістю: декодування першого повідомлення інформації додаткового поліпшення (SEI) інформації одиниці декодування, яке вказує інформацію для часу видалення одиниці декодування; і
декодування другого повідомлення SEI інформації одиниці декодування, яке розташовується між двома одиницями NAL, асоційованими з одиницею декодування, при цьому друге повідомлення SEI інформації одиниці декодування є копією першого повідомлення SEI інформації одиниці декодування.
17. Пристрій за п. 13, в якому, щоб декодувати унікальний ідентифікатор, декодер відео виконаний з можливістю:
декодування першого ідентифікатора для першої одиниці декодування в одиниці доступу; і
декодування другого, іншого ідентифікатора для другої, іншої одиниці декодування в одиниці доступу,
при цьому, якщо значення першого ідентифікатора менше значення другого ідентифікатора, перша одиниця декодування передує другій одиниці декодування в черговості декодування.
18. Пристрій за п. 13, в якому декодер відео виконаний з можливістю: декодування повідомлення інформації додаткового поліпшення (SEI) в одиниці доступу; і
декодування копії повідомлення SEI в одиниці доступу.
19. Пристрій за п. 13, при цьому пристрій виконаний у вигляді одного з:
мікропроцесора;
інтегральної мікросхеми; і
бездротового пристрою, який включає в себе декодер відео.
20. Пристрій для кодування відеоданих, при цьому пристрій містить кодер відео, виконаний з можливістю:
визначення унікального ідентифікатора для кожної одиниці декодування в одиниці доступу, при цьому ідентифікатор для однієї одиниці декодування відрізняється від ідентифікатора для будь-якої іншої одиниці декодування в одиниці доступу;
визначення того, які одиниці рівня мережевого доступу (NAL) асоційовані з якими одиницями декодування одиниці доступу; і
генерування для виведення кожного унікального ідентифікатора у відповідних одиницях декодування для указання того, які одиниці NAL асоційовані з якими одиницями декодування одиниці доступу.
21. Пристрій за п. 20,
при цьому, щоб генерувати для виведення, кодер відео виконаний з можливістю включення першого унікального ідентифікатора для першої одиниці декодування в перше повідомлення інформації додаткового поліпшення (SEI) інформації одиниці декодування, і
при цьому кодер відео виконаний з можливістю:
виведення всіх одиниць NAL, які асоційовані з першою одиницею декодування, після виведення першого повідомлення SEI одиниці декодування;
включення другого унікального ідентифікатора для другої одиниці декодування у друге повідомлення SEI інформації одиниці декодування; і
після виведення всіх одиниць NAL, які асоційовані з першою одиницею декодування, виведення другого повідомлення SEI інформації одиниці декодування, яке включає в себе другий унікальний ідентифікатор для другої одиниці декодування.
22. Пристрій за п. 20,
при цьому, щоб генерувати для виведення, кодер відео виконаний з можливістю включення кожного унікального ідентифікатора у відповідні заголовки слайсу одиниць NAL слайсу, які асоційовані з відповідними одиницями декодування.
23. Пристрій за п. 20, в якому кодер відео виконаний з можливістю: виведення, як частини одиниці декодування, першого повідомлення інформації додаткового поліпшення (SEI) інформації одиниці декодування, яке вказує інформацію для часу видалення одиниці декодування; і
виведення, як частини одиниці декодування, другого повідомлення SEI інформації одиниці декодування, при цьому друге повідомлення SEI інформації одиниці декодування є копією першого повідомлення SEI інформації одиниці декодування.
24. Пристрій за п. 20, при цьому, щоб визначати унікальний ідентифікатор, кодер відео виконаний з можливістю:
визначення першого ідентифікатора для першої одиниці декодування в одиниці доступу; і
визначення другого, іншого ідентифікатора для другої, іншої одиниці декодування в одиниці доступу,
при цьому, якщо значення першого ідентифікатора менше значення другого ідентифікатора, то перша одиниця декодування передує другій одиниці декодування в черговості декодування.
25. Пристрій за п. 20, в якому кодер відео виконаний з можливістю:
включення повідомлення інформації додаткового поліпшення (SEI) в одиницю доступу; і
включення копії повідомлення SEI в одиницю доступу.
26. Зчитуваний комп'ютером носій даних з інструкціями, що зберігаються на ньому, які при виконанні спонукають один або більше процесорів пристрою для декодування відео:
декодувати унікальний ідентифікатор для кожної одиниці декодування в одиниці доступу, при цьому ідентифікатор для однієї одиниці декодування відрізняється від ідентифікатора для будь-якої іншої одиниці декодування в одиниці доступу;
визначати те, які одиниці рівня мережевого доступу (NAL) асоційовані з якими одиницями декодування на основі унікального ідентифікатора для кожної одиниці декодування в одиниці доступу; і
декодувати одиниці NAL кожної з одиниць декодування в одиниці доступу, на основі згаданого визначення, для відтворення щонайменше одного зображення.
27. Зчитуваний комп'ютером носій даних за п. 26,
в якому інструкції, які спонукають один або більше процесорів декодувати унікальний ідентифікатор, містять інструкції, які спонукають один або більше процесорів декодувати перший унікальний ідентифікатор з першого повідомлення інформації додаткового поліпшення (SEI) інформації одиниці декодування для першої одиниці декодування і декодувати другий унікальний ідентифікатор з другого повідомлення SEI інформації одиниці декодування для другої одиниці декодування, і
при цьому інструкції, які спонукають один або більше процесорів визначати, містять інструкції, які спонукають один або більше процесорів визначати, що перша одиниця NAL SEI, яка включає в себе перше повідомлення SEI інформації одиниці декодування, і всі одиниці NAL, які ідуть за першою одиницею NAL SEI аж до другої одиниці NAL SEI, яка включає в себе друге повідомлення SEI інформації одиниці декодування, асоційовані з першою одиницею декодування.
28. Зчитуваний комп'ютером носій даних за п. 26, який додатково містить інструкції, які спонукають один або більше процесорів:
декодувати повідомлення інформації додаткового поліпшення (SEI) в одиниці доступу; і
декодувати копію повідомлення SEI в одиниці доступу.
29. Пристрій для декодування відеоданих, при цьому пристрій містить:
засіб для декодування унікального ідентифікатора для кожної одиниці декодування в одиниці доступу, при цьому ідентифікатор для однієї одиниці декодування відрізняється від ідентифікатора для будь-якої іншої одиниці декодування в одиниці доступу;
засіб для визначення того, які одиниці рівня мережевого доступу (NAL) асоційовані з якими одиницями декодування на основі унікального ідентифікатора для кожної одиниці декодування в одиниці доступу; і
засіб для декодування одиниць NAL кожної з одиниць декодування в одиниці доступу, на основі згаданого визначення, для відтворення щонайменше одного зображення.
30. Пристрій за п. 29,
при цьому засіб для декодування унікального ідентифікатора містить засіб для декодування першого унікального ідентифікатора з першого повідомлення інформації додаткового поліпшення (SEI) інформації одиниці декодування для першої одиниці декодування і засіб для декодування другого унікального ідентифікатора з другого повідомлення SEI інформації одиниці декодування для другої одиниці декодування, і
при цьому засіб для визначення містить засіб для визначення, що перша одиниця NAL SEI, яка включає в себе перше повідомлення SEI інформації одиниці декодування, і всі одиниці NAL, які ідуть за першою одиницею NAL SEI аж до другої одиниці NAL SEI, яка включає в себе друге повідомлення SEI інформації одиниці декодування, асоційовані з першою одиницею декодування.
31. Пристрій за п. 29, який додатково містить:
засіб для декодування повідомлення інформації додаткового поліпшення (SEI) в одиниці доступу; і
засіб для декодування копії повідомлення SEI в одиниці доступу.
Текст
Реферат: Описуються методики для сигналізації ідентифікаторів одиниці декодування для одиниць декодування одиниці доступу. Декодер відео визначає те, які одиниці рівня мережевої абстракції (NAL) асоційовані з якими одиницями декодування на основі ідентифікаторів одиниці декодування. Також описуються методики для включення однієї або більше копій повідомлень інформації додаткового поліпшення (SEI) в одиницю доступу. UA 114343 C2 (12) UA 114343 C2 UA 114343 C2 5 10 15 20 25 30 35 40 45 50 55 60 [0001] По даній заявці вимагається пріоритет Попередньої Заявки США № 61/707,759, поданої 28 вересня 2012 р., яка у всій своїй повноті включена в даний опис за допомогою посилання. ГАЛУЗЬ ТЕХНІКИ, ДО ЯКОЇ НАЛЕЖИТЬ ВИНАХІД [0002] Дане розкриття, загалом, стосується обробки відеоданих, зокрема методик, які можуть бути застосовані до одного або більше стандартів кодування відео. РІВЕНЬ ТЕХНІКИ [0003] Можливості цифрового відео можуть бути включені в широкий діапазон пристроїв, включаючи цифрові телевізори, системи цифрового безпосереднього мовлення, системи бездротового мовлення, персональні цифрові помічники (PDA), комп'ютери класу лептоп або настільні, планшетні комп'ютери, пристрої для читання електронних книг, цифрові камери, цифрові пристрої запису, цифрові мультимедійні програвачі, пристрої для відеоігор, консолі для відеоігор, стільникові або супутникові радіотелефони, так звані "інтелектуальні телефони", пристрої для відеотелеконференцій, пристрої потокової передачі відео, транскодери, маршрутизатори або інші мережеві пристрої і подібне. Цифрові відеопристрої реалізовують методики стиснення відео, такі як ті, що описуються в стандартах, які формулюються MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, Частина 10, Вдосконаленим Кодуванням Відео (AVC), розроблюваним на даний час стандартом Високоефективного Кодування Відео (HEVC), власними стандартами, відкритими форматами стиснення відео, такими як VP8, і розширеннями таких стандартів, методик або форматів. Відеопристрої можуть передавати, приймати, кодувати, декодувати і/або зберігати цифрову відеоінформацію більш ефективно за допомогою реалізації таких методик стиснення відео. [0004] Методики стиснення відео виконують просторове (всередині зображення (intrapicture)) прогнозування і/або часове (між зображеннями (inter-picture)) прогнозування для скорочення або видалення надмірності, властивої відеопослідовностям. Застосовно до основаного на блоках кодування відео, відеослайс (тобто відеокадр або ділянка відеокадру) може бути розбитий на відеоблоки, які також можуть іменуватися деревовидними блоками, одиницями кодування (CU) і/або вузлами кодування. Відеоблоки в I-слайсі з внутрішнім кодуванням (intra-coded) зображення кодуються за допомогою просторового прогнозування відносно опорних елементів дискретизації (відліків) в сусідніх блоках в тому ж самому зображенні. Відеоблоки в Р- або В-слайсі із зовнішнім кодуванням (inter-coded) зображення можуть використовувати просторове прогнозування відносно опорних елементів дискретизації в сусідніх блоках в тому ж самому зображенні або часове прогнозування відносно опорних елементів дискретизації в інших опорних зображеннях. Зображення можуть іменуватися кадрами, а опорні зображення можуть іменуватися опорними кадрами. [0005] Просторове або часове прогнозування має результатом прогнозуючий блок для блока, який повинен бути закодований. Залишкові дані являють собою піксельні різниці між вихідним блоком, який повинен бути закодований, і прогнозуючим блоком. Блок із зовнішнім кодуванням кодується відповідно до вектора руху, який вказує на блок опорних елементів дискретизації, що формує прогнозуючий блок, і залишкових даних, що вказують різницю між кодованим блоком і прогнозуючим блоком. Блок з внутрішнім кодуванням кодується відповідно до режиму внутрішнього кодування і залишкових даних. Для додаткового стиснення, залишкові дані можуть бути перетворені з піксельної області в область перетворення, що має результатом залишкові коефіцієнти перетворення, які потім можуть бути квантовані. Квантовані коефіцієнти перетворення, спочатку скомпоновані в двовимірний масив, можуть бути проскановані з тим, щоб створити одновимірний вектор коефіцієнтів перетворення, і ентропійне кодування може бути застосоване для досягнення ще більшого стиснення. СУТЬ ВИНАХОДУ [0006] Загалом, дане розкриття описує методики для обробки одиниць декодування в одиниці доступу. Одиниця доступу належить до відеоданих одного або більше зображень в одному і тому ж екземплярі часу. Наприклад, декодування одиниць доступу має результатом одне або більше декодованих зображень, де всі з декодованих зображень належать до одного і того ж екземпляра часу. [0007] Одиниця доступу включає в себе одну або більше одиниць декодування. Як описується більш детально, в деяких прикладах, методики, описувані в даному розкритті, унікально ідентифікують кожну з одиниць декодування в одиниці доступу. У деяких прикладах, методики забезпечують можливість вставлення однієї або більше копій повідомлення в одиницю доступу. [0008] У одному прикладі, розкриття описує спосіб для декодування відеоданих. Спосіб включає декодування унікального ідентифікатора для кожної одиниці декодування в одиниці 1 UA 114343 C2 5 10 15 20 25 30 35 40 45 50 55 60 доступу. У даному прикладі, ідентифікатор для однієї одиниці декодування відрізняється від ідентифікатора для будь-якої іншої одиниці декодування в одиниці доступу. Спосіб також включає в себе визначення того, які одиниці рівня мережевого доступу (NAL) асоційовані з якими одиницями декодування на основі унікального ідентифікатора для кожної одиниці декодування в одиниці доступу, і декодування одиниць NAL кожної з одиниць декодування в одиниці доступу, на основі згаданого визначення, для відтворення щонайменше одного зображення. [0009] У іншому прикладі розкриття описує спосіб для кодування відеоданих. Спосіб включає визначення унікального ідентифікатора для кожної одиниці декодування в одиниці доступу. У даному прикладі, ідентифікатор для однієї одиниці декодування відрізняється від ідентифікатора для будь-якої іншої одиниці декодування в одиниці доступу. Спосіб також включає в себе визначення того, які одиниці рівня мережевого доступу (NAL) асоційовані з якими одиницями декодування одиниці доступу, і генерування для виведення кожного унікального ідентифікатора у відповідних одиницях декодування для указання того, які одиниці NAL асоційовані з якими одиницями декодування одиниці доступу. [0010] У іншому прикладі розкриття описує пристрій для декодування відеоданих. Пристрій містить декодер відео, виконаний з можливістю декодування унікального ідентифікатора для кожної одиниці декодування в одиниці доступу. У даному прикладі, ідентифікатор для однієї одиниці декодування відрізняється від ідентифікатора для будь-якої іншої одиниці декодування в одиниці доступу. Декодер відео виконаний з можливістю визначення того, які одиниці рівня мережевого доступу (NAL) асоційовані з якими одиницями декодування на основі унікального ідентифікатора для кожної одиниці декодування в одиниці доступу, і декодування одиниць NAL кожної з одиниць декодування в одиниці доступу, на основі згаданого визначення, для відтворення щонайменше одного зображення. [0011] У іншому прикладі розкриття описує пристрій для кодування відеоданих. Пристрій містить кодер відео, виконаний з можливістю визначення унікального ідентифікатора для кожної одиниці декодування в одиниці доступу. У даному прикладі, ідентифікатор для однієї одиниці декодування відрізняється від ідентифікатора для будь-якої іншої одиниці декодування в одиниці доступу. Кодер відео виконаний з можливістю визначення того, які одиниці рівня мережевого доступу (NAL) асоційовані з якими одиницями декодування одиниці доступу, і генерування для виведення кожного унікального ідентифікатора у відповідних одиницях декодування для указання того, які одиниці NAL асоційовані з якими одиницями декодування одиниці доступу. [0012] У іншому прикладі розкриття описує зчитуваний комп'ютером носій даних з інструкціями, що зберігаються на ньому, які при виконанні спонукають один або більше процесорів пристрою для декодування відеоданих: декодувати унікальний ідентифікатор для кожної одиниці декодування в одиниці доступу, при цьому ідентифікатор для однієї одиниці декодування відрізняється від ідентифікатора для будь-якої іншої одиниці декодування в одиниці доступу; визначити, які одиниці рівня мережевого доступу (NAL) асоційовані з якими одиницями декодування на основі унікального ідентифікатора для кожної одиниці декодування в одиниці доступу; і декодувати одиниці NAL кожної з одиниць декодування в одиниці доступу, на основі згаданого визначення, для відтворення щонайменше одного зображення. [0013] У іншому прикладі розкриття описує пристрій для декодування відеоданих, причому пристрій містить: засіб для декодування унікального ідентифікатора для кожної одиниці декодування в одиниці доступу, при цьому ідентифікатор для однієї одиниці декодування відрізняється від ідентифікатора для будь-якої іншої одиниці декодування в одиниці доступу; засіб для визначення того, які одиниці рівня мережевого доступу (NAL) асоційовані з якими одиницями декодування на основі унікального ідентифікатора для кожної одиниці декодування в одиниці доступу; і засіб для декодування одиниць NAL кожної з одиниць декодування в одиниці доступу, на основі згаданого визначення, для відтворення щонайменше одного зображення. [0014] У іншому прикладі розкриття описує спосіб для кодування/декодування відеоданих, при цьому спосіб включає кодування повідомлення інформації додаткового поліпшення (SEI) в одиниці доступу. У даному прикладі, одиниця доступу включає в себе відеодані для відтворення щонайменше одного зображення, а повідомлення SEI формулює характеристику відеоданих. Спосіб також включає в себе кодування копії повідомлення SEI в одиниці доступу. [0015] У іншому прикладі розкриття описує пристрій для кодування відеоданих, при цьому пристрій містить модуль кодування відео, виконаний з можливістю кодування повідомлення інформації додаткового поліпшення (SEI) в одиниці доступу. У даному прикладі, одиниця доступу включає в себе відеодані для відтворення щонайменше одного зображення, а 2 UA 114343 C2 5 10 15 20 25 30 35 40 45 50 55 повідомлення SEI формулює характеристику відеоданих. Модуль кодування відео також виконаний з можливістю кодування копії повідомлення SEI в одиниці доступу. [0016] У іншому прикладі розкриття описує зчитуваний комп’ютером носій даних з інструкціями, що зберігаються на ньому, які при виконанні одним або більше процесорами пристрою для кодування відео спонукають один або більше процесорів кодувати повідомлення інформації додаткового поліпшення (SEI) в одиниці доступу. У даному прикладі, одиниця доступу включає в себе відеодані для відтворення щонайменше одного зображення, а повідомлення SEI формулює характеристику відеоданих. Інструкції також спонукають один або більше процесорів кодувати копію повідомлення SEI в одиниці доступу. [0017] У іншому прикладі розкриття описує пристрій для кодування відеоданих, при цьому пристрій містить засіб для кодування повідомлення інформації додаткового поліпшення (SEI) в одиниці доступу. У даному прикладі, одиниця доступу включає в себе відеодані для відтворення щонайменше одного зображення, а повідомлення SEI формулює характеристику відеоданих. Пристрій також включає в себе засіб для кодування копії повідомлення SEI в одиниці доступу. [0018] Подробиці одного або більше прикладів викладаються в супровідних кресленнях і описі нижче. Інші ознаки, цілі і переваги стануть очевидні з опису і креслень і з формули винаходу. КОРОТКИЙ ОПИС КРЕСЛЕНЬ [0019] Фіг. 1 є структурною схемою, що ілюструє зразкову систему кодування і декодування відео, яка може використовувати описувані в даному розкритті методики. [0020] Фіг. 2A і 2B є концептуальними схемами, що ілюструють приклади одиниць доступу, які включають в себе ідентифікатори одиниць декодування відповідно до описуваних в даному розкритті методик. [0021] Фіг. 3 є структурною схемою, що ілюструє зразковий кодер відео, який може реалізувати описувані в даному розкритті методики. [0022] Фіг. 4 є структурною схемою, що ілюструє зразковий декодер відео, який може реалізувати описувані в даному розкритті методики. [0023] Фіг. 5 є блок-схемою, що ілюструє приклад кодування відеоданих відповідно до одного або більше описуваних в даному розкритті прикладів. [0024] Фіг. 6 є блок-схемою, що ілюструє приклад декодування відеоданих відповідно до одного або більше описуваних в даному розкритті прикладів. [0025] Фіг. 7 є блок-схемою, що ілюструє приклад кодування відеоданих відповідно до одного або більш описуваних в даному розкритті прикладів. ДОКЛАДНИЙ ОПИС [0026] Дане розкриття описує різні способи для стійкої до помилок сигналізації і асоціації одиниці декодування при кодуванні відео. При багатовидовому (multi-view) кодуванні або масштабованому кодуванні відео, декілька зображень або рівнів може бути закодовано для заданого екземпляра часу. Зображення одного і того ж екземпляра часу кодуються в одній одиниці доступу (AU). Наприклад, декодування одиниці доступу має результатом одне зображення для випадку, коли багатовидове кодування не використовується, або множину зображень одного і того ж екземпляра часу застосовно до багатовидового кодування. [0027] Одиниця декодування (DU), загалом, належить до підмножини одиниці доступу або цілої одиниці доступу. Наприклад, якщо дозволена робота на рівні субзображення, тоді одиниця декодування є підмножиною одиниці доступу, і одиниця доступу включає в себе множину одиниць декодування. Оскільки одиниця доступу включає в себе відеодані для одного або більше зображень, робота на рівні одиниці декодування може бути розглянута як робота на рівні субзображення. Якщо робота на рівні субзображення не дозволена, тоді одиниця декодування є всією одиницею доступу. [0028] Одиниця декодування включає в себе одну або більше одиниць рівня мережевої абстракції (NAL). Наприклад, одиниця кодування включає в себе одну або більше одиниць NAL рівня кодування відео (VCL) і асоційовані одиниці NAL не-VCL. Одним прикладом одиниці NAL є слайс зображення (наприклад, дані, інкапсульовані в одиниці NAL, включають в себе відеодані, необхідні для декодування слайсу зображення). Іншим прикладом одиниці NAL є набір параметрів. Наприклад, одиниця NAL може включати в себе відеодані набору параметрів зображення, набору параметрів послідовності і інші приклади набору параметрів. Як ще один інший приклад, одиниця NAL може включати в себе додаткову інформацію, таку як повідомлення інформації додаткового поліпшення (SEI), використовувані з метою визначення проміжків часу обробки і видалення одиниць декодування з буфера (наприклад, буфера кодованих зображень). 3 UA 114343 C2 5 10 15 20 25 30 35 40 45 50 55 60 [0029] У деяких прикладах, описуваних в даному розкритті, кодер відео генерує для виведення і виводить (наприклад, сигналізує), в кодованому бітовому потоці, ідентифікатор для кожної одиниці декодування в одиниці доступу. Кожний ідентифікатор (що іменується ідентифікатором DU) унікально ідентифікує одиницю декодування в одиниці доступу. Декодер відео приймає, з кодованого бітового потоку, ідентифікатори для одиниць декодування в одиниці доступу. Декодер відео визначає те, які одиниці NAL асоційовані з якими одиницями декодування на основі ідентифікаторів одиниці декодування. [0030] Таким чином, методики, описувані в даному розкритті, можуть гарантувати те, що одиниці NAL асоційовані з коректними одиницями декодування. Наприклад, для кодера відео існує можливість просигналізувати інформацію (наприклад, вивести інформацію), яка вказує кількість одиниць NAL, яку включає в себе кожна одиниця декодування. Замість використання ідентифікаторів одиниці декодування, декодер відео може визначати асоціацію одиниць NAL з одиницями декодування на основі черговості, в якій декодер відео приймає одиниці NAL, і сигналізованої інформації, що вказує кількість одиниць NAL, яку включає в себе кожна одиниця декодування. [0031] Проте, в цьому випадку, гарантія того, що одиниці NAL асоційовані з правильними одиницями декодування, не є стійкою до помилок. Наприклад, якщо одиниця NAL втрачена під час передачі (наприклад, від кодера відео до декодера відео, від кодера відео до проміжного пристрою зберігання або від проміжного пристрою зберігання до декодера відео), декодер відео може не мати можливості визначення того, які одиниці NAL асоційовані з якими одиницями декодування. [0032] Як інший приклад можливих проблем з гарантією того, що одиниці NAL асоційовані з коректними одиницями декодування, є те, що декодер відео може мати можливість сигналізації одиниць NAL, асоційованих з одиницею декодування, між двома типами повідомлень. Наприклад, кодер відео може сигналізувати перший екземпляр конкретного типу повідомлення інформації додаткового поліпшення (SEI), за яким ідуть одна або більше одиниць NAL для першої одиниці декодування, за якими іде другий екземпляр конкретного типу повідомлення SEI, за яким ідуть одна або більше одиниць NAL другої одиниці декодування і так далі. Декодер відео може визначати, що кожна одиниця NAL, прийнята після першого екземпляра даного типу повідомлення SEI і перед другим екземпляром даного типу повідомлення SEI, асоціюється з першою одиницею декодування, кожна одиниця NAL, прийнята після другого екземпляра даного типу повідомлення SEI і перед третім екземпляром даного типу повідомлення SEI, асоціюється з другою одиницею декодування, і так далі. [0033] Даний тип повідомлення SEI може включати в себе додаткову інформацію, що має відношення до правильного тактування кодування і декодування. Проте, оскільки позиції даного типу повідомлень SEI вказують на те, які одиниці NAL асоціюються з якими одиницями декодування, кодер відео може не мати можливості включення декількох копій даного типу повідомлення SEI в одиницю декодування. Внаслідок цього, навіть якщо одне з цих повідомлень SEI втрачається при передачі, декодер відео може не мати можливості визначення того, які одиниці NAL асоційовані з якою одиницею декодування, і може не мати можливості визначення додаткової інформації, що переноситься втраченим повідомленням SEI. [0034] У методиках, описуваних в даному розкритті, кодер відео може генерувати для виведення і виводити інформацію (наприклад, за допомогою ідентифікаторів одиниці декодування в повідомленні SEI або заголовку слайсу), яка вказує на те, які одиниці NAL асоційовані з якими одиницями декодування. Таким чином, навіть якщо одиниця NAL втрачена при передачі, декодер відео може мати можливість визначення того, які одиниці NAL асоційовані з якими одиницями декодування. Також, оскільки декодеру відео може не вимагатися покладатися на позиції повідомлень SEI для визначення того, які одиниці NAL асоційовані з якими одиницями декодування, кодер відео може генерувати для виведення і виводити одну або більше копій повідомлення SEI в одиниці декодування. Такі методики можуть забезпечувати порівняно більш стійкий до помилок спосіб, за допомогою якого декодер відео визначає те, які одиниці NAL асоційовані з якими одиницями декодування, в порівнянні з деякими іншими методиками, описаними вище. [0035] Більше того, в деяких з інших описаних вище методиках заборонений повтор повідомлень SEI певного типу (проблема, яку описувані в даному розкритті методики можуть вирішити). У деяких випадках, в цих інших методиках заборонений повтор не тільки певних типів повідомлення SEI, а, загалом, обмежується повтор повідомлень SEI в одиниці доступу після першої одиниці NAL VCL в одиниці доступу і перед останньою одиницею NAL в одиниці доступу. [0036] Наприклад, в деяких цих інших методиках декодер відео буде визначати початок одиниці доступу на основі місцеположення повідомлень SEI. Наприклад, повідомлення SEI 4 UA 114343 C2 5 10 15 20 25 30 35 40 45 50 55 60 будуть розташовуватися на початку одиниці доступу, і після визначення того, що декодер відео обробляє повідомлення SEI, декодер відео буде визначати, що декодер відео обробляє нову одиницю доступу. Відповідно, існує обмеження включення декількох копій повідомлень SEI в одну і ту ж одиницю доступу. [0037] У схильному до помилок середовищі може бути вигідно включати копії повідомлень SEI так, що, якщо повідомлення SEI втрачається, доступні інші копії повідомлення SEI. У деяких прикладах, методики забезпечують можливість повтору різних типів повідомлень SEI в одиниці доступу, що надалі забезпечує стійкість до помилок. Як один приклад, методики можуть вказувати наступне для всіх повідомлень SEI: (1) об'єм застосування, до якого застосовується інформація, що переноситься в повідомленні SEI; (2) де може бути присутнє повідомлення SEI; і (3) обмеження відносно вмісту декількох екземплярів конкретного типу повідомлення SEI. [0038] Наприклад, одиниця доступу може бути пакетована у множину пакетів (наприклад, пакет транспортного протоколу реального часу (RTP)). Кожний пакет, як правило, включає в себе одну або більше одиниць NAL, але в деяких випадках пакет може включати в себе підмножину одиниці NAL. У схильному до помилок середовищі, один або більше пакетів можуть бути втрачені, і, якщо втрачені пакети включають в себе повідомлення SEI, повідомлення SEI може бути втрачене. У методиках, описуваних в даному розкритті, кодер відео може генерувати для виведення і виводити (наприклад, сигналізувати) одну або більше копій повідомлення SEI в одиниці доступу. Таким чином, навіть якщо пакет, який включає в себе одне з повідомлень SEI, втрачається, повідомлення SEI може бути все ще доступним як копія в пакеті, який не втрачений. [0039] Як інший приклад, кодер відео може кодувати бітовий потік відео з декількома рівнями, як при багаторівневому розширенні стандарту високоефективного кодування відео (HEVC). Декілька шарів включають в себе базовий рівень і один або більше небазових рівнів. Небазовий рівень може бути рівнем просторового або якісного поліпшення, текстурою іншого виду, глибиною іншого виду і іншими такими прикладами. Кодер відео може транспортувати різні рівні в різних каналах (наприклад, використовуючи багатосеансову передачу (MST), подібним чином сформульовану в документі IETF RFC 6190 (публічно доступний за адресою http://tools.ietf.org/rfc/rfc6190.txt). У методиках, описуваних в даному розкритті, кодер відео може включати одиницю NAL SEI в дві одиниці NAL VCL в одиниці доступу, де одиниця NAL SEI включає в себе повідомлення SEI, і після першої одиниці NAL VCL одиниці доступу. Іншими словами, методики, описувані в даному розкритті для включення повідомлення SEI після першої одиниці NAL VCL в одиниці доступу, також застосовні до прикладів багатосеансової передачі. [0040] У методиках, описуваних в даному розкритті, декодер відео не обов'язково повинен покладатися на місцеположення повідомлень SEI для визначення того, що декодер відео обробляє нову одиницю доступу. Наприклад, декодер відео може покладатися на деяку іншу інформацію заголовка для визначення того, що обробляється нова одиниця доступу. Відповідно, в методиках, описуваних в даному розкритті, кодер відео може генерувати для виведення і виводити повідомлення SEI в одиниці доступу і одну або більше копій повідомлення SEI в одиниці доступу, і декодер відео може приймати повідомлення SEI і одну або більше копій повідомлення SEI. Оскільки декодеру відео не потрібно покладатися на повідомлення SEI для визначення того, коли обробляється нова одиниця доступу, декодер відео може бути виконаний з можливістю обробки декількох копій повідомлень SEI в одній і тій же одиниці доступу без визначення того, що обробляється нова, інша одиниця доступу. [0041] Фіг. 1 є структурною схемою, що ілюструє зразкову систему 10 кодування і декодування відео, яка може використовувати описувані в даному розкритті методики. Як показано на Фіг. 1, система 10 включає в себе пристрій-джерело 12, який генерує закодовані відеодані, які повинні бути декодовані пізніше пристроєм-одержувачем 14. Пристрій-джерело 12 і пристрій-одержувач 14 можуть бути виконані у вигляді будь-якого з широкого діапазону пристроїв, включаючи настільні комп'ютери, комп'ютери класу ноутбук (тобто лептоп), планшетні комп'ютери, абонентські телевізійні приставки, телефонні трубки, такі як так звані "інтелектуальні" телефони, так звані "інтелектуальні" планшети, телевізори, камери, пристрої відображення, цифрові мультимедійні програвачі, консолі для відеоігор, пристрій потокової передачі відео або подібні. У деяких випадках, пристрій-джерело 12 і пристрій-одержувач 14 можуть бути обладнані для бездротового зв'язку. [0042] Пристрій-одержувач 14 може приймати закодовані відеодані, які повинні бути декодовані, через лінію 16 зв'язку. Лінія 16 зв'язку містить будь-який тип носія інформації або пристрій, виконаний з можливістю переміщення закодованих відеоданих від пристрою-джерела 12 до пристрою-одержувача 14. У одному прикладі, лінія 16 зв'язку може містити засіб зв'язку, 5 UA 114343 C2 5 10 15 20 25 30 35 40 45 50 55 щоб дозволити пристрою-джерелу 12 передавати закодовані відеодані безпосередньо пристрою-одержувачу 14 в режимі реального часу. Закодовані відеодані можуть бути піддані модуляції згідно зі стандартом зв'язку, таким як протокол бездротового зв'язку, і передані пристрою-одержувачу 14. Засіб зв'язку може бути виконаний у вигляді будь-якого бездротового або дротового засобу зв'язку, такого як радіочастотний (RF) спектр або одна або більше фізичних ліній передачі. Засіб зв'язку може формувати частину основаної на пакетах мережі, такої як локальна мережа, широкомасштабна мережа або глобальна мережа, така як Інтернет. Засіб зв'язку може включати в себе маршрутизатори, комутатори, базові станції або будь-яке інше обладнання, яке може бути корисне для забезпечення зв'язку від пристрою-джерела 12 до пристрою-одержувача 14. [0043] Як альтернатива, закодовані дані можуть бути виведені через інтерфейс 22 виведення на пристрій 32 зберігання. Аналогічним чином, до закодованих даних на пристрої 32 зберігання може бути одержаний доступ за допомогою інтерфейсу введення. Пристрій 32 зберігання може включати в себе будь-який з різноманіття розподілених, або доступ до яких одержують локально, носіїв інформації для зберігання даних, таких як жорсткий диск, диски Bluray, DVD, CD-ROM, флеш-пам'ять, енергозалежна або енергонезалежна пам'ять, або будь-яких інших придатних цифрових носіїв даних для зберігання закодованих відеоданих. У додатковому прикладі, пристрій 32 зберігання може відповідати файловому серверу або іншому проміжному пристрою зберігання, який може утримувати закодоване відео, згенероване пристроємджерелом 12. Пристрій-одержувач 14 може одержувати доступ до збережених відеоданих від пристрою 32 зберігання через потокову передачу або завантаження. Файловий сервер може бути будь-яким типом сервера, виконаним з можливістю зберігання закодованих відеоданих і передачі закодованих відеоданих пристрою-одержувачу 14. Зразкові файлові сервери включають в себе web-сервер (наприклад, застосовно до web-сайта), FTP-сервер, пристрій сховища, що підключається до мережі (NAS), або локальний дисковий накопичувач. Пристрійодержувач 14 може одержувати доступ до закодованих відеоданих за допомогою будь-якого стандартного з'єднання передачі даних, включаючи Інтернет-з'єднання. Це може включати в себе бездротовий канал (наприклад, з'єднання Wi-Fi), дротове з'єднання (наприклад, DSL, кабельний модем і т. д.) або поєднання обох, яке застосовне для одержання доступу до закодованих відеоданих на файловому сервері. Передача закодованих відеоданих від пристрою 32 зберігання може бути потоковою передачею, передачею завантаження або поєднанням обох. [0044] Методики даного розкриття не обов'язково обмежуються бездротовими застосуваннями або установками. Методики можуть бути застосовані до кодування відео при підтриманні будь-якого з різноманіття мультимедійних застосувань, таких як ефірні мовні телепередачі, передачі кабельного телебачення, передачі супутникового телебачення, передачі потокового відео, наприклад через Інтернет, кодування цифрового відео для зберігання на носії інформації для зберігання даних, декодування цифрового відео, що зберігається на носії інформації для зберігання даних, або інші застосування. У деяких прикладах, система 10 може бути виконана з можливістю підтримання односторонньої або двосторонньої передачі відео для підтримання застосувань, таких як потокова передача відео, відтворення відео, широкомовна передача відео і/або відеотелефонія. [0045] У прикладі на Фіг. 1, пристрій-джерело 12 включає в себе джерело 18 відео, кодер 20 відео і інтерфейс 22 виведення. У деяких випадках, інтерфейс 22 виведення може включати в себе модулятор/демодулятор (модем) і/або передавач. У пристрої-джерелі 12, джерело 18 відео може включати в себе джерело, таке як пристрій захоплення відео, наприклад відеокамеру, відеоархів, що містить раніше захоплене відео, інтерфейс подачі відео для прийому відео від постачальника відеоконтенту і/або систему комп'ютерної графіки для генерування даних комп'ютерної графіки як вихідного відео або поєднання таких джерел. Як один приклад, якщо джерелом 18 відео є відеокамера, пристрій-джерело 12 і пристрійодержувач 14 можуть формувати так звані камерофони або відеофони. Проте, методики, описувані в даному розкритті, можуть бути застосовані до кодування відео загалом і можуть бути застосовані до дротових і/або бездротових застосувань. [0046] Захоплене, попередньо захоплене або згенероване комп'ютером відео може бути закодоване за допомогою кодера 20 відео. Закодовані відеодані можуть бути передані безпосередньо пристрою-одержувачу 14 через інтерфейс 22 виведення 12. Закодовані відеодані також (або альтернативно) можуть бути збережені на пристрої 32 зберігання для одержання доступу до них пізніше з боку пристрою-одержувача 14 або інших пристроїв, для декодування і/або відтворення. 6 UA 114343 C2 5 10 15 20 25 30 35 40 45 50 55 60 [0047] Пристрій-одержувач 14 включає в себе інтерфейс 28 введення, декодер 30 відео і пристрій 31 відображення. У деяких випадках, інтерфейс 28 введення може включати в себе приймач і/або модем. Інтерфейс 28 введення пристрою-одержувача 14 приймає закодовані відеодані через лінію 16 зв'язку. Закодовані відеодані, що передаються через лінію 16 зв'язку або надаються на пристрої 32 зберігання, можуть включати в себе різноманітні елементи синтаксису, згенеровані кодером 20 відео для використання декодером відео, таким як декодер 30 відео, при декодуванні відеоданих. Такі елементи синтаксису можуть бути включені з закодованими відеоданими, що передаються по засобу зв'язку, які зберігаються на носії даних або зберігаються на файловому сервері. [0048] Пристрій 31 відображення може бути інтегрований з, або бути зовнішнім по відношенню до, пристроєм-одержувачем 14. У деяких прикладах, пристрій-одержувач 14 може включати в себе інтегрований пристрій відображення і також бути виконаний для взаємодії із зовнішнім пристроєм відображення. У інших прикладах, пристрій-одержувач 14 може бути пристроєм відображення. Загалом, пристрій 31 відображення відображає декодовані відеодані користувачу і може бути виконаний у вигляді будь-якого з різноманіття пристроїв відображення, таких як рідкокристалічний дисплей (LCD), плазмовий дисплей, дисплей на органічних світловипромінюючих діодах (OLED) або інший тип пристрою відображення. [0049] Кодер 20 відео і декодер 30 відео можуть бути сформовані як індивідуальні мікропроцесори або інтегральні мікросхеми (IC) або можуть бути частиною більш великих мікропроцесорів або IC. У деяких прикладах, кодер 20 відео і декодер 30 відео можуть бути частиною пристрою бездротового зв'язку. [0050] Кодер 20 відео і декодер 30 відео можуть працювати згідно зі стандартом стиснення відео. Приклади стандартів кодування відео включають в себе ITU-T H.261, ISO/IEC MPEG-1 Візуальний, ITU-T H.262 або ISO/IEC MPEG-2 Візуальний, ITU-T H.263, ISO/IEC MPEG-4 Візуальний і ITU-T H.264 (також відомий як ISO/IEC MPEG-4 AVC), включаючи його розширення застосовно до масштабованого кодування відео (SVC) і багатовидового кодування відео (MVC). [0051] На доповнення, існує новий стандарт кодування відео, відповідно до якого можуть працювати кодер 20 відео і декодер 30 відео, а саме стандарт Високоефективного Кодування Відео (HEVC), розроблюваний Об'єднаною Командою по Кодуванню Відео (JCT-VC) з ITU-T Групи Експертів по Кодуванню Відео (VCEG) і ISO/IEC Експертної Групи по Кінематографії (MPEG). Кодер 20 відео і декодер 30 відео можуть відповідати Тестовій Моделі HEVC (HM). Останній проект стандарту HEVC, що іменується "Робочий Проект HEVC 8" або "WD8", описується в документі JCTVC-H1003, під авторством Бросса і ін. "High efficiency video coding (HEVC) text specification draft 8", Joint Collaborative Team on Video Coding (JCT-VC) з ITU-T SG16 WP3 і ISO/IEC JTC1/SC29/WG11, 10-е Засідання: Стокгольм, Швеція, 11-20 липня 2012 р., який, за станом на 02 квітня 2013 р., може бути завантажений за адресою http://phenix.intevry.fr/jct/doc_end_user/documents/10_Stockholm/wgl1/JCTVC-J1003-v8.zip і який у всій своїй повноті включений в даний опис за допомогою посилання. Найбільш останній робочий проект HEVC, і іменований "Робочий Проект HEVC 9" або "WD9" далі, доступний, за станом на 02 квітня 2013 р., за адресою http://phenix.intevry.fr/jct/doc_end_user/documents/1l_Shanghai/wgll/JCTVC-K1003-vl0.zip. [0052] Як альтернатива, кодер 20 відео і декодер 30 відео можуть працювати відповідно до інших власних або промислових стандартів, таких як стандарт ITU-T H.264, що альтернативно іменується як MPEG-4, Частина 10, Вдосконалене Кодування Відео (AVC), або розширення таких стандартів. Проте, методики даного розкриття не обмежуються яким-небудь конкретним стандартом кодування. Інші приклади стандартів стиснення відео включають в себе MPEG-2 і ITU-T H.263, як, проте, і відкриті формати, такі як VP8. [0053] Проте, методики даного розкриття не обмежуються яким-небудь конкретним стандартом кодування. Наприклад, кодер 20 відео і декодер 30 відео не обов'язково повинні відповідати якому-небудь конкретному стандарту кодування відео. Більше того, навіть якщо методики, описувані в даному розкритті, не обов'язково відповідають конкретному стандарту, методики, описувані в даному розкритті, можуть надалі впливати на ефективність кодування застосовно до різних стандартів. Також, методики, описувані в даному розкритті, можуть бути частиною майбутніх стандартів. Для простоти розуміння, методики описуються відносно розроблюваного стандарту HEVC, однак методики не обмежуються стандартом HEVC і можуть бути розширені на інші стандарти кодування відео або методики кодування відео, які не формулюється конкретним стандартом. [0054] Незважаючи на те, що не показано на Фіг. 1, в деяких аспектах, кодер 20 відео і декодер 30 відео кожний може бути інтегрований з кодером і декодером аудіо і може включати в себе відповідні модулі MUX-DEMUX, або інше апаратне і програмне забезпечення, для обробки 7 UA 114343 C2 5 10 15 20 25 30 35 40 45 50 55 60 кодування як аудіо, так і відео в загальний потік даних або окремі потоки даних. Якщо застосовно, в деяких прикладах, модуль MUX-DEMUX може відповідати протоколу мультиплексора ITU H.223 або іншим протоколам, таким як протокол користувацьких дейтаграм (UDP). [0055] Кодер 20 відео і декодер 30 відео кожний може бути реалізований як будь-яка з різноманіття придатних схем кодера, таких як один або більше мікропроцесорів, цифрові сигнальні процесори (DSP), проблемно-орієнтовані інтегральні мікросхеми (ASIC), програмовані вентильні матриці (FPGA), дискретна логіка, індивідуальна або частина інтегральної мікросхеми (IC), програмне забезпечення, апаратне забезпечення, вбудоване програмне забезпечення або будь-яке їх поєднання. Коли методики частково реалізовуються в програмному забезпеченні, пристрій може зберігати інструкції для програмного забезпечення на придатному постійному зчитуваному комп'ютером носії даних і виконувати інструкції в апаратному забезпеченні, використовуючи один або більше процесорів для виконання методик даного розкриття. Іншими словами, при реалізації частково в програмному забезпеченні, програмне забезпечення виконується на компонентах апаратного забезпечення, що лежать в основі, що спонукає компоненти апаратного забезпечення реалізувати певні функції. Кожний з кодера 20 відео і декодера 30 відео може бути включений в один або більше кодерів або декодерів, будь-який з яких може бути інтегрований як частина об'єднаного кодера/декодера (CODEC) у відповідному пристрої. [0056] Наприклад, кодер 20 відео і декодер 30 відео можуть бути включені в бездротовий пристрій, такий як пристрій-джерело 12 і пристрій-одержувач 14, відповідно. Як інший приклад, пристрій може включати в себе мікропроцесор або інтегральну мікросхему. У деяких прикладах, пристрій, такий як мікропроцесор або інтегральна мікросхема, може включати в себе декодер 30 відео, а інший пристрій може включати в себе кодер 20 відео. [0057] JCT-VC продовжує працювати над розробкою стандарту HEVC. Зусилля по стандартизації HEVC основані на розвитку моделі пристрою кодування відео, іменованої Тестовою Моделлю HEVC (HM). HM передбачає декілька додаткових можливостей пристроїв кодування відео відносно існуючих пристроїв згідно з, наприклад, ITU-T H.264/AVC. [0058] Загалом, робоча модель HM описує те, що відеокадр або зображення можуть бути розділені на послідовність деревовидних блоків або найбільші одиниці кодування (LCU), які включають в себе елементи дискретизації як яскравості, так і кольоровості. Деревовидний блок може служити для деяких цілей, аналогічних тим, для яких служить макроблок в стандарті H.264, незважаючи на те, що деревовидний блок має багато відмінностей відносно макроблока. Слайс включає в себе деяку кількість послідовних деревовидних блоків в черговості кодування. Відеокадр або зображення можуть бути розбиті на один або більше слайсів. Кожний деревовидний блок може бути розщеплений на одиниці кодування (CU) відповідно до квадродерева. Наприклад, деревовидний блок, як кореневий вузол квадродерева, може бути розщеплений на чотири вузли-нащадки, і кожний вузол-нащадок в свою чергу може бути батьківським вузлом і бути розщеплений на інші чотири вузли-нащадки. Підсумковий, не розщеплений вузол-нащадок, як кінцевий вузол квадродерева, містить вузол кодування, тобто кодований відеоблок. Дані синтаксису, асоційовані з кодованим бітовим потоком, можуть формулювати максимальну кількість разів, яку може бути розщеплений деревовидний блок, і також можуть формулювати мінімальний розмір вузлів кодування. [0059] CU включає в себе вузол кодування і одиниці прогнозування (PU) і одиниці перетворення (TU), асоційовані з вузлом кодування. Розмір CU відповідає розміру вузла кодування і повинен бути квадратним за формою. Розмір CU може знаходиться в діапазоні від 8×8 пікселів аж до розміру деревовидного блока максимум з 64×64 пікселями або більше. Кожна CU може містити одну або більше PU і одну або більше TU. Дані синтаксису, асоційовані з CU, можуть описувати, наприклад, розбиття CU на одну або більше PU. Режими розбиття можуть відрізнятися залежно від того, чи кодується CU в режимі пропуску або безпосередньому режимі, чи кодується в режимі внутрішнього прогнозування або кодується в режимі зовнішнього прогнозування. PU можуть бути розбиті таким чином, щоб бути неквадратними за формою. Дані синтаксису, асоційовані з CU, також можуть описувати, наприклад, розбиття CU на одну або більше TU відповідно до квадродерева. TU може бути квадратною або неквадратною за формою. [0060] Стандарт HEVC забезпечує перетворення згідно з TU, які можуть бути різними для різних CU. Розмір TU, як правило, встановлюється на основі розміру PU в заданій CU, сформульованій для розбитої LCU, незважаючи на те, що це не завжди може мати місце. Як правило, TU мають точно такий же розмір або менше, ніж PU. У деяких прикладах, залишкові елементи дискретизації, відповідні CU, можуть бути поділені на менші одиниці, використовуючи 8 UA 114343 C2 5 10 15 20 25 30 35 40 45 50 55 структуру квадродерева, відому як "залишкове квадродерево" (RQT). Кінцеві вузли RQT можуть іменуватися одиницями перетворення (TU). Значення піксельної різниці, асоційовані з TU, можуть бути перетворені для створення коефіцієнтів перетворення, які можуть бути квантовані. [0061] Загалом, PU включає в себе дані, які стосуються процесу прогнозування. Наприклад, коли PU є закодованою у внутрішньому режимі (тобто закодованою з внутрішнім прогнозуванням), PU може включати в себе дані, що описують режим внутрішнього прогнозування для PU. Як інший приклад, коли PU є закодованою у зовнішньому режимі (тобто закодованою із зовнішнім прогнозуванням), PU може включати в себе дані, що формулюють вектор руху для PU. Дані, що формулюють вектор руху для PU, можуть описувати, наприклад, горизонтальну складову вектора руху, вертикальну складову вектора руху, розрізнення для вектора руху (наприклад, точність в одну четверту пікселя або точність в одну восьму пікселя), опорне зображення, на яке вказує вектор руху, і/або список опорних зображень (наприклад, RefPicList0 або RefPicList1) для вектора руху. [0062] Загалом, TU використовується для процесів перетворення і квантування. Задана CU з однією або більше PU також може включати в себе одну або більше одиниць перетворення (TU). Услід за прогнозуванням, кодер 20 відео може обчислювати залишкові значення, відповідні PU. Залишкові значення містять значення піксельної різниці, які можуть бути перетворені в коефіцієнти перетворення, квантовані і проскановані за допомогою TU для створення перетворених в послідовну форму коефіцієнтів перетворення для ентропійного кодування. Дане розкриття, як правило, використовує поняття "відеоблок" для звернення до вузла кодування CU. У деяких конкретних випадках, дане розкриття також може використовувати поняття "відеоблок" для звернення до деревовидного блока, тобто LCU або CU, що включає в себе вузол кодування і PU і TU. [0063] Відеопослідовність, як правило, включає в себе ряд відеокадрів або зображень. Група зображень (GOP), як правило, містить ряд з одного або більше відеозображень. GOP може включати в себе дані синтаксису в заголовку GOP, заголовку одного або більше зображень або де-небудь ще, які описують кількість зображень, включених в GOP. Кожний слайс зображення може включати в себе дані синтаксису слайсу, які описують режим кодування для відповідного слайсу. Кодер 20 відео, як правило, оперує над відеоблоками в індивідуальних відеослайсах для того, щоб закодувати відеодані. Відеоблок може відповідати вузлу кодування в CU. Відеоблоки можуть мати фіксовані або змінні розміри і можуть відрізнятися за розміром відповідно до вказаного стандарту кодування. [0064] Як приклад, HM підтримує прогнозування в різних розмірах PU. Передбачаючи, що розмір конкретної CU становить 2N×2N, HM підтримує внутрішнє прогнозування в розмірах PU, що дорівнюють 2N×2N або N×N, і зовнішнє прогнозування в симетричних розмірах PU, що дорівнюють 2N×2N, 2N×N, N×2N або N×N. HM також підтримує асиметричне розбиття для зовнішнього прогнозування в розмірах PU, що дорівнюють 2N×nU, 2N×nD, nL×2N, і nR×2N. При асиметричному розбитті, один напрямок CU не розбивається, тоді як інший напрямок розбивається на 25% і 75%. Ділянка CU, відповідна 25% ділянці, вказується за допомогою "n", за якою іде указання "Верх", "Низ", "Ліво" або "Право". Таким чином, наприклад, "2N×nU" належить до 2N×2N CU, яка розбивається горизонтально на 2N×0.5N PU зверху і 2N×1.5N PU знизу. [0065] У даному розкритті, позначення "N×N" і "N на N" можуть бути взаємозамінно використані, щоб стосуватися розмірності в пікселях відеоблока по вертикальній і горизонтальній розмірностях, наприклад 16×16 пікселів або 16 на 16 пікселів. Загалом, блок 16×16 буде мати 16 пікселів у вертикальному напрямку (у=16) і 16 пікселів в горизонтальному напрямку (х=16). Подібно, блок N×N, загалом, має N пікселів у вертикальному напрямку і N пікселів в горизонтальному напрямку, де N являє собою ненегативне цілочислове значення. Пікселі в блоці можуть бути скомпоновані в рядках і стовпцях. Більше того, блоки не обов'язково мають кількість пікселів в горизонтальному напрямку таку саму, як у вертикальному напрямку. Наприклад, блоки можуть містити N×M пікселів, де M не обов'язково дорівнює N. [0066] Услід за кодуванням з внутрішнім прогнозуванням або зовнішнім прогнозуванням за допомогою PU CU, кодер 20 відео може обчислювати залишкові дані для TU CU. PU можуть містити дані пікселя в просторовій області (також іменованій піксельною областю), а TU можуть містити коефіцієнти в області перетворення після застосування перетворення, наприклад дискретного косинусного перетворення (DCT), цілочислового перетворення, вейвлетперетворення або концептуально подібного перетворення, до залишкових відеоданих. Залишкові дані можуть відповідати піксельним різницям між пікселями незакодованого зображення і значеннями прогнозування, відповідними PU. Кодер 20 відео може формувати TU, 9 UA 114343 C2 5 10 15 20 25 30 35 40 45 50 55 60 що включають в себе залишкові дані для CU, і потім перетворювати TU для створення коефіцієнтів перетворення для CU. [0067] Услід за будь-якими перетвореннями для створення коефіцієнтів перетворення, кодер 20 відео може виконувати квантування коефіцієнтів перетворення. Квантування, загалом, належить до процесу, при якому коефіцієнти перетворення квантуються для можливого скорочення об'єму даних, використовуваних для представлення коефіцієнтів, забезпечуючи додаткове стиснення. Процес квантування може зменшувати бітову глибину, асоційовану з деякими або всіма з коефіцієнтів. Наприклад, n-бітове значення може бути округлене вниз до mбітового значення під час квантування, де n більше m. [0068] У деяких прикладах кодер 20 відео може використовувати попередньо сформульовану черговість сканування для сканування квантованих коефіцієнтів перетворення для створення перетвореного в послідовну форму вектора, який може бути ентропійно закодований. У інших прикладах, кодер 20 відео може виконувати адаптивне сканування або може вибирати сканування з множини можливих сканувань. Після сканування квантованих коефіцієнтів перетворення для формування одновимірного вектора, кодер 20 відео може ентропійно кодувати одновимірний вектор, наприклад, відповідно до контекстно-залежного адаптивного кодування із змінною довжиною (CAVLC), контекстно-залежного адаптивного бінарного арифметичного кодування (CABAC), основаного на синтаксисі контекстно-залежного адаптивного бінарного арифметичного кодування (SBAC), ентропійного кодування з розбиттям на інтервал імовірності (PIPE) або іншої методології ентропійного кодування. Кодер 20 відео також може ентропійно кодувати елементи синтаксису, асоційовані із закодованими відеоданими, для використання декодером 30 відео при декодуванні відеоданих. [0069] Для виконання CABAC, кодер 20 відео може надавати контекст в рамках моделі контексту символу, який буде переданий. Контекст може стосуватися, наприклад, того, чи є сусідні значення символу нульовими, чи ні. Для виконання CAVLC, кодер 20 відео може вибирати код змінної довжини для символу, який буде переданий. Кодові слова в VCL можуть бути сконструйовані таким чином, що відносно більш короткі коди відповідають більш імовірним символам, тоді як більш довгі коди відповідають менш імовірним символам. Таким чином, використання VLC може досягати економії бітів в порівнянні, наприклад, з використанням кодових слів рівної довжини для кожного символу, який буде переданий. Визначення імовірності може бути основане на контексті, наданому символу. [0070] Кодер 20 відео генерує відеодані, які формулюють спосіб, за допомогою якого зображення повинні бути відтворені декодером 30 відео, кодує відеодані (наприклад, генерує виведення) і виводить (наприклад, сигналізує) відеодані на декодер 30 відео в кодованому бітовому потоці. Декодер 30 відео приймає закодовані відеодані з кодованого бітового потоку, декодує відеодані і обробляє відеодані для відтворення зображень. Загалом, декодер 30 відео реалізовує протилежність методикам кодера 20 відео, реалізованим для кодування і генерування відеоданих. [0071] Наприклад, декодер 30 відео декодує відеодані, використовуючи методику, протилежну способу, за допомогою якого кодер 20 відео кодує відеодані. Також, декодер 30 відео декодує з внутрішнім прогнозуванням або декодує із зовнішнім прогнозуванням зображення для відтворення зображень. Наприклад, декодер 30 відео обробляє відеодані для визначення раніше декодованого зображення, яке використовується для декодування із зовнішнім прогнозуванням і для визначення залишку між раніше декодованим зображенням і поточним зображенням застосовно до декодування із зовнішнім прогнозуванням. Декодер 30 відео складає залишок з раніше декодованим зображенням для відтворення поточного зображення. Аналогічним чином, декодер 30 відео обробляє відеодані для визначення раніше декодованого блока в поточному зображенні і для визначення залишку між раніше декодованим блоком в поточному зображенні і поточним блоком в поточному зображенні застосовно до декодування з внутрішнім прогнозуванням. Декодер 30 відео складає залишок з раніше декодованим блоком для відтворення поточного блока поточного зображення. [0072] Таким чином, кодер 20 відео виводить відеодані, які декодер 30 відео використовує для відтворення зображень. У деяких прикладах, кодер 20 відео виводить відеодані в одиниці доступу. Одиниця доступу є концептуальною одиницею, яка включає в себе відеодані для одного або більше зображень в одному і тому ж екземплярі часу. Наприклад, при масштабованому кодуванні відео, кодер 20 відео генерує відеодані на декількох рівнях для зображення. У даному прикладі, одиниця доступу для зображення включає в себе відеодані для всіх з декількох шарів. [0073] Як інший приклад, при багатовидовому кодуванні відео, кодер 20 відео генерує відеодані для декількох видів, де кожний вид включає в себе декілька зображень. При 10 UA 114343 C2 5 10 15 20 25 30 35 40 45 50 55 багатовидовому кодуванні відео, одне зображення в кожному виді відображається в один і той же екземпляр часу. Наприклад, перше зображення в першому виді відображається в той же самий екземпляр часу, що і перше зображення у другому виді, перше зображення в третьому виді і т. д. В даному прикладі, одна одиниця доступу включає в себе відеодані для всіх зображень, які відображаються в один і той же екземпляр часу. У прикладах, в яких не використовується масштабоване кодування відео або багатовидове кодування відео, одна одиниця доступу включає в себе відеодані для одного зображення. [0074] Відповідно, загалом, декодування і обробка однієї одиниці доступу декодером 30 відео має результатом одне або більше зображень. Якщо декодування і обробка однієї одиниці доступу декодером відео має результатом одне зображення, тоді відеодані одиниці доступу можуть включати в себе інформацію для всіх шарів зображення, якщо використовується масштабоване кодування відео, або включати в себе інформацію тільки для одного рівня, якщо масштабоване кодування відео не використовується. Якщо декодування і обробка однієї одиниці доступу декодером 30 відео має результатом декілька зображень, відеодані одиниці доступу можуть включати в себе інформацію для всіх зображень в один і той же екземпляр часу застосовно до багатовидового кодування відео. [0075] Одиниця доступу включає в себе одну або більше одиниць декодування. Наприклад, як описано вище, одиниця доступу може включати в себе відеодані застосовно до всього зображення. Якщо не дозволена робота на рівні субзображення, тоді одиниця доступу включає в себе тільки одну одиницю декодування. Якщо дозволена робота на рівні субзображення, тоді одиниця доступу включає в себе одну або більше одиниць декодування. [0076] Наприклад, декодер 30 відео включає в себе буфер кодованих зображень (CPB) і буфер декодованих зображень (DPB). CPB зберігає відеодані, прийняті з кодованого бітового потоку, а DPB зберігає відтворені зображення. Як описано більш детально, кодер 20 відео генерує і виводить інформацію, яка описує поведінку CPB, таку як інформація, яка вказує на те, коли одиниці декодування або одиниці доступу повинні бути видалені з CPB. У деяких прикладах кодер 20 відео кодує і виводить елемент синтаксису (наприклад, прапор, іменований SubPicCpbFlag), який вказує на те, чи дозволена робота на рівні субзображення застосовно до одиниць доступу (наприклад, для кожної з одиниць декодування в одиниці доступу). [0077] Якщо декодер 30 відео визначає, що SubPicCpbFlag дорівнює 0, тоді декодер 30 відео може визначати, що робота одиниці доступу не дозволена на рівні субзображення, і також може визначати, що одиниця доступу включає в себе одну одиницю декодування. Іншими словами, коли SubPicCpbFlag дорівнює 0, одиниця декодування і одиниця доступу однакові. Якщо декодер 30 відео визначає, що SubPicCpbFlag дорівнює 1, тоді декодер 30 відео може визначати, що робота одиниці доступу дозволена на рівні субзображення, і також може визначати, що одиниця доступу включає в себе одну або більше одиниць декодування. [0078] Одиниця декодування включає в себе одну або більше одиниць рівня мережевої абстракції (NAL). Одиниця NAL є структурою синтаксису, яка містить указання типу відеоданих для проходження і байти, що містять ці відеодані. Приклади одиниці NAL включають в себе одиницю NAL рівня кодування відео (VCL) і одиницю NAL не-VCL. Як приклад, одиниці NAL VCL можуть включати в себе відеодані для слайсів в зображенні (наприклад, інформацію, таку як індекси списків опорних зображень, вектори руху, режими внутрішнього прогнозування і т. д., необхідну для прогнозування слайсів) або одиниці NAL конкретного типу одиниці NAL. Як приклад, одиниці NAL не-VCL можуть включати в себе відеодані, такі як інформацію набору параметрів (наприклад, набір параметрів зображення, набір параметрів послідовності і т. д.) або додаткову інформацію для сприяння кодуванню відео або декодуванню відео. [0079] У даному розкритті, одиниця декодування, що включає в себе одну або більше одиниць NAL, може вважатися як якби одна або більше одиниць NAL були асоційовані з або надані одиниці декодування. Іншими словами, одна або більше одиниць NAL, асоційованих з або наданих одиниці декодування, можуть вважатися як те ж саме, що і одиниця декодування, що включає в себе ці одну і більше одиниць NAL. [0080] Відповідно, методики, описувані в даному розкритті, можуть використовувати наступні поняття з нижченаведеними формулюваннями. [0081] Одиниця декодування. Одиниця доступу, коли SubPicCpbFlag дорівнює 0, або підмножина одиниці доступу, коли SubPicCpbFlag дорівнює 1, що складається з однієї або більше одиниць NAL VCL в одиниці доступу і асоційованих одиниць NAL не-VCL. [0082] Асоційована одиниця NAL не-VCL. Асоційована одиниця NAL не-VCL одиниці NAL VCL є однією з одиниць NAL не-VCL, для якої одиниця NAL VCL є їх асоційованою одиницею NAL VCL. Іншими словами, одиниця NAL не-VCL є асоційованою з одиницею NAL VCL, і ця 11 UA 114343 C2 5 10 15 20 25 30 35 40 45 одиниця NAL VCL може вважатися асоційованою з одиницею NAL не-VCL (наприклад, асоціація між одиницею NAL VCL і одиницею NAL не-VCL працює в обох напрямах). [0083] Асоційована одиниця NAL VCL. Найбільш остання попередня одиниця NAL VCL в черговості декодування для одиниць NAL не-VCL з nal_unit_type, що дорівнює UNSPEC0, EOS_NUT, EOB_NUT, FD_NUT, в діапазоні RSV_NVCL44..RSV_NVCL47 або в діапазоні UNSPEC48..UNSPEC63, або перша подальша одиниця NAL VCL в черговості декодування для одиниць NAL не-VCL з nal_unit_type, що дорівнює іншим значенням. [0084] Як описано вище, в деяких прикладах кодер 20 відео кодує і виводить одиниці NAL, які включають в себе додаткову інформацію для сприяння кодуванню відео або декодуванню відео. Дана додаткова інформація не є обов'язковою для кодера 20 відео і декодера 30 відео для відповідності вимогам стандарту кодування відео, такого як стандарт кодування відео HEVC. Відповідно, включення додаткової інформації є опціональним, але може бути переважним, якщо така інформація сприяє збільшенню ефективності кодування відео і декодування відео. [0085] Одним прикладом одиниць NAL, які включають в себе таку додаткову інформацію, є одиниці NAL інформації додаткового поліпшення (SEI). Використання одиниць NAL SEI дозволяє кодеру 20 відео включати такі метадані в кодований бітовий потік, які не потрібні для коректного декодування вихідних зображень, але які можуть бути використані для різних інших призначень, таких як для тактування виведення зображення, відображення, як, проте, і для виявлення втрати і приховання (наприклад, щоб сприяти кодуванню і декодуванню). Кодер 20 відео може бути виконаний з можливістю включення будь-якого числа одиниць NAL SEI в одиницю доступу, і кожна одиниця NAL SEI може включати в себе одне або більше повідомлень SEI. [0086] Стандарт HEVC включає в себе синтаксис і семантику для декількох повідомлень SEI, однак обробка повідомлень SEI не вказується, оскільки ці повідомлення SEI, загалом, не впливають на нормативний процес декодування. Однією з причин включення повідомлень SEI в стандарт HEVC є потреба в гарантії того, щоб різні типи декодерів відео (одним прикладом яких є декодер 30 відео) інтерпретували повідомлення SEI ідентично в різних системах, які відповідають стандарту HEVC. Відповідно, технічні описи або системи, які відповідають стандарту HEVC, можуть вимагати того, щоб кодери відео (такі як кодер 20 відео) генерували певні повідомлення SEI або могли формулювати конкретну обробку декодерами відео (такими як декодер 30 відео) конкретних типів прийнятих повідомлень SEI. [0087] Наступна Таблиця 1 перелічує повідомлення SEI, вказані в HEVC, і стисло описує їх призначення. Потрібно розуміти, що повідомлення SEI описуються відносно стандарту HEVC лише з метою ілюстрації. Інші стандарти кодування відео, включаючи власні стандарти кодування відео, можуть включати в себе повідомлення SEI, аналогічні або відмінні від тих, що описуються в Таблиці 1 або іншим чином описуються нижче. Крім того, навіть методики кодування відео, основані не на стандартах, можуть основуватися на повідомленнях SEI, подібних або відмінних від тих, що описуються в Таблиці 1 або іншим чином описуються нижче. Описувані в даному розкритті методики можуть бути застосовані у всіх таких випадках. [0088] Загалом, повідомлення SEI можуть бути розглянуті як формулюючі характеристики відеоданих. Наприклад, повідомлення SEI про період буферизації і тактування зображення формулюють характеристики відеоданих, такі як початкова затримка і час виведення зображення або час видалення зображення/субзображення. Як додаткові приклади, призначення повідомлень SEI в Таблиці 1 надає приклади характеристик відеоданих, які формулюються відповідними повідомленнями SEI. 12 UA 114343 C2 Таблиця 1 Повідомлення SEI Період буферизації Тактування зображення Прямокутник автопанорамування Корисне навантаження заповнювача Зареєстровані дані користувача Незареєстровані дані користувача Точка відновлення Інформація про сцену Моментальний знімок всього кадру Сегмент прогресивного уточнення Характеристики зернистості плівки Перевага відображення з фільтром усунення блоковості Огляд повідомлень SEI Призначення Початкові затримки для роботи гіпотетичного еталонного декодера (HRD) Час виведення зображення і час видалення зображення/субзображення для роботи HRD Відображення зі співвідношеннями сторін зображення (PAR), відмінними від PAR вихідних зображень Регулювання швидкості передачі бітів для задоволення конкретних обмежень Повідомлення SEI, які повинні вказуватися зовнішніми об'єктами Додаткова інформація для чистого довільного доступу. Поступова регенерація декодування Інформація про зміни і переходи сцени Указання для того, щоб помітити асоційоване декодоване зображення як нерухомий моментальний знімок відеоконтенту Вказує, що певні послідовні зображення являють собою прогресивне поліпшення якості зображення, а не рухому сцену Дозволяє декодеру синтезувати зернистість плівки Рекомендує, повинні чи ні відображувані зображення піддаватися процесу всередині петльового фільтра усунення блоковості Надає запропоновані коефіцієнти постфільтра або інформацію кореляції для виконання постфільтра Інформація про поєднання Перескладання карти для іншого колірного простору ніж те, що карт відтінків використовувалося або передбачалося при кодуванні Компонування Пакетування стереоскопічного відео в бітовому потоці HEVC пакетування кадру Вказує дзеркальне відображення і/або орієнтацію, які повинні бути Орієнтація відображення застосовані до вихідних зображень, коли вони відображаються Надає інформацію, яка стосується черезрядкового відеоконтенту і/або кодування поля, наприклад вказує на те, чи є зображення Указання поля прогресивним кадром, полем або кадром, що містить два почергових поля Хеш декодованого Контрольна сума декодованого зображення, яка може бути зображення використана для виявлення помилки Тактування Час видалення субзображення для роботи HRD субзображення Активні набори Надає інформацію відносно активного VPS, SPS і т. д. параметрів Описує часову структуру і структуру із зовнішнім прогнозуванням Опис структури зображень бітового потоку Указання постфільтра 5 10 [0089] У деяких прикладах кодер 20 відео може бути виконаний з можливістю обмеження того, де повідомлення SEI розташовуються в одиниці доступу. Наприклад, з числа повідомлень SEI, повідомлення SEI про тактування субзображення може іти, в черговості декодування, за першою одиницею NAL VCL в одиниці доступу, що містить повідомлення SEI, але не може іти, в черговості декодування, за останньою одиницею NAL VCL в одиниці доступу. Всі інші повідомлення SEI можуть передувати першій одиниці NAL VCL в одиниці доступу, коли nuh_reserved_zero_6bits дорівнює 0 для одиниці NAL SEI, що містить повідомлення SEI. [0090] Елемент синтаксису nuh_reserved_zero_6bits ідентифікує рівень при масштабованому кодуванні відео або вид при багатовидовому кодуванні відео. Наприклад, елемент синтаксису 13 UA 114343 C2 5 10 15 20 25 30 35 40 45 50 55 60 nuh_reserved_zero_6bits дорівнює 0 для базового рівня при масштабованому кодуванні відео або 0 для базового виду при багатовидовому кодуванні відео. Елемент синтаксису nuh_reserved_zero_6bits для інших шарів і видів є позитивним цілочисловим значенням для ідентифікації рівня або виду. У випадках, де масштабоване кодування відео або багатовидове кодування відео не використовується, nuh_reserved_zero_6bits передбачається рівним 0. [0091] Як указано в Таблиці 1, різні повідомлення SEI, такі як повідомлення SEI про період буферизації, повідомлення SEI про тактування зображення і повідомлення SEI про тактування субзображення, формулюють затримки і часи видалення в гіпотетичному еталонному декодері (HRD). HRD є моделлю, використовуваною для формулювання характеристик буфера кодованих зображень (CPB) і буфера декодованих зображень (DPB). Як описано вище, CPB зберігає відеодані з бітового потоку, такі як закодовані зображення, до декодування, а DPB зберігає декодовані відеодані, включені в декодовані зображення. [0092] Загалом, кожний стандарт кодування відео включає в себе технічний опис для моделі буферизації відео. У AVC і HEVC, модель буферизації іменується гіпотетичним еталонним декодером (HRD), який включає в себе модель буферизації як для буфера кодованих зображень (CPB), так і для буфера декодованих зображень (DPB), і поведінки CPB і DPB вказані математично. HRD може безпосередньо накладати обмеження на різне тактування, розміри буфера і швидкість передачі бітів і опосередковано накладати обмеження на характеристики і статистики бітового потоку. Повний набір параметрів HRD включає в себе п'ять основних параметрів: початкова затримка видалення з CPB, розмір CPB, швидкість передачі бітів, початкова затримка виведення DPB і розмір DPB. [0093] У AVC і HEVC, відповідність бітового потоку і відповідність декодера вказуються як частини технічного опису HRD. Потрібно розуміти, що незважаючи на те, що HRD помічений як тип декодера, HRD, як правило, потрібний на стороні кодера 20 відео, щоб гарантувати відповідність бітового потоку. HRD може не вимагатися на стороні декодера 30 відео. Наприклад, кодер 20 відео може сигналізувати інформацію тактування і інші характеристики CPB і DPB як повідомлення SEI, а декодер 30 відео може визначати тактування і характеристики CPB і DPB на основі сигналізованих повідомлень SEI. Наприклад, повідомлення SEI можуть вказувати два типи відповідності бітового потоку або HRD, а саме Тип I і Тип II. Також, повідомлення SEI можуть вказувати два типи відповідності декодера 30 відео: відповідність декодера по тактуванню виведення і відповідність декодера по черговості виведення. [0094] У описуваних в даному розкритті методиках, кодер 20 відео може вказувати на те, чи може CPB декодера 30 відео працювати або на рівні одиниці доступу, або на рівні субодиниці доступу (також іменований рівень субзображення). Як описано вище, кодер 20 відео кодує і виводить (наприклад, сигналізує) елемент синтаксису (наприклад, SubPicCpbFlag). Якщо значення SubPicCpbFlag дорівнює 0, тоді робота CPB на рівні субзображення не дозволена. Якщо значення SubPicCpbFlag дорівнює 1, тоді робота CPB на рівні субзображення дозволена. [0095] Повідомлення SEI можуть надавати інформацію, яка стосується одиниць декодування в одиниці доступу. Наприклад, повідомлення SEI про тактування зображення (повідомлення SEI PT) включає в себе елементи синтаксису num_nalus_in_du_minus1[i]. Елемент синтаксису num_nalus_in_du_minus1[i]+1 вказує кількість одиниць NAL в i-ій одиниці декодування. [0096] У деяких випадках, декодер 30 відео може використовувати інформацію з елементів синтаксису num_nalus_in_du_minus1[i], що виводиться кодером 20 відео, для визначення того, які одиниці NAL асоційовані з/надані яким одиницям декодування. Як ілюстративний приклад, передбачимо, що елементи синтаксису num_nalus_in_du_minus1[i] вказують на те, що перша одиниця декодування, одиниці доступу, асоційована з трьома одиницями NAL, друга одиниця декодування, одиниці доступу, асоційована з двома одиницями NAL, а третя одиниця декодування, одиниці доступу, асоційована з двома одиницями NAL. [0097] У даному прикладі, декодер 30 відео визначає те, які одиниці NAL асоційовані з якими одиницями декодування на основі черговості, в якій CPB приймає одиниці NAL. Наприклад, декодер 30 відео визначає, що перші три одиниці NAL, які приймає CPB, асоційовані з першою одиницею декодування, наступні дві одиниці NAL, які приймає CPB, асоційовані з другою одиницею декодування, і наступні дві одиниці NAL, які приймає CPB, асоційовані з третьою одиницею декодування. [0098] Проте, визначення декодером 30 відео того, які одиниці NAL асоційовані з якими одиницями декодування на основі елементів синтаксису, що вказують кількість одиниць NAL, які асоційовані з кожною одиницею декодування, не є стійким до помилок. У схильній до помилок або з втратами лінії зв'язку, одна або більше з одиниць NAL можуть бути втрачені. Наприклад, якщо лінія 16 зв'язку є схильною до помилок або з втратами, тоді одна або більше одиниць NAL 14 UA 114343 C2 5 10 15 20 25 30 35 40 45 50 55 60 можуть бути втрачені. Як інший приклад, якщо лінія зв'язку від інтерфейсу 22 виведення до пристрою 32 зберігання або лінія зв'язку від інтерфейсу 22 виведення до інтерфейсу 28 введення є схильною до помилок або з втратами, тоді одна або більше з одиниць NAL можуть бути втрачені. [0099] Коли одиниця NAL втрачена, декодер 30 відео може не мати можливості коректно визначити те, які одиниці NAL асоційовані з якими одиницями декодування, доти, поки не відомі точна позиція і кількість втрат послідовних одиниць NAL (що декодер 30 відео може не мати можливості визначити). Наприклад, передбачимо, що в попередньому прикладі втрачена друга одиниця NAL. У цьому випадку, декодер 30 відео визначає, що перші три прийняті одиниці NAL належать до першої одиниці декодування, оскільки елемент синтаксису num_nalus_in_du_minus1[i] вказує на те, що перша одиниця декодування включає в себе три одиниці NAL. Проте, кодер 20 відео асоціював третю прийняту одиницю NAL, в цьому випадку, з другою одиницею декодування (знову друга одиниця NAL втрачена). Внаслідок цього, декодер 30 відео некоректно асоціює третю прийняту одиницю NAL з першою одиницею декодування, коли декодер 30 відео повинен асоціювати третю прийняту одиницю NAL з другою одиницею декодування. [0100] У деяких прикладах на доповнення до або замість елементів синтаксису num_nalus_in_du_minus1[i], декодер 30 відео може визначати те, які одиниці NAL асоційовані з якими одиницями декодування, на основі позицій повідомлень SEI. Як один приклад, кодер 20 відео може використовувати позиції повідомлень SEI про тактування субзображення (SPT), в одиниці доступу, для указання того, які одиниці NAL асоційовані з якими одиницями декодування, а декодер 30 відео може використовувати позиції повідомлення SEI про тактування субзображення SPT, в одиниці доступу, для визначення того, які одиниці NAL асоційовані з якими одиницями декодування. [0101] Наприклад, повідомлення SEI SPT є частиною одиниці NAL SEI, яка асоційована з одиницею декодування. Повідомлення SEI SPT може надавати інформацію, що вказує на те, коли одиниця декодування повинна бути видалена з CPB. У деяких прикладах всі одиниці NAL, що ідуть за одиницею NAL SEI, які не включають в себе повідомлення SEI SPT до наступного повідомлення SEI SPT, вважаються асоційованими з одиницею декодування. Іншими словами, одиниці NAL, розташовані між першим повідомленням SEI SPT і другим повідомленням SEI SPT, і одиниця NAL SEI, яка включає в себе перше повідомлення SEI SPT, всі вважаються асоційованими з одиницею декодування. [0102] Таким чином, після того як CPB декодера 30 відео приймає першу одиницю NAL SEI з першим повідомленням SEI SPT, декодер 30 відео може визначати, що перша одиниця NAL SEI і всі одиниці NAL до наступної одиниці NAL SEI з наступним повідомленням SEI SPT (тобто другої одиниці NAL SEI з другим повідомленням SEI SPT) асоційовані з першою одиницею декодування. Декодер 30 відео також може визначати, що друга одиниця NAL SEI і всі одиниці NAL до наступної одиниці NAL SEI з наступним повідомленням SEI SPT (тобто третьої одиниці NAL SEI з третім повідомленням SEI SPT) асоційовані з другою одиницею декодування і т. д. [0103] У деяких випадках, підхід, при якому покладаються на позиції повідомлень SEI SPT для визначення того, які одиниці NAL асоційовані з якими одиницями декодування, також може бути нестійким до помилок. Як один приклад, оскільки позиції повідомлення SEI SPT формулюють те, які одиниці NAL асоційовані з одиницею декодування, повідомлення SEI SPT не може бути повторене в одиниці декодування (тобто після одиниці NAL, безпосередньо наступної за повідомленням SEI SPT і перед останньою NAL в одиниці декодування, в черговості декодування). Наприклад, передбачимо, що одиниця декодування включає в себе чотири одиниці NAL. У даному прикладі, перше повідомлення SEI SPT буде передувати чотирьом одиницям NAL, а друге повідомлення SEI SPT буде іти за чотирма одиницями NAL. Якщо повідомлення SEI SPT було вставлене між двома повідомленнями SEI SPT, тоді декодер 30 відео буде некоректно визначати те, що перші дві одиниці NAL належать до першої одиниці декодування, а другі дві одиниці NAL належать до другої, іншої одиниці декодування. [0104] Проте, може бути корисним включати одну або більше копій повідомлення SEI SPT в одиницю декодування з тим, щоб необхідні відеодані могли бути відновлені з однієї з копій, якщо інша втрачена. Як описано вище, повідомлення SEI SPT може включати в себе інформацію, що вказує на те, коли одиниця декодування повинна бути видалена з CBP. Наприклад, в схильному до помилок або з втратами середовищі, повідомлення SEI SPT може бути втрачене, і інформація в повідомленні SEI SPT, яка вказує на те, коли повинна бути видалена одиниця декодування, може бути втрачена. [0105] Наприклад, як описано вище, одиниця доступу включає в себе відеодані для зображення, а одиниця декодування є підмножиною одиниці доступу (передбачаючи 15 UA 114343 C2 5 10 15 20 25 30 35 40 45 50 55 60 SubPicCpbFlag, що дорівнює 1). Відповідно, одиниця декодування може, в деяких прикладах, включати в себе відеодані для одного або більше слайсів зображення (тобто субділянок зображення). Пристрій-джерело 12 може виводити один або більше слайсів одиниці декодування в пакети (наприклад, пакети транспортного протоколу в реальному часі (RTP)). Якщо пакет, який включає в себе повідомлення SEI SPT, втрачений, декодер 30 відео може не мати можливості точно визначати інформацію тактування субзображення для інших пакетів одиниці декодування (наприклад, час видалення з CPB). [0106] Якщо кожний пакет повинен був включати повідомлення SEI SPT, тоді втрата одного пакета не буде впливати на процес декодування, оскільки декодер 30 відео може визначити інформацію тактування субзображення повідомлення SEI SPT з копії повідомлення SEI SPT в іншому одному з пакетів. Проте, в деяких інших методиках, повідомлення SEI SPT не може бути повторене оскільки декодер 30 відео використовує позицію повідомлення SEI для визначення того, які одиниці NAL були асоційовані з якими одиницями декодування. Іншими словами, заборона на повтор повідомлення SEI SPT в одиницях декодування має результатом менш стійку до помилок схему для визначення того, які одиниці NAL асоційовані з якими одиницями декодування. У деяких прикладах, методики розкриття можуть знімати заборони на повтор повідомлень SEI SPT в одиницях декодування. [0107] Як більш детально описується нижче, дане розкриття описує приклади методик, які дозволяють декодеру 30 відео визначати те, які одиниці NAL асоційовані з якими одиницями декодування, стійким до помилок способом. Наприклад, кодер 20 відео може генерувати для виведення і виводити ідентифікатор для одиниць декодування. Декодер 30 відео може використовувати даний ідентифікатор для визначення того, які одиниці NAL асоційовані з якими одиницями декодування, замість того, щоб покладатися на інформацію, що вказує кількість одиниць NAL, асоційованих з одиницею декодування, і черговість, в якій приймаються одиниці NAL, або замість того, щоб покладатися на позицію повідомлення SEI SPT. Виведення і прийом ідентифікатора одиниці декодування також може забезпечити декілька копій повідомлення SEI SPT, що додатково збільшує стійкість до помилок здатності декодера 30 відео по визначенню проміжків часу видалення одиниць декодування з CPB. [0108] Вищенаведене описує приклад, де не дозволений повтор повідомлення SEI SPT в одиниці декодування. У деяких випадках, так само може бути заборонений повтор різних інших типів повідомлень SEI в одиниці декодування. Наприклад, відносно будь-якого повідомлення SEI, яке не є повідомленням SEI SPT і для якого nuh_reserved_zero_6bits для одиниці NAL SEI, яка включає в себе повідомлення SEI, дорівнює 0, може бути не дозволений повтор в одиниці доступу, яка включає в себе повідомлення SEI після першої одиниці NAL VCL і перед останньою одиницею NAL в черговості декодування. [0109] Наприклад, в деяких інших методиках, повідомлення SEI використовуються для визначення того, що декодер 30 відео обробляє нову одиницю доступу. Іншими словами, місцеположення повідомлення SEI в кодованому бітовому потоці вказує на початок одиниці доступу. Якщо повідомлення SEI повторюється в одиниці доступу, тоді декодер 30 відео може неправильно визначати те, що обробляється нова одиниця доступу. Оскільки повідомлення SEI вказують нову одиницю доступу, копії повідомлень SEI можуть бути заборонені в цих інших методиках. [0110] Аналогічно вищенаведеному, якщо одиниця доступу включає в себе декілька слайсів, які передаються в схильному до помилок середовищі, може бути корисним включати копії повідомлень SEI в кожний пакет з тим, щоб, якщо пакет втрачений, повідомлення SEI могли бути відновлені з одного або більше інших пакетів одиниці доступу. Як описується більш детально, методики, описувані в даному розкритті, можуть дозволяти повтор декількох копій різних повідомлень SEI в одиниці доступу. [0111] Наприклад, декодеру 30 відео не потрібно покладатися на повідомлення SEI для визначення того, що обробляється нова одиниця доступу. Переважніше, декодер 30 відео може покладатися на деяку іншу інформацію заголовка для визначення того, коли обробляється нова одиниця доступу. Оскільки існування повідомлення SEI відділене від указання того, що обробляється нова одиниця доступу, кодер 20 відео може включати декілька копій повідомлення SEI в одиницю доступу, а декодер 30 відео може обробляти декілька копій повідомлень SEI в одній і тій же одиниці доступу, без визначення того, що обробляється нова одиниця доступу. [0112] У описуваних в даному розкритті методиках, кодер 20 відео може сигналізувати ідентифікатор в кожній одиниці декодування (іменований ідентифікатором одиниці декодування, ідентифікатором DU або ID DU). Ідентифікатор DU може бути ідентифікатором, який унікально ідентифікує одиницю декодування. Наприклад, ідентифікатор DU для першої одиниці 16 UA 114343 C2 5 10 15 20 25 30 35 40 45 50 55 60 декодування, в черговості декодування, в одиниці доступу може дорівнювати 0, ідентифікатор DU для другої одиниці декодування, в черговості декодування, в одиниці доступу може дорівнювати 1 і так далі (тобто ідентифікатор DU для першої одиниці декодування дорівнює 0 і значення ідентифікатора DU збільшується на одиницю для кожної подальшої одиниці декодування). Можливі інші способи унікальної ідентифікації одиниць декодування за допомогою ідентифікаторів одиниць декодування, і методики не повинні розглядатися як обмежені зростаючими ідентифікаторами DU для кожної одиниці декодування в черговості декодування. [0113] Можуть існувати різні способи, за допомогою яких кодер 20 відео сигналізує ідентифікатор DU. Наприклад, кодер 20 відео може сигналізувати ідентифікатор DU в заголовку слайсу слайсу одиниці декодування і/або в повідомленні SEI (наприклад, повідомленні SEI SPT) або будь-яким іншим способом. У цьому випадку, асоціація одиниць NAL з одиницями декодування основана на сигналізованих ідентифікаторах DU. Так само може існувати можливість включення ідентифікатора DU в інше місцеположення, таке як заголовок одиниці NAL. [0114] Якщо одиниця NAL належить до одного або більше слайсів, декодер 30 відео може визначати, з якою одиницею декодування асоційована одиниця NAL з ідентифікатора DU в заголовку слайсу. Відповідно, навіть якщо присутні втрати в одиницях NAL, декодер 30 відео може мати можливість визначення того, яка одиниця NAL асоційована з якою одиницею декодування на основі ідентифікатора DU. [0115] У прикладах, де повідомлення SEI включає в себе ідентифікатор DU, може існувати можливість того, що повідомлення SEI (наприклад, повідомлення SEI SPT) втрачене, і в цьому випадку може бути втрачений ідентифікатор DU. У деяких прикладах, кодер 20 відео може включати копії повідомлення SEI SPT в одиницю декодування для мінімізації шансів того, що ідентифікатор DU втрачений. Наприклад, як описується вище, в деяких випадках позиція повідомлення SEI SPT в одиниці декодування може вказувати на те, які одиниці NAL асоційовані з одиницями декодування, що означає, що не може бути декілька копій повідомлень SEI SPT. У описуваних в даному розкритті методиках, декодер 30 відео може використовувати ідентифікатор DU для визначення того, які одиниці NAL асоційовані з якими одиницями декодування. Відповідно, декодеру 30 відео не потрібно покладатися на позицію повідомлень SEI SPT для визначення того, які одиниці NAL асоційовані з якими одиницями декодування. Це дозволяє кодеру 20 відео включати декілька копій повідомлення SEI SPT в одиницю декодування в кодованому бітовому потоці, що в свою чергу зменшує імовірність того, що ідентифікатор DU буде втрачений, якщо кожна копія повідомлення SEI SPT включає в себе ідентифікатор DU. [0116] Як описано вище, в деяких прикладах, повідомленням SEI не дозволено іти за першою одиницею NAL VCL в черговості декодування, в одиниці доступу, що містить повідомлення SEI. У деяких прикладах, кодер 20 відео може дозволяти всім повідомленням SEI іти за першою одиницею NAL VCL в черговості декодування, в одиниці доступу, що містить повідомлення SEI. Проте, повідомлення SEI не може бути позиціоноване після останньої одиниці NAL VCL, в черговості декодування, в одиниці доступу. [0117] Як один приклад, кодер 20 відео може включати повідомлення SEI перед першою одиницею NAL VCL в черговості декодування. Кодер 20 відео може включати копію повідомлення SEI після першої одиниці NAL VCL в черговості декодування в одиницю доступу. У даному прикладі, кодер 20 відео не повинен включати копію повідомлення SEI після останньої одиниці NAL VCL в черговості декодування в одиницю доступу. [0118] У прикладах, де кодер 20 відео дозволяє повтор різних типів повідомлень SEI в одиниці декодування або одиниці доступу, кодер 20 відео може вказувати додаткову інформацію, що стосується повідомлень SEI. Як один приклад, кодер 20 відео може вказувати об'єм застосування, до якого застосовується інформація, що переноситься в повідомленні SEI. Як інший приклад, кодер 20 відео може вказувати, де повідомлення SEI може бути присутнім в одиниці доступу і/або одиниці декодування. Як ще один інший приклад, кодер 20 відео може встановлювати обмеження на вміст декількох екземплярів конкретних типів повідомлень SEI. [0119] Декодер 30 відео використовує таку інформацію застосовно до повідомлень SEI для декодування даних в одиницях NAL. У деяких прикладах, декодер 30 відео може бути попередньо сконфігурований за допомогою інформації повідомлень SEI, такої як інформація, що вказує обмеження на вміст декількох екземплярів конкретних типів повідомлень SEI, або попередньо сконфігурований за допомогою інформації про те, де повідомлення SEI можуть бути розташовані в одиниці доступу і/або одиниці декодування. У цих випадках, для кодера 20 відео може бути відсутня необхідність в указанні того, де повідомлення SEI може бути 17 UA 114343 C2 5 10 15 20 25 30 35 40 45 присутнім, або сигналізації інформації, що вказує на які-небудь обмеження відносно вмісту декількох екземплярів конкретних типів повідомлень SEI. [0120] Як описано вище, одиниця доступу включає в себе відеодані для щонайменше одного зображення. У деяких прикладах, одиниця доступу може включати в себе відеодані для декількох шарів, і кодер 20 відео може кодувати бітовий відеопотік з декількома рівнями, як, наприклад, при багаторівневому розширенні стандарту високоефективного кодування відео (HEVC). [0121] Декілька шарів включають в себе базовий рівень і один або більше небазових рівнів. У деяких прикладах базовий рівень може включати в себе відеодані для створення зображення, а небазовий рівень може бути рівнем просторового або якісного поліпшення, який включає в себе відеодані для поліпшення якості зображення в базовому шарі. У деяких прикладах, як наприклад для багатовидового кодування відео, базовий рівень може включати в себе відеодані для зображень конкретного виду (наприклад, базового виду, для якого не потрібний якийнебудь інший вид зовнішнього прогнозування), а небазовий рівень може включати в себе текстуру іншого виду, глибину іншого виду і інші такі приклади. [0122] У методиках, описуваних в даному розкритті, кодер 20 відео може транспортувати різні рівні в різних каналах (наприклад, використовуючи багатосеансову передачу (MST), аналогічну сформульованій в документі IETF RFC 6190 (публічно доступний за адресою http://tools.ietf.org/rfc/rfc6190.txt)). Методики, описувані в даному розкритті, є розширюваними до прикладів, в яких багатосеансова передача використовується для кодування декількох шарів. Наприклад, методики, описані в даному розкритті застосовно до включення повідомлення SEI після першої одиниці NAL VCL в одиниці доступу, також застосовні до прикладів багатосеансової передачі. Як один приклад, кодер 20 відео може включати одиниці NAL SEI між двома послідовними одиницями NAL VCL в одиниці доступу без необхідності переміщення одиниць NAL SEI перед першою одиницею NAL VCL одиниці доступу. [0123] Оскільки одиниця NAL SEI включає в себе повідомлення SEI застосовно до методик багатосеансової передачі, декодер 30 відео може мати можливість реалізації процесу депакетизації більш простим чином. Наприклад, декодер 30 відео може мати можливість декодування повідомлень SEI застосовно до методик багатосеансової передачі з одиниці доступу, замість всього з початку одиниці доступу. Оскільки декілька копій повідомлення SEI доступні протягом всієї одиниці доступу, декодер 30 відео може мати можливість депакетизації прийнятих пакетів більш ефективним чином. [0124] Методики даного розкриття можуть бути застосовані спільно одна з одною або окремо. Наприклад, якщо кодер 20 відео включає ідентифікатор DU, тоді кодер 20 відео не обов'язково повинен включати декілька копій повідомлення SEI SPT у всіх прикладах, але може включати декілька копій повідомлення SEI SPT в деяких прикладах. Як інший приклад, кодер 20 відео може включати декілька копій різних типів повідомлень SEI, навіть якщо кодер 20 відео не включає ідентифікатори DU. Як ще один інший приклад, в прикладах, де кодер 20 відео включає ідентифікатори DU, кодер 20 відео не обов'язково повинен включати декілька копій повідомлень SEI, відмінних від повідомлення SEI SPT. Загалом, методики, описувані в даному розкритті, можуть бути переважними при забезпеченні стійких до помилок схем для схильного до помилок середовища, в якому інформація може бути втрачена при сигналізації. [0125] Як описано вище, в одному прикладі, кодер 20 відео включає ідентифікатор DU в заголовок слайсу. Таблиця 2 нижче надає приклад псевдокоду для способу, за допомогою якого кодер 20 відео може включати ідентифікатор DU в заголовок слайсу, і способу, за допомогою якого декодер 30 відео може аналізувати заголовок слайсу для визначення ідентифікатора DU. 18 UA 114343 C2 5 10 15 20 25 30 35 [0126] У даному прикладі, decoding_unit_id належить до ідентифікатора DU і вказує ідентифікатор одиниці декодування до якої належить слайс. Значення decoding_unit_id може знаходиться в діапазоні від 0 до PicSizeInCtbsY-1, включно. PicSizeInCtbsY може вказувати кількість одиниць дерева кодування (CTU) в зображенні, яка дорівнює кількості деревовидних блоків кодування (CTB) в складовій яскравості зображення. [0127] У прикладі, де кодер 20 відео включає ідентифікатор одиниці декодування в заголовок слайсу, одиниця декодування, що ідентифікується конкретним значенням ідентифікатора DU (наприклад, ID DU або duID), може включати в себе і може тільки включати в себе всі кодовані одиниці NAL слайсів з decoding_unit_id, що дорівнює ідентифікатору DU, і їх асоційовані одиниці NAL не-VCL в одиниці доступу. У одній одиниці доступу, для будь-яких двох одиниць декодування (наприклад, одиниці А декодування і одиниці В декодування) з decoding_unit_id, що дорівнює duIDa і duIDb, відповідно, де duIDa менше duIDb, одиниця А декодування може передувати одиниці В декодування в черговості декодування. Іншими словами, одиниця декодування з меншим ідентифікатором DU передує одиниці декодування з більшим ідентифікатором DU в черговості декодування. Більше того, одиниця NAL однієї одиниці декодування не може знаходитися, в черговості декодування, між двома одиницями NAL іншої одиниці декодування. Іншими словами, у вищенаведеному прикладі, одиниці NAL для одиниці декодування є суміжними. [0128] Як описано вище, в деяких прикладах кодер 20 відео може включати ідентифікатор DU в повідомлення SEI (наприклад, повідомлення SEI SPT), і повідомлення SEI SPT включає в себе інформацію, яка вказує на те, коли одиниця декодування повинна бути видалена. Нижченаведене описує деякі зразкові методики, за допомогою яких кодер 20 відео включає ідентифікатор DU в повідомлення SEI. Щоб уникнути плутанини, в нижченаведеному ім'я повідомлення SEI про тактування субзображення (SPT) змінене на повідомлення SEI інформації одиниці декодування. Іншими словами, в деяких прикладах, кодер 20 відео виводить, а декодер 30 відео приймає ідентифікатор DU в повідомленні SEI, яке також включає в себе інформацію, що вказує час видалення одиниці декодування з CPB. [0129] Таблиця 3 нижче надає приклад псевдокоду для способу, за допомогою якого кодер 20 відео може включати ідентифікатор DU в повідомлення SEI, і способу, за допомогою якого декодер 30 відео може аналізувати повідомлення SEI для визначення ідентифікатора DU. У нижченаведеному, ім'я повідомлення SEI про тактування субзображення (SPT) змінене на повідомлення SEI інформації одиниці декодування, а синтаксис і семантика можуть бути наступними. Інші частини точно такі ж, як в HEVC WD8, при цьому "повідомлення SEI про тактування субзображення" замінене на "повідомлення SEI інформації одиниці декодування". Повідомлення SEI інформації одиниці декодування може надавати час видалення з CPB (наприклад, інформацію про затримку видалення з CPB) для одиниці декодування, асоційованої з повідомленням SEI. 40 19 UA 114343 C2 5 10 15 20 25 30 35 40 45 50 [0130] У HEVC WD8, повідомлення SEI про тактування субзображення (SPT) може бути аналогічним Таблиці 3. Проте, повідомлення SEI SPT в HEVC WD8 не включає в себе елемент синтаксису decoding_unit_id, а включає в себе тільки елемент синтаксису du_cpb_removal_delay. У деяких із зразкових методик, описуваних в даному розкритті, оскільки повідомлення SEI також включає в себе decoding_unit_id, повідомлення SEI SPT перейменоване в повідомлення SEI інформації одиниці декодування. [0131] У деяких прикладах кодер 20 відео генерує для виведення і виводить елементи синтаксису, а декодер 30 відео приймає елементи синтаксису, які вказують на присутність повідомлення SEI інформації одиниці декодування в бітовому потоці. Як один приклад, кодер 20 відео виводить CpbDpbDelaysPresentFlag і sub_pic_cpb_params_present_flag. Якщо CpbDpbDelaysPresentFlag дорівнює 1 і sub_pic_cpb_params_present_flag дорівнює 1, декодер 30 відео може визначати, що одне або більше ніж одне повідомлення SEI інформації одиниці декодування присутнє в кожній одиниці декодування в кодованій відеопослідовності (тобто одне або більше повідомлень SEI інформації одиниці декодування). Якщо CpbDpbDelaysPresentFlag дорівнює 0 або sub_pic_cpb_params_present_flag дорівнює 0, декодер 30 відео може визначати, що не присутні повідомлення SEI інформації одиниці декодування ні в одній одиниці доступу кодованої відеопослідовності. [0132] Відповідно до одного або більше прикладів, описуваних в даному розкритті, одиниці NAL, до яких застосовується повідомлення SEI інформації одиниці декодування, також іменовані одиницями NAL, асоційованими з повідомленням SEI інформації одиниці декодування, складаються, в черговості декодування, з одиниці NAL SEI, що містить повідомлення SEI інформації одиниці декодування, і всіх подальших одиниць NAL в одиниці доступу аж до, але не включаючи, будь-якої подальшої одиниці NAL SEI, що містить повідомлення SEI інформації одиниці декодування з іншим значенням decoding_unit_id. У цих прикладах, формулювання decoding_unit_id може бути точно таким же, як формулювання decoding_unit_id, описане вище відносно Таблиці 2, але включеного в повідомлення SEI (наприклад, повідомлення SEI інформації одиниці декодування). Наприклад, одиниця декодування, що ідентифікується конкретним значенням ідентифікатора DU (наприклад, ID DU або duID), може включати в себе і може тільки включати в себе всі одиниці NAL, асоційовані зі всіма повідомленнями SEI інформації одиниці декодування з decoding_unit_id, що дорівнює ідентифікатору DU в одиниці доступу. Як і вище, одиниця декодування з меншим ідентифікатором одиниці декодування знаходиться раніше в черговості декодування, ніж одиниця декодування з більшим ідентифікатором одиниці декодування. Як і вище, одиниця NAL однієї одиниці декодування не може знаходитися, в черговості декодування, між двома одиницями NAL іншої одиниці декодування. [0133] du_cpb_removal_delay може вказувати на те, як багато тактів синхронізації субзображення повинен очікувати декодер 30 відео після видалення з CPB першої одиниці декодування в одиниці доступу, асоційованій з найбільш останнім повідомленням SEI про період буферизації в попередній одиниці доступу, перед тим як декодер 30 відео видаляє з CPB одиницю декодування, асоційовану з повідомленням SEI інформації одиниці декодування. Дане значення також може бути використане для обчислення найбільш раннього можливого часу надходження даних одиниці декодування в CPB для гіпотетичного планувальника потоку (HSS), як вказано в Додатку С HEVC WD 8. [0134] Елемент синтаксису може бути представлений за допомогою коду фіксованої довжини, довжина якого в бітах задається за допомогою cpb_removal_delay_length_minus1+1. (cpb_removal_delay_length_minus1+1) du_cpb_removal_delay може бути залишком лічильника по модулю 2 . [0135] У деяких прикладах значення cpb_removal_delay_length_minus1, яке визначає довжину (в бітах) елемента синтаксису du_cpb_removal_delay, може бути значенням cpb_removal_delay_length_minus1, кодованим в наборі параметрів послідовності, який активний для кодованого зображення, асоційованого з повідомленням SEI інформації одиниці декодування. Проте, du_cpb_removal_delay вказує кількість тактів синхронізації субзображення відносно часу видалення першої одиниці декодування в попередній одиниці доступу, що містить 20 UA 114343 C2 5 10 15 20 25 30 35 40 45 50 повідомлення SEI про період буферизації, яка може бути одиницею доступу іншої кодованої відеопослідовності. [0136] Таблиця 3 надавала зразковий псевдокод для одного прикладу повідомлення SEI інформації одиниці декодування, в якій ім'я повідомлення SEI SPT було змінене на повідомлення SEI інформації одиниці декодування, оскільки повідомлення SEI інформації одиниці декодування включало інформацію, яка раніше була частиною повідомлення SEI SPT, і додатково включало ідентифікатор DU для одиниці декодування, асоційованої з повідомленням. У деяких прикладах, потенційно можуть існувати інші модифікації відносно повідомлення SEI про тактування субзображення (SPT). [0137] Наприклад, Попередня Заявка США № 61/705,119 (далі заявка ‘119), подана 24 вересня 2012 р., і Попередня Заявка США № 61/708,475 (далі заявка ‘475), подана 01 жовтня 2012 р., які у всій своїй повноті включені в даний опис за допомогою посилання, описують деякі можливі модифікації повідомлення SEI SPT відносно повідомлення SEI SPT, описуваного в HEVC WD8. Заявка ‘119 і заявка ‘475 описують включення структури синтаксису робочих точок застосування в повідомлення SEI SPT і зміну елемента синтаксису du_cpb_removal_delay на du_spt_cpb_removal_delay, який формулюється нижче. [0138] Методики, описувані в даному розкриття, також застосовні до прикладів, де повідомлення SEI SPT змінене відносно представленого в HEVC WD8 на повідомлення SEI SPT в заявці ‘119 і заявці ‘475. Таблиця 4 нижче надає зразковий псевдокод для способу, за допомогою якого кодер 20 відео може сигналізувати ідентифікатор DU в альтернативному прикладі повідомлення SEI, і спосіб, за допомогою якого декодер 30 відео може аналізувати повідомлення SEI для визначення ідентифікатора DU. Як і в Таблиці 3, щоб уникнути плутанини, ім'я повідомлення SEI SPT змінене на повідомлення SEI інформації одиниці декодування, оскільки повідомлення SEI інформації одиниці декодування включає в себе ідентифікатор DU на доповнення до інформації в повідомленні SEI SPT, як описується в заявці ‘119 і заявці ‘475. [0139] sub_pic_cpb_params_in_pic_timing_sei_flag, що дорівнює 1, вказує на те, що параметри затримки видалення з CPB рівня субзображення присутні в повідомленнях SEI про тактування зображення і не присутнє повідомлення SEI про тактування субзображення. sub_pic_cpb_params_in_pic_timing_sei_flag, що дорівнює 0, вказує на те, що параметри затримки видалення з CPB рівня субзображення присутні в повідомленнях SEI про тактування субзображення і повідомлення SEI про тактування зображення не включають в себе параметри затримки видалення з CPB рівня субзображення. [0140] Як і вище відносно Таблиці 3, повідомлення SEI інформації одиниці декодування надає інформацію затримки видалення з CPB для одиниці декодування, асоційованої з повідомленням SEI. Нижченаведене може застосовуватися до синтаксису і семантики повідомлення SEI інформації одиниці декодування. [0141] Елементи синтаксису sub_pic_cpb_params_present_flag, sub_pic_cpb_params_in_pic_timing_sei_flag і cpb_removal_delay_length_minus1 і змінна CpbDpbDelaysPresentFlag можуть бути знайдені або виведені з елементів синтаксису, що знаходяться в структурі синтаксису hrd_parameters() і структурі синтаксису sub_layer_hdr_parameters(), які застосовуються до будь-якої з робочих точок, до яких застосовується повідомлення SEI інформації одиниці декодування. Бітовий потік (або його частина) належить до підмножини бітового потоку (або його частини), асоційованої з будь-якою з робочих точок, до яких застосовується повідомлення SEI інформації одиниці декодування. [0142] Подібно вищенаведеному відносно Таблиці 3, кодер 20 відео виводить CpbDpbDelaysPresentFlag і sub_pic_cpb_params_present_flag, які декодер 30 відео використовує для визначення присутності повідомлення SEI інформації одиниці декодування в бітовому 21 UA 114343 C2 5 10 15 20 25 30 35 40 45 50 55 60 потоці. У прикладі Таблиці 4, якщо CpbDpbDelaysPresentFlag дорівнює 1 і sub_pic_cpb_params_present_flag дорівнює 1, декодер 30 відео може визначати, що одне повідомлення SEI інформації одиниці декодування, застосовне до конкретних робочих точок, присутнє в кожній одиниці декодування в кодованій відеопослідовності. У іншому випадку (наприклад, або CpbDpbDelaysPresentFlag дорівнює 0, або sub_pic_cpb_params_present_flag дорівнює 0), декодер 30 відео може визначати, що не присутні повідомлення SEI інформації одиниці декодування, застосовні до конкретних робочих точок, в кодованій відеопослідовності. [0143] Подібно опису відносно Таблиці 3, одиниці NAL, до яких застосовується повідомлення SEI інформації одиниці декодування, також іменовані одиницями NAL, асоційованими з повідомленням SEI інформації одиниці декодування, складаються, в черговості декодування, з одиниці NAL SEI, що містить повідомлення SEI інформації одиниці декодування, і всіх подальших одиниць NAL в одиниці доступу аж до, але не включаючи, будь-якої подальшої одиниці NAL SEI, що містить повідомлення SEI інформації одиниці декодування з іншим значенням decoding_unit_id. Формулювання decoding_unit_id може бути точно таким же, як те, що описується вище відносно Таблиці 3, і одиниця декодування з меншим ідентифікатором DU знаходиться раніше в черговості декодування, ніж одиниця декодування з більшим ідентифікатором DU. У прикладі Таблиці 4, du_spt_cpb_removal_delay може вказувати тривалість, в одиницях тактів синхронізації субзображення (дивись підпункт E.2.1 HEVC WD8), між видаленням з CPB останньої одиниці декодування в черговості декодування в поточній одиниці доступу, що містить повідомлення SEI інформації одиниці декодування, і одиницею декодування, асоційованою з повідомленням SEI інформації одиниці декодування. Дане значення також може бути використане для обчислення найбільш раннього можливого часу надходження даних одиниці декодування в CPB для гіпотетичного планувальника потоку (HSS), як вказано в Додатку С HEVC WD 8. Елемент синтаксису може бути представлений кодом фіксованої довжини, довжина якого в бітах задається du_cpb_removal_delay_length_minus1+1. Коли одиниця декодування, асоційована з повідомленням SEI інформації одиниці декодування, є останньою одиницею декодування в поточній одиниці доступу, значення du_spt_cpb_removal_delay може дорівнювати 0. [0144] Як альтернатива, du_spt_cpb_removal_delay може вказувати тривалість, в одиницях тактів синхронізації субзображення (дивись підпункт E.2.1), між видаленням з CPB наступної одиниці декодування в черговості декодування в поточній одиниці доступу, що містить повідомлення SEI інформації одиниці декодування, і одиницею декодування, асоційованою з повідомленням SEI інформації одиниці декодування. Дане значення також може бути використане для обчислення найбільш раннього можливого часу надходження даних одиниці декодування в CPB для HSS, як вказано в Додатку С HEVC WD 8. Елемент синтаксису представлений кодом фіксованої довжини, довжина якого в бітах задається du_cpb_removal_delay_length_minus1+1. Коли одиниця декодування, асоційована з повідомленням SEI інформації одиниці декодування, є останньою одиницею декодування в поточній одиниці доступу, значення du_spt_cpb_removal_delay може дорівнювати 0. Як альтернатива, повідомлення SEI інформації одиниці декодування не може бути асоційоване з останньою одиницею декодування в кожній одиниці доступу. [0145] Вищенаведені приклади описували методики для сигналізації ідентифікатора одиниці декодування, який декодер 30 відео використовує для визначення того, які одиниці NAL асоційовані з якими одиницями декодування. Наприклад, якщо заголовок слайсу вказує ідентифікатор одиниці декодування, тоді декодер 30 відео може визначати, що одиниця NAL, яка включає в себе слайс, асоційована з одиницею декодування, що указується в заголовку слайсу. Як інший приклад, якщо повідомлення SEI (наприклад, повідомлення SEI інформації одиниці декодування) вказує ідентифікатор одиниці декодування, тоді декодер 30 відео визначає, що всі одиниці NAL ідуть за повідомленням SEI до наступної одиниці NAL SEI, яка включає в себе повідомлення SEI інформації одиниці декодування з ідентифікатором одиниці декодування, відмінним від ідентифікатора одиниці декодування попереднього повідомлення SEI. Це дозволяє кодеру 20 відео включати декілька копій повідомлення SEI інформації одиниці декодування, що в свою чергу дозволяє декодеру 30 відео визначати час видалення одиниці декодування з CPB з одного з множини повідомлень SEI інформації одиниці декодування у випадку, коли одне з іншого повідомлення SEI інформації одиниці декодування втрачене при передачі. [0146] У деяких прикладах кодер 20 відео може генерувати для виведення і виводити, а декодер 30 відео може приймати декілька копій різних типів повідомлень SEI. Як описано вище, наступні аспекти вказуються для всіх повідомлень SEI: a) об'єм застосування, до якого застосовується інформація, що переноситься в повідомленні SEI; b) де може бути присутнє 22 UA 114343 C2 5 10 15 20 25 30 35 40 45 50 повідомлення SEI; і с) обмеження відносно вмісту декількох екземплярів конкретного типу повідомлення SEI. [0147] Наступна умовність передбачається для опису об'єму застосування, де можуть бути присутні повідомлення, і обмежень відносно вмісту декількох екземплярів повідомлень SEI. Повідомлення SEI вважається асоційованим зі значенням nuh_reserved_zero_6bits в заголовку одиниці NAL одиниці NAL SEI, що містить повідомлення SEI. У нижченаведеному, "ID рівня" використовується взаємозамінно з "nuh_reserved_zero_6bits", оскільки nuh_reserved_zero_6bits ідентифікує рівень при масштабованому кодуванні відео. [0148] Як і вище, скорочення AU розшифровується як одиниця доступу. Застосовні робочі точки для кожного з повідомлень: повідомлення SEI про період буферизації, повідомлення SEI про тактування зображення або повідомлення SEI про тактування субзображення, відповідають тим, що вказані в заявці ‘119 і заявці ‘475. Робоча точка ідентифікується набором значень nuh_reserved_zero_6bits, позначуваним OpLayerIdSet, і значенням часової ідентифікації (TemporalId), позначеним OpTid, і асоційована підмножина бітового потоку одержується як вихідні дані процесу витягання суббітового потоку, як вказується в підпункті 10.1 HEVC WD8 з OpTid і OpLayerIdSet як вхідними даними, які можуть бути декодовані незалежно. [0149] Значення TemporalId зображень вказує на те, чи можуть зображення бути використані для зовнішнього прогнозування інших зображень. Наприклад, перше зображення не може бути використане для зовнішнього прогнозування другого зображення, якщо значення TemporalId першого зображення вище значення TemporalId другого зображення. Таким чином, зображення з найбільшими значеннями TemporalId можуть бути видалені (витягнуті), не здійснюючи якогонебудь впливу на декодування відео, оскільки зображення не можуть бути використані для зовнішнього прогнозування будь-якого із зображень, що залишилися. Подібним чином, зображення з найбільшим і наступним найбільшим значеннями TemporalId можуть бути видалені, не здійснюючи якого-небудь впливу на декодування відео, оскільки ці зображення не можуть бути використані для зовнішнього прогнозування будь-якого із зображень, що залишилися, і т. д. Незважаючи на те, що видалення таких зображень на основі значень TemporalId може не здійснювати впливу на декодування відео і поліпшувати використання смуги пропускання (наприклад, через видалення зображень), може бути присутній негативний вплив на якість відео, якщо такі зображення видалені. [0150] Процес витягання суббітового потоку, вказаний в підпункті 10.1, описує певні вимоги для відповідності. Як один приклад, будь-який суббітовий потік, витягнутий з бітового потоку процесом з будь-яким цільовим найвищим значенням TemporalId в діапазоні від 0 до 6, включно, і цільовим списком ідентифікаторів рівня, який включає в себе тільки значення nuh_reserved_zero_6bits, що дорівнює нулю, вважається відповідним бітовим потоком. [0151] Період сцени може включати в себе і може включати в себе тільки всі AU, які починаються з AU, що містить повідомлення SEI інформації про сцену, до наступної AU, в черговості декодування, що містить повідомлення SEI інформації про сцену, або кінця кодованої відеопослідовності, що настане раніше, в черговості декодування. Період постфільтра може включати в себе і може включати в себе тільки всі AU, які починаються з AU, що містить повідомлення SEI з указанням посфільтру, до наступної AU, в черговості декодування, що містить повідомлення SEI з указанням постфільтра, або кінця кодованої відеопослідовності, що настане раніше, в черговості декодування. [0152] Якщо повідомлення SEI про тактування субзображення не включає в себе ID одиниці декодування, одиниця декодування може включати в себе і може включати в себе тільки набір одиниць NAL в AU від одиниці NAL SEI, яка містить повідомлення SEI про тактування субзображення, до наступної одиниці NAL SEI, яка містить повідомлення SEI про тактування субзображення, або кінця AU, що настане раніше, в черговості декодування. У протилежному випадку, одиниця декодування може включати в себе і може включати в себе тільки набір одиниць NAL в AU від одиниці NAL SEI, яка містить повідомлення SEI про тактування субзображення, до наступної одиниці NAL SEI, яка містить повідомлення SEI про тактування субзображення з іншим значення ID одиниці декодування, або кінця AU, що настане раніше, в черговості декодування. 23 UA 114343 C2 Таблиця 5 Асоціація, присутність і обмеження для повідомлень SEI Повідомлення SEI Обмеження відносно Об'єм застосування Присутність (payloadType) декількох екземплярів Всі екземпляри (застосовно Період буферизації, У будь-якій AU з для будь-якої конкретної Період буферизації (0) що містить TemporalId, що робочої точки) в AU повинні повідомлення SEI дорівнює 0 бути ідентичні У будь-якій AU з Всі екземпляри (застосовно Тактування AU, що містить будь-яким для будь-якої конкретної зображення (1) повідомлення SEI значенням робочої точки) в AU повинні TemporalId бути ідентичні У будь-якій із Всі екземпляри (асоційовані з Прямокутник Оговорюється застосовних AU з конкретним значенням ID автопанорамування (2) синтаксисом TemporalId, що рівня) в об'ємі застосування дорівнює 0 повинні бути ідентичні У будь-якій AU з Корисне навантаження AU, що містить будь-яким Немає обмеження заповнювача (3) повідомлення SEI значенням TemporalId У будь-якій AU з Зареєстровані дані будь-яким Не оговорено Немає обмеження користувача (4) значенням TemporalId У будь-якій AU з Незареєстровані дані будь-яким Не оговорено Немає обмеження користувача (5) значенням TemporalId Всі екземпляри (асоційовані з У будь-якій AU з AU, що містить конкретним значенням ID Точка відновлення (6) TemporalId, що повідомлення SEI рівня) в AU повинні бути дорівнює 0 ідентичні Всі екземпляри (асоційовані з Період сцени, що У будь-якій AU з Інформація про сцену конкретним значенням ID містить TemporalId, що (9) рівня) в AU повинні бути повідомлення SEI дорівнює 0 ідентичні У будь-якій AU з Всі екземпляри (асоційовані з Моментальний знімок AU, що містить будь-яким конкретним значенням ID всього кадру (15) повідомлення SEI значенням рівня) в AU повинні бути TemporalId ідентичні У будь-якій AU з Всі екземпляри (асоційовані з Початок сегмента AU, що містить будь-яким конкретним значенням ID прогресивного повідомлення SEI значенням рівня) в AU повинні бути уточнення (16) TemporalId ідентичні У будь-якій AU з Всі екземпляри (асоційовані з Кінець сегмента AU, що містить будь-яким конкретним значенням ID прогресивного повідомлення SEI значенням рівня) в AU повинні бути уточнення (17) TemporalId ідентичні У будь-якій із Всі екземпляри (асоційовані з Оговорюється Характеристики застосовних AU з конкретним значенням ID синтаксисом зернистості плівки (19) TemporalId, що рівня) в об'ємі застосування дорівнює 0 повинні бути ідентичні Перевага У будь-якій із Всі екземпляри (асоційовані з Оговорюється відображення з застосовних AU з конкретним значенням ID синтаксисом фільтром усунення TemporalId, що рівня) в об'ємі застосування блоковості (21) дорівнює 0 повинні бути ідентичні 24 UA 114343 C2 Таблиця 5 Асоціація, присутність і обмеження для повідомлень SEI Повідомлення SEI Обмеження відносно Об'єм застосування Присутність (payloadType) декількох екземплярів Всі екземпляри (асоційовані з Період постфільтра, У будь-якій AU з Указання постфільтра конкретним значенням ID що містить TemporalId, що (22) рівня) в AU повинні бути повідомлення SEI дорівнює 0 ідентичні У будь-якій із Всі екземпляри (асоційовані з Інформація про Оговорюється застосовних AU з конкретним значенням ID поєднання карт синтаксисом TemporalId, що рівня) в об'ємі застосування відтінків (23) дорівнює 0 повинні бути ідентичні У будь-якій із Всі екземпляри (асоційовані з Оговорюється Компонування застосовних AU з конкретним значенням ID синтаксисом пакетування кадру (45) TemporalId, що рівня) в об'ємі застосування дорівнює 0 повинні бути ідентичні У будь-якій із Всі екземпляри (асоційовані з Оговорюється Орієнтація застосовних AU з конкретним значенням ID синтаксисом відображення (47) TemporalId, що рівня) в об'ємі застосування дорівнює 0 повинні бути ідентичні SOP, що містить AU, У будь-якій AU з Всі екземпляри (асоційовані з Опис структури яка містить TemporalId, що конкретним значенням ID зображень (SOP) (128) повідомлення SEI дорівнює 0 рівня) в об'ємі застосування У будь-якій AU з Всі екземпляри (асоційовані з AU, що містить будь-яким конкретним значенням ID Указання поля (129) повідомлення SEI значенням рівня) в AU повинні бути TemporalId ідентичні У будь-якій AU з Всі екземпляри (асоційовані з Хеш декодованого AU, що містить будь-яким конкретним значенням ID зображення (130) повідомлення SEI значенням рівня) в AU повинні бути TemporalId ідентичні Кодована відеопосВсі екземпляри (асоційовані з У будь-якій AU з Активні набори лідовність, що конкретним значенням ID TemporalId, що параметрів (131) містить рівня) в об'ємі застосування дорівнює 0 повідомлення SEI повинні бути ідентичні Одиниця У будь-якій AU з Тактування декодування, що TemporalId, що Немає обмеження субзображення (132) містить дорівнює 0 повідомлення SEI 5 10 15 20 [0153] Таблиця 5 ілюструє різні типи повідомлень SEI і ілюструє взаємозв'язок між різними типами повідомлень SEI, значенням часової ідентифікації одиниці доступу і тим, чи присутні якінебудь обмеження і типи обмежень відносно повідомлення SEI. Наприклад, кодер 20 відео може визначати тип повідомлення SEI і може визначати значення часової ідентифікації одиниці доступу. На основі значення часової ідентифікації і типу повідомлення SEI, кодер 20 відео може визначати, чи дозволена присутність повідомлення SEI. [0154] Як один приклад, передбачимо, що типом повідомлення SEI є повідомлення SEI про період буферизації. У даному прикладі, якщо значення часової ідентифікації не дорівнює 0, кодер 20 відео може визначати, що присутність повідомлення SEI про період буферизації не дозволена. Як інший приклад, передбачимо, що типом повідомлення SEI є повідомлення SEI про тактування зображення. У даному прикладі, незалежно від значення часової ідентифікації, кодер 20 відео може визначати, що присутність повідомлення SEI про тактування зображення дозволена. [0155] Відповідно до методик, описуваних в даному розкритті, кодер 20 відео і декодер 30 відео є прикладами модуля кодування відео, виконаного з можливістю реалізації однієї або більше зразкових методик, описуваних в даному розкритті. Наприклад, кодер 20 відео може сигналізувати ідентифікатори для одиниць декодування (наприклад, кодувати і сигналізувати ідентифікатори для одиниць декодування), а декодер 30 відео може приймати ідентифікатори для одиниць декодування (наприклад, приймати і декодувати ідентифікатори для одиниць 25 UA 114343 C2 5 10 15 20 25 30 35 40 45 50 55 декодування). У цьому значенні, модуль кодування відео, такий як кодер 20 відео і декодер 30 відео, може бути виконаний з можливістю кодування (наприклад, кодування або декодування) ідентифікаторів для одиниць декодування. [0156] Модуль кодування відео може бути виконаний з можливістю кодування унікального ідентифікатора для кожної одиниці декодування в одиниці доступу, так що ідентифікатор для однієї одиниці декодування в одиниці доступу відрізняється від ідентифікатора для будь-якої іншої одиниці декодування в одиниці доступу. У деяких прикладах модуль кодування відео може асоціювати одиниці рівня мережевої абстракції (NAL) з одиницями декодування в одиниці доступу на основі унікального ідентифікатора для кожної з одиниць декодування. Також, в деяких прикладах модуль кодування відео може повторювати повідомлення інформації додаткового поліпшення (SEI) в одиниці декодування або одиниці доступу. [0157] Для кодування кожної DU, модуль кодування відео може кодувати перший ідентифікатор для першої DU і кодувати другий, інший ідентифікатор для другої, іншої DU. У даному прикладі, другий ідентифікатор може бути першим ідентифікатором, збільшеним на одиницю. [0158] У деяких прикладах модуль кодування відео може кодувати унікальний ідентифікатор для кожної одиниці декодування в заголовку слайсу. У цих прикладах, унікальний ідентифікатор може ідентифікувати одиницю декодування, до якої належить слайс, і модуль кодування відео може визначати, що одиниця NAL, яка включає в себе слайс, асоційована з одиницею декодування, що ідентифікується ідентифікатором одиниці декодування в заголовку слайсу. У деяких прикладах модуль кодування відео може кодувати унікальний ідентифікатор для одиниці декодування в повідомленні SEI. Наприклад, модуль кодування відео може кодувати унікальний ідентифікатор в повідомленні SEI (наприклад, повідомленні SEI інформації одиниці декодування), яке також включає в себе інформацію про те, коли одиниця декодування повинна бути видалена з буфера кодованих зображень (CPB). Унікальний ідентифікатор для одиниці декодування може ідентифікувати одиницю декодування, яка містить повідомлення SEI інформації одиниці декодування. [0159] У одній або більше зразкових методиках, модуль кодування відео може кодувати перший ідентифікатор для першої одиниці декодування в одиниці доступу і кодувати другий, інший ідентифікатор для другої, іншої одиниці декодування в одиниці доступу. У деяких прикладах коли значення першого ідентифікатора менше значення другого ідентифікатора, перша одиниця декодування може передувати другій одиниці декодування в черговості декодування. У деяких прикладах модуль кодування відео може кодувати унікальний ідентифікатор для кожної одиниці декодування як індекс одиниці декодування в списку всіх одиниць декодування в одиниці доступу в черговості декодування. [0160] У деяких випадках модуль кодування відео може кодувати першу одиницю рівня мережевої абстракції (NAL) рівня кодування відео(VCL) в одиниці доступу (AU). Модуль кодування відео також може кодувати повідомлення інформації додаткового поліпшення (SEI), яке іде за першою одиницею NAL VLC в черговості декодування. У деяких прикладах, модуль кодування відео може також кодувати повідомлення SEI так, що повідомлення SEI передує останній одиниці NAL VLC в AU в черговості декодування. [0161] Фіг. 2A і 2B є концептуальними схемами, що ілюструють приклади одиниць доступу, які включають в себе ідентифікатори одиниць декодування відповідно до описуваних в даному розкритті методик. Фіг. 2A ілюструє одиницю 34 доступу, а Фіг. 2B ілюструє одиницю 50 доступу. Одиниця 34 доступу і одиниця 50 доступу включають в себе відеодані, необхідні для декодування щонайменше одного зображення (наприклад, один або більше рівнів для декодування зображення або декількох зображень різних видів застосовно до одного і того ж екземпляра часу). Кодер 20 відео виводить одиницю 34 доступу або одиницю 50 доступу як частину кодованого бітового потоку, який декодер 30 відео приймає через лінію 16 зв'язку або пристрій 32 зберігання. [0162] На Фіг. 2A і 2B, одиниця 34 доступу і одиниця 50 доступу включають в себе множину одиниць декодування, що означає, що кодер 20 відео виводить SubPicCpbFlag для одиниці 34 доступу і одиниці 50 доступу як 1 для указання декодеру 30 відео того, що для одиниці 34 доступу і одиниці 50 доступу дозволена робота на рівні субзображення. [0163] На Фіг. 2A, одиниця 34 доступу включає в себе одиниці 36A-36C декодування (збірно іменовані "одиниці 36 декодування"). Одиниця 36A декодування включає в себе першу одиницю 38A NAL SEI і другу одиницю 38B NAL SEI. Обидві одиниці 38A і 38B NAL SEI включають в себе повідомлення SEI (наприклад, повідомлення SEI інформації одиниці декодування), яке вказує інформацію, що стосується часу видалення одиниці 36A декодування, а також включає в себе 26 UA 114343 C2 5 10 15 20 25 30 35 40 45 50 55 60 ідентифікатор одиниці декодування для одиниці 36A декодування. Одиниця 36A декодування також включає в себе одиниці 40A-40D NAL. [0164] Одиниця 36B декодування включає в себе третю одиницю 42 NAL SEI, яка включає в себе повідомлення SEI, яке вказує інформацію, що стосується часу видалення одиниці 36B декодування, а також включає в себе ідентифікатор одиниці декодування для одиниці 36B декодування. Ідентифікатор одиниці декодування для одиниці 36B декодування відрізняється від ідентифікатора одиниці декодування для одиниці 36A декодування (наприклад, на одиницю більше, ніж ідентифікатор одиниці декодування для одиниці 36A декодування). Одиниця 36B декодування також включає в себе одиниці 44A і 44B NAL. [0165] Одиниця 36C декодування включає в себе четверту одиницю 46A NAL SEI і п'яту одиницю 46B NAL SEI. Обидві одиниці 46A і 46B NAL SEI включають в себе повідомлення SEI (наприклад, повідомлення SEI інформації одиниці декодування), яке вказує інформацію, що стосується часу видалення одиниці 36C декодування, а також включає в себе ідентифікатор одиниці декодування для одиниці 36C декодування. Одиниця 36C декодування також включає в себе одиниці 48A і 48B NAL. [0166] Декодер 30 відео може визначати те, які одиниці NAL асоційовані з якими одиницями декодування на основі повідомлення SEI інформації одиниці декодування. Наприклад, декодер 30 відео може визначати, що одиниця 38A NAL SEI і одиниці NAL (наприклад, одиниці 40A і 40B NAL), які ідуть за одиницею 38A NAL SEI, асоційовані з одиницею 36A декодування, оскільки повідомлення SEI інформації одиниці декодування одиниці 38A NAL SEI включало ідентифікатор одиниці декодування для одиниці 36A декодування. Потім, декодер 30 відео може визначати, що одиниця 38B NAL SEI також є частиною одиниці 36A декодування, оскільки повідомлення SEI інформації одиниці декодування одиниці 38B NAL SEI є копією повідомлення SEI інформації одиниці декодування одиниці 38A NAL SEI (наприклад, включає в себе точно таку ж інформацію про час видалення і точно такий же ідентифікатор одиниці декодування). У даному прикладі, декодер 30 відео може визначати, що одиниці 40C і 40D NAL також асоційовані з одиницею 36A декодування, оскільки ці одиниці NAL ідуть за одиницею 38B NAL SEI і передують іншій одиниці NAL SEI з повідомленням SEI інформації одиниці декодування. [0167] Декодер 30 відео може визначати, що одиниця 42 NAL SEI не належить до одиниці 36A декодування, оскільки ідентифікатор одиниці декодування в повідомленні SEI інформації одиниці декодування одиниці 42 NAL SEI відрізняється від ідентифікатора одиниці декодування в повідомленні SEI інформації одиниці декодування для одиниць 38A і 38B NAL SEI. У цьому випадку, декодер 30 відео може визначати, що одиниця 42 NAL SEI асоційована з іншою одиницею декодування (наприклад, одиницею 36B декодування) і одиниці 44A і 44B NAL також асоційовані з одиницею 36B декодування, оскільки ці одиниці NAL ідуть за одиницею 42 NAL SEI і передують іншій одиниці NAL SEI з повідомленням SEI інформації одиниці декодування, яке включає в себе інший ідентифікатор одиниці декодування. [0168] Декодер 30 відео може визначати, що одиниця 46A NAL SEI асоційована з іншою одиницею декодування (наприклад, одиницею 36C декодування), оскільки ідентифікатор одиниці декодування в повідомленні SEI інформації одиниці декодування одиниці 46A NAL SEI відрізняється від попередніх ідентифікаторів одиниці декодування (наприклад, на один більше, ніж попередній). Декодер 30 відео визначає, що одиниця 48A NAL асоційована з одиницею 36C декодування, оскільки одиниця 48A NAL іде за одиницею 46A NAL SEI і передує одиниці 46B NAL SEI, яка включає в себе повідомлення SEI інформації одиниці декодування. [0169] У даному прикладі, одиниця 46B NAL SEI включає в себе повідомлення SEI інформації одиниці декодування, яке включає в себе точно такий же ідентифікатор одиниці декодування, що і повідомлення SEI інформації одиниці декодування одиниці 46A NAL SEI (наприклад, повідомлення SEI інформації одиниці декодування є копіями). Декодер 30 відео потім може визначати, що одиниця 48A NAL асоційована з одиницею 36C декодування, оскільки одиниця 48B NAL є останньою одиницею NAL в одиниці 34 доступу. [0170] На Фіг. 2A, приклади повідомлення SEI інформації одиниці декодування включають в себе приклади, описані вище відносно Таблиць 3 і 4. Також, на Фіг. 2A, одиниці NAL, які належать до одиниці декодування, є суміжними (тобто одиниці NAL для інших одиниць декодування не перемежовуються з одиницями NAL одиниці декодування). [0171] На Фіг. 2A, кодер 20 відео може генерувати для виведення і виводити ідентифікатори одиниці декодування для кожної одиниці декодування у відповідних одиницях декодування. Наприклад, кодер 20 відео включає ідентифікатори одиниці декодування в повідомлення SEI інформації одиниці декодування одиниці 38A NAL SEI і одиниці 38B NAL SEI у відповідній одиниці 36A декодування і виводить ідентифікатори одиниці декодування як частину повідомлень SEI інформації одиниці декодування одиниць 38A і 38B NAL SEI. Кодер 20 відео 27 UA 114343 C2 5 10 15 20 25 30 35 40 45 50 55 60 включає ідентифікатори одиниці декодування в повідомлення SEI інформації одиниці декодування одиниці 42 NAL SEI у відповідній одиниці 36B декодування і включає ідентифікатори одиниці декодування в повідомлення SEI інформації одиниці декодування одиниці 46A NAL SEI і одиниці 46B NAL SEI у відповідній одиниці 36C декодування. У цих прикладах, кодер 20 відео виводить ідентифікатори одиниці декодування як частину відповідних повідомлень SEI інформації одиниці декодування одиниць 42, 46A і 46B NAL SEI. [0172] Включення повідомлень SEI інформації одиниці декодування дозволяє декодеру 30 відео визначати те, які одиниці NAL асоційовані з якими одиницями декодування на основі ідентифікаторів одиниці декодування так, що, навіть якщо одиниця NAL втрачена, декодер 30 все ще може визначити те, які одиниці NAL асоційовані з якими одиницями декодування. Наприклад, передбачимо, що втрачена одиниця 40C NAL. У даному прикладі, декодер 30 відео все ще може визначити, що одиниця 40D NAL асоційована з одиницею 36A декодування, оскільки одиниця 40D NAL є подальшою відносно одиниці 38B NAL SEI, повідомлення SEI якої інформації одиниці декодування вказувало ідентифікатор одиниці декодування для одиниці 36A декодування, і передує одиниці 42 NAL SEI, повідомлення SEI якої інформації одиниці декодування вказувало ідентифікатор одиниці декодування для одиниці 36B декодування. Більше того, разом з повідомленням SEI інформації одиниці декодування, що вказує ідентифікатори одиниці декодування, кодер 20 відео може включати декілька копій повідомлення SEI інформації одиниці декодування в одиницю декодування. [0173] Як ілюструється на Фіг. 2B, одиниця 50 доступу включає в себе одиниці 52A-52C декодування (збірно іменовані "одиниці 52 декодування"). Одиниця 52A декодування включає в себе одиниці 54A і 54B NAL слайсу, одиниця 52B декодування включає в себе одиниці 64A-64C NAL слайсу, а одиниця 52C декодування включає в себе одиниці 78A і 78B NAL слайсу. Кожна з одиниць NAL слайсу включає в себе заголовок слайсу і тіло слайсу. Заголовок слайсу включає в себе інформацію заголовка, що включає ідентифікатор одиниці декодування, а тіло слайсу включає в себе відеодані для декодування слайсу. [0174] Наприклад, одиниця 54A NAL слайсу включає в себе заголовок 56 слайсу і тіло 58 слайсу, а одиниця 54B NAL слайсу включає в себе заголовок 60 слайсу і тіло 62 слайсу. У даному прикладі, заголовок 56 слайсу одиниці 54A NAL слайсу і заголовок 60 слайсу одиниці 54B NAL слайсу кожний включає в себе один і той же ідентифікатор одиниці декодування, який декодер 30 відео використовує для визначення того, що одиниця 54A NAL і одиниця 54B NAL асоційовані з однією і тією ж одиницею декодування (наприклад, одиницею 52A декодування). [0175] Одиниця 64A NAL слайсу включає в себе заголовок 66 слайсу і тіло 68 слайсу, одиниця 64B NAL слайсу включає в себе заголовок 70 слайсу і тіло 72 слайсу, а одиниця 64C NAL слайсу включає в себе заголовок 74 слайсу і тіло 76 слайсу. У даному прикладі, заголовок 66 слайсу одиниці 64A NAL слайсу, заголовок 70 слайсу одиниці 64B NAL слайсу і заголовок 74 слайсу одиниці 64C NAL слайсу кожний включає в себе один і той же ідентифікатор одиниці декодування, який декодер 30 відео використовує для визначення того, що одиниця 64A NAL, одиниця 64B NAL і одиниця 64C NAL асоційовані з однією і тією ж одиницею декодування (наприклад, одиницею 52B декодування). [0176] Одиниця 78A NAL слайсу включає в себе заголовок 80 слайсу і тіло 82 слайсу, а одиниця 78B NAL слайсу включає в себе заголовок 84 слайсу і тіло 86 слайсу. У даному прикладі, заголовок 80 слайсу одиниці 78A NAL слайсу і заголовок 84 слайсу одиниці 78B NAL слайсу кожний включає в себе один і той же ідентифікатор одиниці декодування, який декодер 30 відео використовує для визначення того, що одиниця 78A NAL і одиниця 78B NAL асоційовані з однією і тією ж одиницею декодування (наприклад, одиницею 52C декодування). [0177] На Фіг. 2B, приклади повідомлення SEI інформації одиниці декодування включають в себе приклади, описані вище відносно Таблиці 2. Подібно Фіг. 2A, на Фіг. 2B, одиниці NAL, які належать до одиниці декодування, є суміжними (тобто одиниці NAL для інших одиниць декодування не перемежовуються з одиницями NAL одиниці декодування). [0178] Як ілюструється, кодер 20 відео включає ідентифікатор одиниці декодування в заголовки 56 і 60 слайсу для відповідної одиниці 52A декодування і виводить ідентифікатор одиниці декодування як частину заголовків 56 і 60 слайсів. Також, кодер 20 відео включає ідентифікатор одиниці декодування в заголовки 66, 70 і 74 слайсу для відповідної одиниці 52B декодування і виводить ідентифікатор одиниці декодування як частину заголовків 66, 70 і 74 слайсу. Подібним чином, кодер 20 відео включає ідентифікатор одиниці декодування в заголовки 80 і 84 слайсу для відповідної одиниці 52C декодування і виводить ідентифікатор одиниці декодування як частину заголовків 80 і 84 слайсу. [0179] У прикладі, ілюстрованому на Фіг. 2B, декодеру 30 відео не треба покладатися на позиції повідомлень SEI SPT для визначення того, яка одиниця NAL слайсу асоційована з якою 28
ДивитисяДодаткова інформація
Автори англійськоюWang, Ye-Kui
Автори російськоюВан Е-Куй
МПК / Мітки
МПК: H04N 7/00
Мітки: асоціація, одиниці, стійка, декодування, помилок
Код посилання
<a href="https://ua.patents.su/45-114343-stijjka-do-pomilok-asociaciya-odinici-dekoduvannya.html" target="_blank" rel="follow" title="База патентів України">Стійка до помилок асоціація одиниці декодування</a>