Розширена сигналізація режиму внутрішнього прогнозування для кодування відео, що використовує режим сусідства
Формула / Реферат
1. Спосіб кодування відеоданих, причому спосіб включає:
визначення для блока відеоданих набору найбільш ймовірних режимів внутрішнього прогнозування для того, щоб спрогнозувати блок відеоданих, в якому набір найбільш ймовірних режимів внутрішнього прогнозування має розмір, який дорівнює попередньо визначеній кількості, яка більша ніж або дорівнює двом;
кодування значення, що представляє фактичний режим внутрішнього прогнозування для згаданого блока, на основі, щонайменше частково, того, чи включений фактичний режим внутрішнього прогнозування у набір найбільш ймовірних режимів внутрішнього прогнозування; і
кодування блока, використовуючи фактичний режим внутрішнього прогнозування.
2. Спосіб за п. 1, в якому визначення набору найбільш ймовірних режимів внутрішнього прогнозування включає:
визначення першого режиму внутрішнього прогнозування для лівого сусіднього блока згаданого блока;
визначення другого режиму внутрішнього прогнозування для верхнього сусіднього блока згаданого блока; і,
коли перший режим внутрішнього прогнозування відрізняється від другого режиму внутрішнього прогнозування, включення і першого режиму внутрішнього прогнозування, і другого режиму внутрішнього прогнозування у набір найбільш ймовірних режимів внутрішнього прогнозування.
3. Спосіб за п. 2, який додатково включає:
коли перший режим внутрішнього прогнозування є таким самим, як другий режим внутрішнього прогнозування, і коли перший і другий режими внутрішнього прогнозування містять режим, відмінний від плоского режиму, включення першого режиму внутрішнього прогнозування і плоского режиму у набір найбільш ймовірних режимів внутрішнього прогнозування.
4. Спосіб за п. 2, який додатково включає:
коли перший режим внутрішнього прогнозування є таким самим, як другий режим внутрішнього прогнозування, і коли перший і другий режими внутрішнього прогнозування містять плоский режим, включення плоского режиму і режиму DC у набір найбільш ймовірних режимів внутрішнього прогнозування.
5. Спосіб за п. 1, в якому згаданий блок містить блок яскравості, причому спосіб додатково включає:
визначення для блока кольоровості, що відповідає блоку яскравості, відображення набору значень у набір режимів внутрішнього прогнозування, причому згаданий набір режимів внутрішнього прогнозування містить горизонтальний режим, вертикальний режим, плоский режим, режим DC і режим прогнозування сигналу яскравості, при цьому, коли фактичний режим внутрішнього прогнозування для блока яскравості містить режим, відмінний від горизонтального режиму, вертикального режиму, плоского режиму і режиму DC, набір режимів внутрішнього прогнозування також містить повторне використання режиму внутрішнього прогнозування яскравості, відображеного з першого значення зі згаданого набору значень, і при цьому, коли фактичний режим внутрішнього прогнозування для блока яскравості містить один з горизонтального режиму, вертикального режиму, плоского режиму і режиму DC, набір режимів внутрішнього прогнозування також містить режим, відмінний від горизонтального режиму, вертикального режиму, плоского режиму і режиму DC, відображеного з першого значення зі згаданого набору значень;
кодування значення, що представляє фактичний режим внутрішнього прогнозування для блока кольоровості, на основі відображення набору значень у набір режимів; і
кодування блока кольоровості, використовуючи фактичний режим внутрішнього прогнозування для блока кольоровості.
6. Спосіб за п. 1, який додатково включає:
визначення напрямку прогнозування фактичного режиму внутрішнього прогнозування; і
включення щонайменше одного режиму внутрішнього прогнозування, що має напрямок прогнозування, найбільш близький до напрямку прогнозування фактичного режиму внутрішнього прогнозування, у набір найбільш ймовірних режимів внутрішнього прогнозування.
7. Спосіб за п. 1, в якому розмір набору найбільш ймовірних режимів внутрішнього прогнозування дорівнює трьом.
8. Спосіб за п. 7, який додатково включає:
визначення напрямку прогнозування першого режиму внутрішнього прогнозування;
порівняння напрямку прогнозування першого режиму внутрішнього прогнозування з напрямками прогнозування одного або більше інших доступних режимів внутрішнього прогнозування; і
включення першого режиму внутрішнього прогнозування, другого режиму внутрішнього прогнозування з одного або більше доступних режимів внутрішнього прогнозування і третього режиму внутрішнього прогнозування з одного або більше доступних режимів внутрішнього прогнозування у набір найбільш ймовірних режимів внутрішнього прогнозування, в якому другий і третій режими внутрішнього прогнозування мають напрямки прогнозування, визначені як найбільш близькі до напрямку прогнозування першого режиму внутрішнього прогнозування, на основі порівняння.
9. Спосіб за п. 7, в якому набір з трьох найбільш ймовірних режимів внутрішнього прогнозування включає в себе режим DC, вертикальний режим і плоский режим.
10. Спосіб за п. 1, в якому:
розмір набору найбільш ймовірних режимів внутрішнього прогнозування дорівнює чотирьом,
коли два з найбільш ймовірних режимів внутрішнього прогнозування однакові, набір з чотирьох найбільш ймовірних режимів внутрішнього прогнозування містить два доступних режими внутрішнього прогнозування, що мають напрямки прогнозування, які є найбільш близькими до напрямку прогнозування одного і того ж найбільш ймовірного режиму внутрішнього прогнозування, інакше, найбільш ймовірні режими внутрішнього прогнозування містять щонайменше один з режиму внутрішнього прогнозування DC, вертикального режиму внутрішнього прогнозування або горизонтального режиму внутрішнього прогнозування.
11. Спосіб за п. 1, який додатково включає:
вибір фактичного режиму внутрішнього прогнозування, і
в якому кодування блока також містить кодування блока на основі фактичного режиму внутрішнього прогнозування.
12. Спосіб за п. 1, в якому:
кодування блока також містить декодування блока, використовуючи фактичний режим внутрішнього прогнозування, і
кодування значення, що представляє фактичний режим внутрішнього прогнозування, містить визначення фактичного режиму внутрішнього прогнозування зі згаданого значення.
13. Спосіб за п. 1, в якому, коли фактичний режим внутрішнього прогнозування є плоским, вертикальним, горизонтальним або режимом DC, режим внутрішнього прогнозування кольоровості є режимом внутрішнього прогнозування з верхньоправим напрямком.
14. Пристрій для кодування відеоданих, причому пристрій містить відеокодер, сконфігурований, щоб:
визначити для блока відеоданих набір найбільш ймовірних режимів внутрішнього прогнозування для того, щоб спрогнозувати блок відеоданих, при цьому набір найбільш ймовірних режимів внутрішнього прогнозування має розмір, який дорівнює попередньо визначеній кількості, яка більша ніж або дорівнює двом, кодувати значення, що представляє фактичний режим внутрішнього прогнозування для згаданого блока, на основі, щонайменше частково, того, чи включений фактичний режим внутрішнього прогнозування у набір найбільш ймовірних режимів внутрішнього прогнозування; і
кодувати блок, використовуючи фактичний режим внутрішнього прогнозування.
15. Пристрій за п. 14, в якому при визначенні набору найбільш ймовірних режимів внутрішнього прогнозування відеокодер сконфігурований, щоб:
визначити перший режим внутрішнього прогнозування для лівого сусіднього блока згаданого блока, визначити другий режим внутрішнього прогнозування для верхнього сусіднього блока згаданого блока, і, коли перший режим внутрішнього прогнозування відрізняється від другого режиму внутрішнього прогнозування, включати і перший режим внутрішнього прогнозування, і другий режим внутрішнього прогнозування у набір найбільш ймовірних режимів внутрішнього прогнозування.
16. Пристрій за п. 15, в якому відеокодер також сконфігурований, щоб, коли перший режим внутрішнього прогнозування є таким самим, як другий режим внутрішнього прогнозування, і коли перший і другий режими внутрішнього прогнозування містять режим, відмінний від плоского режиму, включати перший режим внутрішнього прогнозування і плоский режим у набір найбільш ймовірних режимів внутрішнього прогнозування.
17. Пристрій за п. 15, в якому відеокодер також сконфігурований, щоб, коли перший режим внутрішнього прогнозування є таким самим, як другий режим внутрішнього прогнозування, і коли перший і другий режими внутрішнього прогнозування містять плоский режим, включати плоский режим і режим DC у набір найбільш ймовірних режимів внутрішнього прогнозування.
18. Пристрій за п. 14, в якому блок містить блок яскравості, і в якому відеокодер також сконфігурований, щоб визначити, для блока кольоровості, що відповідає блоку яскравості, відображення набору значень у набір режимів внутрішнього прогнозування, причому набір режимів внутрішнього прогнозування містить горизонтальний режим, вертикальний режим, плоский режим, режим DC і режим прогнозування сигналу яскравості, при цьому, коли фактичний режим внутрішнього прогнозування для блока яскравості містить режим, відмінний від горизонтального режиму, вертикального режиму, плоского режиму і режиму DC, набір режимів внутрішнього прогнозування також містить повторне використання режиму внутрішнього прогнозування яскравості, відображеного з першого значення з набору значень, і в якому, коли фактичний режим внутрішнього прогнозування для блока яскравості містить один з горизонтального режиму, вертикального режиму, плоского режиму і режиму DC, набір режимів внутрішнього прогнозування також містить режим, відмінний від горизонтального режиму, вертикального режиму, плоского режиму і режиму DC, відображений з першого значення зі згаданого набору значень, кодувати значення, що представляє фактичний режим внутрішнього прогнозування для блока кольоровості, на основі відображення набору значень у набір режимів, і кодувати блок кольоровості, використовуючи фактичний режим внутрішнього прогнозування для блока кольоровості.
19. Пристрій за п. 14, в якому відеокодер також сконфігурований, щоб визначати напрямок прогнозування фактичного режиму внутрішнього прогнозування, і включати щонайменше один режим внутрішнього прогнозування, що має напрямок прогнозування, найбільш близький до напрямку прогнозування фактичного режиму внутрішнього прогнозування, у набір найбільш ймовірних режимів внутрішнього прогнозування.
20. Пристрій за п. 14, в якому розмір набору найбільш ймовірних режимів внутрішнього прогнозування дорівнює трьом.
21. Пристрій за п. 20, в якому відеокодер також сконфігурований, щоб:
визначати напрямок прогнозування першого режиму внутрішнього прогнозування, порівнювати напрямок прогнозування першого режиму внутрішнього прогнозування з напрямками прогнозування одного або більше інших доступних режимів внутрішнього прогнозування, і включати перший режим внутрішнього прогнозування, другий режим внутрішнього прогнозування з одного або більше доступних режимів внутрішнього прогнозування і третій режим внутрішнього прогнозування з одного або більше доступних режимів внутрішнього прогнозування у набір найбільш ймовірних режимів внутрішнього прогнозування, в якому другий і третій режими внутрішнього прогнозування мають напрямки прогнозування, визначені як найбільш близькі до напрямку прогнозування першого режиму внутрішнього прогнозування, на основі порівняння.
22. Пристрій за п. 20, в якому набір з трьох найбільш ймовірних режимів внутрішнього прогнозування включає в себе режим DC, вертикальний режим і плоский режим.
23. Пристрій за п. 21, в якому:
розмір набору найбільш ймовірних режимів внутрішнього прогнозування дорівнює чотирьом,
коли два з найбільш ймовірних режимів внутрішнього прогнозування однакові, набір з чотирьох найбільш ймовірних режимів внутрішнього прогнозування містить два доступних режими внутрішнього прогнозування, що мають напрямки прогнозування, які є найбільш близькими до напрямку прогнозування того самого найбільш ймовірного режиму внутрішнього прогнозування, інакше, найбільш ймовірні режими внутрішнього прогнозування містять щонайменше один з режиму внутрішнього прогнозування DC, вертикального режиму внутрішнього прогнозування або горизонтального режиму внутрішнього прогнозування.
24. Пристрій за п. 14, в якому, коли фактичний режим внутрішнього прогнозування є плоским, вертикальним, горизонтальним або режимом DC, режим внутрішнього прогнозування кольоровості є режимом внутрішнього прогнозування з верхньоправим напрямком.
25. Пристрій за п. 14, в якому відеокодер містить відеокодер.
26. Пристрій за п. 14, в якому відеокодер містить відеодекодер.
27. Зчитуваний комп'ютером запам'ятовуючий носій, що має збережені на ньому інструкції, які при виконанні змушують процесор пристрою кодування відео:
визначати для блока відеоданих набір найбільш ймовірних режимів внутрішнього прогнозування для того, щоб спрогнозувати блок відеоданих, в якому набір найбільш ймовірних режимів внутрішнього прогнозування має розмір, який дорівнює попередньо визначеній кількості, яка більша ніж або дорівнює двом;
кодувати значення, що представляє фактичний режим внутрішнього прогнозування для блока, на основі, щонайменше частково, того, чи включений фактичний режим внутрішнього прогнозування у набір найбільш ймовірних режимів внутрішнього прогнозування; і
кодувати блок, використовуючи фактичний режим внутрішнього прогнозування.
28. Зчитуваний комп'ютером запам'ятовуючий носій за п. 27, в якому інструкції далі містять:
визначення першого режиму внутрішнього прогнозування для лівого сусіднього блока згаданого блока;
визначення другого режиму внутрішнього прогнозування для верхнього сусіднього блока згаданого блока; і,
коли перший режим внутрішнього прогнозування відрізняється від другого режиму внутрішнього прогнозування, включення і першого режиму внутрішнього прогнозування, і другого режиму внутрішнього прогнозування у набір найбільш ймовірних режимів внутрішнього прогнозування.
29. Зчитуваний комп'ютером запам'ятовуючий носій за п. 28, в якому інструкції далі містять: коли перший режим внутрішнього прогнозування є таким самим, як другий режим внутрішнього прогнозування і перший, і другий режими внутрішнього прогнозування містять режим, відмінний від плоского режиму, включення першого режиму внутрішнього прогнозування і плоского режиму у набір найбільш ймовірних режимів внутрішнього прогнозування.
30. Зчитуваний комп'ютером запам'ятовуючий носій за п. 28, в якому інструкції далі містять: коли перший режим внутрішнього прогнозування є таким самим, як другий режим внутрішнього прогнозування, і коли перший і другий режими внутрішнього прогнозування містять плоский режим, включення плоского режиму і режиму DC у набір найбільш ймовірних режимів внутрішнього прогнозування.
31. Зчитуваний комп'ютером запам'ятовуючий носій за п. 27, в якому блок містить блок яскравості, в якому інструкції далі містять:
визначення для блока кольоровості, що відповідає блоку яскравості, відображення набору значень у набір режимів внутрішнього прогнозування, причому набір режимів внутрішнього прогнозування містить горизонтальний режим, вертикальний режим, плоский режим, режим DC і режим прогнозування сигналу яскравості, в якому, коли фактичний режим внутрішнього прогнозування для блока яскравості містить режим, відмінний від горизонтального режиму, вертикального режиму, плоского режиму і режиму DC, набір режимів внутрішнього прогнозування також містить повторне використання режиму внутрішнього прогнозування яскравості, відображеного з першого значення зі згаданого набору значень, і в якому, коли фактичний режим внутрішнього прогнозування для блока яскравості містить один з горизонтального режиму, вертикального режиму, плоского режиму і режиму DC, набір режимів внутрішнього прогнозування також містить режим, відмінний від горизонтального режиму, вертикального режиму, плоского режиму і режиму DC, відображений з першого значення з набору значень;
кодування значення, що представляє фактичний режим внутрішнього прогнозування для блока кольоровості, на основі відображення набору значень у набір режимів; і
кодування блока кольоровості, використовуючи фактичний режим внутрішнього прогнозування для блока кольоровості.
32. Зчитуваний комп'ютером запам'ятовуючий носій за п. 27, в якому інструкції далі містять:
визначення напрямку прогнозування фактичного режиму внутрішнього прогнозування; і
включення щонайменше одного режиму внутрішнього прогнозування, що має напрямок прогнозування, найбільш близький до напрямку прогнозування фактичного режиму внутрішнього прогнозування, у набір найбільш ймовірних режимів внутрішнього прогнозування.
33. Зчитуваний комп'ютером запам'ятовуючий носій за п. 27, в якому розмір набору найбільш ймовірних режимів внутрішнього прогнозування дорівнює трьом.
34. Зчитуваний комп'ютером запам'ятовуючий носій за п. 33, в якому інструкції далі містять:
визначення напрямку прогнозування першого режиму внутрішнього прогнозування;
порівняння напрямку прогнозування першого режиму внутрішнього прогнозування з напрямками прогнозування одного або більше інших доступних режимів внутрішнього прогнозування;
включення першого режиму внутрішнього прогнозування, другого режиму внутрішнього прогнозування з одного або більше доступних режимів внутрішнього прогнозування, і третього режиму внутрішнього прогнозування з одного або більше доступних режимів внутрішнього прогнозування у набір найбільш ймовірних режимів внутрішнього прогнозування, в якому другий і третій режими внутрішнього прогнозування мають напрямки прогнозування, визначені як найбільш близькі до напрямку прогнозування першого режиму внутрішнього прогнозування, на основі порівняння.
35. Зчитуваний комп'ютером запам'ятовуючий носій за п. 33, в якому набір з трьох найбільш ймовірних режимів внутрішнього прогнозування включає в себе режим DC, вертикальний режим і плоский режим.
36. Зчитуваний комп'ютером запам'ятовуючий носій за п. 27, в якому: розмір набору найбільш ймовірних режимів внутрішнього прогнозування дорівнює чотирьом, і,
коли два з найбільш ймовірних режимів внутрішнього прогнозування однакові, набір з чотирьох найбільш ймовірних режимів внутрішнього прогнозування містить два доступних режими внутрішнього прогнозування, що мають напрямки прогнозування, які є найбільш близькими до напрямку прогнозування одного і того ж найбільш ймовірного режиму внутрішнього прогнозування, інакше, найбільш ймовірні режими внутрішнього прогнозування містять щонайменше один з режиму внутрішнього прогнозування DC, вертикального режиму внутрішнього прогнозування або горизонтального режиму внутрішнього прогнозування.
37. Зчитуваний комп'ютером запам'ятовуючий носій за п. 27, в якому інструкції, які примушують процесор кодувати блок, містять інструкції, які примушують процесор виконувати кодування блока, додатково містять інструкції, які примушують процесор вибирати фактичний режим внутрішнього прогнозування.
38. Зчитуваний комп'ютером запам'ятовуючий носій за п. 27, в якому інструкції, які примушують процесор кодувати блок, містять інструкції, які примушують процесор виконувати декодування згаданого блока, при цьому інструкції, які примушують процесор кодувати значення, що представляє фактичний режим внутрішнього прогнозування, містять інструкції, які примушують процесор визначати фактичний режим внутрішнього прогнозування.
39. Пристрій для кодування відео, який містить:
засіб для визначення для блока відеоданих набору найбільш ймовірних режимів внутрішнього прогнозування для того, щоб спрогнозувати блок відеоданих, в якому набір найбільш ймовірних режимів внутрішнього прогнозування має розмір, який дорівнює попередньо визначеній кількості, яка більша ніж або дорівнює двом;
засіб для кодування значення, що представляє фактичний режим внутрішнього прогнозування для згаданого блока, на основі, щонайменше частково, того, чи включений фактичний режим внутрішнього прогнозування у набір найбільш ймовірних режимів внутрішнього прогнозування; і
засіб для кодування блока, використовуючи фактичний режим внутрішнього прогнозування.
40. Пристрій за п. 39, який додатково містить:
засіб для визначення першого режиму внутрішнього прогнозування для лівого сусіднього блока згаданого блока;
засіб для визначення другого режиму внутрішнього прогнозування для верхнього сусіднього блока згаданого блока; і,
коли перший режим внутрішнього прогнозування відрізняється від другого режиму внутрішнього прогнозування, засіб для включення і першого режиму внутрішнього прогнозування, і другого режиму внутрішнього прогнозування у набір найбільш ймовірних режимів внутрішнього прогнозування.
41. Пристрій за п. 40, який додатково містить:
коли перший режим внутрішнього прогнозування є таким самим, як другий режим внутрішнього прогнозування, і коли перший і другий режими внутрішнього прогнозування містять режим, відмінний від плоского режиму, засіб для включення першого режиму внутрішнього прогнозування і плоского режиму у набір найбільш ймовірних режимів внутрішнього прогнозування.
42. Пристрій за п. 40, який додатково містить:
коли перший режим внутрішнього прогнозування є таким самим, як другий режим внутрішнього прогнозування, і коли перший і другий режими внутрішнього прогнозування містять плоский режим, засіб для включення плоского режиму і режиму DC у набір найбільш ймовірних режимів внутрішнього прогнозування.
43. Пристрій за п. 39, в якому згаданий блок містить блок яскравості, причому пристрій додатково містить:
засіб для визначення для блока кольоровості, що відповідає блоку яскравості, відображення набору значень у набір режимів внутрішнього прогнозування, причому набір режимів внутрішнього прогнозування містить горизонтальний режим, вертикальний режим, плоский режим, режим DC і режим прогнозування сигналу яскравості, в якому, коли фактичний режим внутрішнього прогнозування для блока яскравості містить режим, відмінний від горизонтального режиму, вертикального режиму, плоского режиму і режиму DC, набір режимів внутрішнього прогнозування також містить повторне використання режиму внутрішнього прогнозування яскравості, відображеного з першого значення з набору значень, і в якому, коли фактичний режим внутрішнього прогнозування для блока яскравості містить один з горизонтального режиму, вертикального режиму, плоского режиму і режиму DC, набір режимів внутрішнього прогнозування також містить режим, відмінний від горизонтального режиму, вертикального режиму, плоского режиму і режиму DC, відображений з першого значення зі згаданого набору значень;
засіб для кодування значення, що представляє фактичний режим внутрішнього прогнозування для блока кольоровості, на основі відображення набору значень у набір режимів; і
засіб для кодування блока кольоровості, використовуючи фактичний режим внутрішнього прогнозування для блока кольоровості.
44. Пристрій за п. 39, який додатково містить:
засіб для визначення напрямку прогнозування фактичного режиму внутрішнього прогнозування; і
включення щонайменше одного режиму внутрішнього прогнозування, що має напрямок прогнозування, найбільш близький до напрямку прогнозування фактичного режиму внутрішнього прогнозування, у набір найбільш ймовірних режимів внутрішнього прогнозування.
45. Пристрій за п. 39, в якому розмір набору найбільш ймовірних режимів внутрішнього прогнозування дорівнює трьом.
46. Пристрій за п. 45, який додатково містить:
визначення напрямку прогнозування першого режиму внутрішнього прогнозування;
порівняння напрямку прогнозування першого режиму внутрішнього прогнозування з напрямками прогнозування з одного або більше інших доступних режимів внутрішнього прогнозування;
включения першого режиму внутрішнього прогнозування, другого режиму внутрішнього прогнозування з одного або більше доступних режимів внутрішнього прогнозування і третього режиму внутрішнього прогнозування з одного або більше доступних режимів внутрішнього прогнозування у набір найбільш ймовірних режимів внутрішнього прогнозування, в якому другий і третій режими внутрішнього прогнозування мають напрямки прогнозування, визначені як найбільш близькі до напрямку прогнозування першого режиму внутрішнього прогнозування, на основі порівняння.
47. Пристрій за п. 39, в якому:
розмір набору найбільш ймовірних режимів внутрішнього прогнозування дорівнює чотирьом, і,
коли два з найбільш ймовірних режимів внутрішнього прогнозування однакові, набір з чотирьох найбільш ймовірних режимів внутрішнього прогнозування містить два доступних режими внутрішнього прогнозування, що мають напрямки прогнозування, які є найбільш близькими до напрямку прогнозування одного і того ж найбільш ймовірного режиму внутрішнього прогнозування, інакше, найбільш ймовірні режими внутрішнього прогнозування містять щонайменше один з режиму внутрішнього прогнозування DC, вертикального режиму внутрішнього прогнозування або горизонтального режиму внутрішнього прогнозування.
48. Пристрій за п. 39, в якому пристрій містить відеокодер.
49. Пристрій за п. 39, в якому пристрій містить відеодекодер.
Текст
Реферат: Даний опис описує способи для сигналізації режиму внутрішнього прогнозування для кодування відео. В одному прикладі відеокодер конфігурується, щоб визначити, для блока відеоданих, набір найбільш ймовірних режимів внутрішнього прогнозування таким чином, що набір найбільш ймовірних режимів внутрішнього прогнозування має розмір, який дорівнює заздалегідь визначеному числу, яке більше ніж або дорівнює двом. Відеокодер також сконфігурований, щоб кодувати значення, що представляє фактичний режим внутрішнього прогнозування для блока, на основі, щонайменше частково, набору найбільш ймовірних режимів внутрішнього прогнозування, і кодувати блок, використовуючи фактичний режим внутрішнього прогнозування. Відеокодер може бути далі сконфігурований, щоб кодувати блок, використовуючи фактичний режим внутрішнього прогнозування, наприклад, кодувати або декодувати блок. Відеокодери і відеодекодери можуть реалізувати ці способи. UA 110649 C2 (12) UA 110649 C2 UA 110649 C2 5 10 15 20 25 30 35 40 45 50 55 60 Дана заявка стосується і заявляє про пріоритет попередньої заявки на патент США № 61/495332, поданої 9 червня 2011; попередньої заявки на патент США № 61/503712, поданої 1 липня 2011; попередньої заявки на патент США № 61/504664, поданої 5 липня 2011; і попередньої заявки на патент США № 61/533118, поданої 9 вересня 2011, весь вміст кожної з яких тим самим включений за допомогою посилання. Галузь техніки Даний опис стосується кодування відео і, більш докладно, сигналізації характеристик кодування для кодованих відеоданих. Рівень техніки Цифрові можливості відео можуть бути включені у широкий діапазон пристроїв, включаючи цифрові телевізори, цифрові системи прямого мовлення, бездротові системи мовлення, персональні цифрові помічники (PDA), портативні або настільні комп'ютери, цифрові камери, цифрові пристрої запису, цифрові плеєри аудіовізуальної інформації, відеоігрові пристрої, консолі відеоігор, стільникові або супутникові радіотелефони, пристрої організації відеотелеконференцій і т.п. Цифрові відеопристрої реалізовують способи стиснення відео, такі як описані у стандартах, визначених за допомогою MPEG-2, MPEG-4, ITU-T H.263 або ITU-T H.264/MPEG-4, Part 10, Advanced Video Coding (AVC), і розширеннях таких стандартів, щоб передавати і приймати цифрову відеоінформацію більш ефективно. Способи стиснення відео виконують просторове (всередині картинки) прогнозування і/або часове (між картинками) прогнозування, щоб зменшити або видалити надмірність, властиву відеопослідовностям. Для кодування відео відеокадр, що базується на блоці, картинка або вирізка можуть бути розділені на відеоблоки. Кожний відеоблок може бути далі розділений. Відеоблоки у внутрішньо кодованому (I) кадрі або вирізці кодуються, використовуючи просторове прогнозування відносно сусідніх відеоблоків у тих самих кадрі, картинці або вирізці. Відеоблоки у зовні кодованому (Р або В) кадрі або вирізці можуть використовувати просторове прогнозування відносно сусідніх макроблоків у тому самому кадрі або вирізці, або часове прогнозування відносно інших опорних кадрів. Як використовуються тут, терміни "картинки" можуть згадуватися як посилання на кадри і "опорні картинки" можуть бути віднесені до опорних кадрів. Просторове або часове прогнозування приводить до прогнозуючого блоку для блоку, який повинен бути закодований. Залишкові дані представляють піксельні відмінності між початковим блоком, який повинен бути закодований, і прогнозуючим блоком. Зовні кодований блок кодується відповідно до вектора руху, який вказує на блок опорних вибірок, що формують прогнозуючий блок, і залишкових даних, що вказують відмінність між закодованим блоком і прогнозуючим блоком. Внутрішньо кодований блок кодується відповідно до режиму внутрішнього кодування і залишкових даних. Для подальшого стиснення залишкові дані можуть бути перетворені з піксельної області в область перетворення, приводячи до залишкових коефіцієнтів перетворення, які потім можуть квантуватися. Квантовані коефіцієнти перетворення, спочатку розміщені у двовимірній множині, можуть бути скановані, щоб сформувати одновимірний вектор коефіцієнтів перетворення, і ентропійне кодування може бути застосоване, щоб досягти навіть більшого ступеню стиснення. Суть винаходу Загалом даний опис описує способи для сигналізації режимів внутрішнього прогнозування для кодування відео. Способи даного розкриття можуть поліпшити ефективність для сигналізації режиму кодування з внутрішнім прогнозуванням, що використовується для режиму внутрішнього кодування блоку відеоданих. Відеодані включають в себе послідовність кадрів (або картинок), які відтворюються у швидкій послідовності, щоб моделювати рух. Кожний з кадрів може бути розділений на блоки. Способи даного розкриття включають в себе фіксацію багатьох найбільш ймовірних кандидатів режиму внутрішнього прогнозування до більш ніж або рівних двом для кожного блоку у межах кадру. Таким чином, може мати місце відносне підвищення ефективності для синтаксичного розбору при обробці декодування і зменшенні використання пам'яті, використовуючи способи даного розкриття. В одному прикладі запропонований спосіб для кодування відеоданих, причому спосіб містить визначення, для блоку відеоданих, набору найбільш ймовірних режимів внутрішнього прогнозування таким чином, що набір найбільш ймовірних режимів внутрішнього прогнозування має розмір, який дорівнює заздалегідь визначеному числу, яке більше ніж або дорівнює двом. Спосіб також містить кодування значення, що представляє фактичний режим внутрішнього прогнозування для блоку, на основі, щонайменше частково, набору найбільш ймовірних режимів внутрішнього прогнозування, і кодування блоку, використовуючи фактичний режим внутрішнього прогнозування. 1 UA 110649 C2 5 10 15 20 25 30 35 40 45 50 55 В іншому аспекті пристрій для кодування даних містить відеокодер, який конфігурується, щоб визначити, для блоку відеоданих, набір найбільш ймовірних режимів внутрішнього прогнозування таким чином, що набір найбільш ймовірних режимів внутрішнього прогнозування має розмір, який дорівнює заздалегідь визначеному числу, яке більше ніж або дорівнює двом. Відеокодер також сконфігурований, щоб закодувати значення, що представляє фактичний режим внутрішнього прогнозування для блоку, на основі, щонайменше частково, набору найбільш ймовірних режимів внутрішнього прогнозування. Відеокодер також сконфігурований для кодування блоку, використовуючи фактичний режим внутрішнього прогнозування. В іншому аспекті зчитуваний комп'ютером носій містить зчитуваний комп'ютером запам'ятовуючий носій, що зберігає на ньому інструкції, які при виконанні примушують процесор пристрою кодування відео визначати, для блоку відеоданих, набір найбільш ймовірних режимів внутрішнього прогнозування таким чином, що набір найбільш ймовірних режимів внутрішнього прогнозування має розмір, який дорівнює заздалегідь визначеному числу, яке більше ніж або дорівнює двом. Інструкції далі примушують процесор кодувати значення, що представляє фактичний режим внутрішнього прогнозування для блоку, на основі, щонайменше частково, набору найбільш ймовірних режимів внутрішнього прогнозування, і кодувати цей блок, використовуючи фактичний режим внутрішнього прогнозування. В іншому аспекті забезпечений пристрій, який містить засіб для визначення, для блоку відеоданих, набору найбільш ймовірних режимів внутрішнього прогнозування таким чином, що набір найбільш ймовірних режимів внутрішнього прогнозування має розмір, який дорівнює заздалегідь визначеному числу, яке більше ніж або дорівнює двом. Пристрій також містить засіб для кодування значення, що представляє фактичний режим внутрішнього прогнозування для блоку, на основі, щонайменше частково, набору найбільш ймовірних режимів внутрішнього прогнозування, і засіб для кодування блоку, використовуючи фактичний режим внутрішнього прогнозування. Способи, описані у даному описі, можуть бути реалізовані в апаратному забезпеченні, програмному забезпеченні, програмно-апаратних засобах або будь-якій їх комбінації. Якщо реалізовано у програмному забезпеченні, програмне забезпечення може бути виконане у процесорі, який може належати до одного або більше процесорів, таких як мікропроцесор, спеціалізована інтегральна схема (ASIC), програмована користувачем вентильна матриця (FPGA) або цифровий сигнальний процесор (DSP), або інша еквівалентна інтегральна або дискретна логічна схема. Програмне забезпечення, що містить інструкції виконувати згадані способи, може бути спочатку збережене у зчитуваному комп'ютером носії і завантажене і виконане процесором. Відповідно, даний опис також розглядає зчитуваний комп'ютером носій, який містить інструкції, щоб примусити процесор виконувати будь-яку множину способів, як описано у даному описі. У деяких випадках зчитуваний комп'ютером носій може бути частиною комп'ютерного програмного продукту, який може бути проданий виробниками і/або використовуватися у пристрої. Комп'ютерний програмний продукт може включати в себе зчитуваний комп'ютером носій і у деяких випадках може також включати в себе пакувальні матеріали. Даний опис може також стосуватися електромагнітних сигналів, які несуть інформацію. Наприклад, електромагнітний сигнал може містити інформацію, що стосується повної піксельної підтримки, яка використовується для інтерполяції значення для суб-цілочислового пікселя опорної вибірки. У деяких прикладах сигнал може генеруватися від або може бути переданий пристроєм, що реалізовує способи, описані тут. В інших прикладах даний опис може стосуватися сигналів, які можуть бути прийняті у пристрої, що реалізовує способи, описані тут. Подробиці одного або більше аспектів розкриття сформульовані у доданих кресленнях і описі нижче. Інші ознаки, задачі і переваги способів, описаних у даному описі, будуть очевидні з опису і креслень та з формули винаходу. Короткий опис креслень Фіг.1 представляє приклад трьох блоків, включаючи поточний блок, який повинен бути закодований, і два сусідніх блоки. Фіг. 2 є блок-схемою, що ілюструє зразкову систему кодування і декодування відео, яка може використовувати способи для кодування синтаксичних даних, що представляють режими внутрішнього прогнозування для блоків відеоданих. Фіг. 3 є блок-схемою, що ілюструє приклад відеокодера, який може реалізовувати способи для кодування інформації, що вказує режим внутрішнього прогнозування. Фіг. 4 є блок-схемою, що ілюструє приклад відеодекодера, який декодує кодовану відеопослідовність. 2 UA 110649 C2 5 10 15 20 25 30 35 40 45 50 55 60 Фіг. 5 є діаграмою, що ілюструє один приклад 35 режимів внутрішнього прогнозування і їх відповідних напрямів прогнозування. Фіг. 6 є діаграмою, що ілюструє інший приклад 35 режимів внутрішнього прогнозування і їх відповідних напрямів прогнозування. Фіг. 7 є послідовністю операцій, що ілюструє один приклад способу для сигналізації режиму внутрішнього прогнозування для відеокодування. Фіг. 8 є послідовністю операцій, що ілюструє один приклад способу для визначення найбільш ймовірних кандидатів режиму внутрішнього прогнозування, коли набір найбільш ймовірних режимів внутрішнього прогнозування дорівнює трьом. Детальний опис Загалом даний опис описує способи для сигналізації режимів внутрішнього прогнозування для кодування відео. Способи даного розкриття можуть поліпшити ефективність для сигналізації режиму кодування з внутрішнім прогнозуванням, що використовується для внутрішнього кодування блоку відеоданих. Відеокодер, наприклад, може включати в себе набір з двох або більше режимів-кандидатів внутрішнього прогнозування для поточного блоку, який включає в себе два (або більше) найбільш ймовірних режими внутрішнього прогнозування, що базуються на режимах внутрішнього прогнозування блоків, які межують з поточним блоком. Набір кандидатів може включати в себе індекси для двох або більше найбільш ймовірних режимів внутрішнього прогнозування. Як використовується тут, терміни "режими" можуть використовуватися загалом, щоб посилатися на "режими внутрішнього прогнозування". У деяких прикладах способи даного розкриття забезпечують різні набори режимівкандидатів внутрішнього прогнозування, на основі типу прогнозованих відеоданих. Наприклад, за деяких умов деякі режими внутрішнього прогнозування можуть бути включені як ймовірний режим внутрішнього прогнозування, коли набір найбільш ймовірних режимів внутрішнього прогнозування включає в себе 3 або більше режимів, таких як плоский або DC режим. Відеодані включають в себе послідовність кадрів (або картинок), що відтворюються у швидкій послідовності, щоб моделювати рух. Кожний з кадрів може бути розділений на блоки. Як використовуються тут, терміни "кадр" і "картинка" можуть бути використані взаємозамінно. Відеокодери кодують відеодані, використовуючи просторову і часову надмірність. Наприклад, відеокодер може використовувати просторову надмірність за допомогою прогнозування блоку відносно сусідніх, раніше кодованих блоків. Аналогічно, відеокодер може використовувати часову надмірність за допомогою прогнозування блоку відносно даних раніше кодованих кадрів. Зокрема, відеокодер прогнозує поточний блок з даних просторового сусіда або з даних одного або більше раніше кодованих кадрів. Відеокодер потім обчислює залишкове значення для цього блоку як різницю між фактичним значенням для блоку і прогнозованим значенням для блоку. Відеокодер використовує одиниці прогнозування (PU), щоб представити дані прогнозування для одиниці кодування (CU) і одиниці перетворення (TU), щоб представити залишкові дані. Залишкові дані для блоку включають в себе значення піксельної різниці піксельза-пікселем у піксельній (або просторовій) області. Відеокодер може далі перетворити залишкові дані, представляючи дані в області перетворення. Відеодекодер може прийняти закодовані дані для закодованого блоку. Закодовані дані можуть включати в себе представлення режиму прогнозування, який використовується, щоб закодувати блок, а також індикацію розділення одиниць PU для цього блоку. Таким чином, відеодекодер може використовувати одне і те саме розділення одиниць PU і застосовувати один і той самий режим прогнозування, щоб декодувати цей блок. Щоб зменшити кількість бітів, які витрачаються у сигналізації режиму прогнозування, пристрої кодування відео можуть визначати ймовірності режимів прогнозування кодування для поточного блоку, на основі режимів кодування сусідніх блоків. Фіг. 1 представляє приклад трьох відеоблоків: А (4), В (6) і С (8). Блок С (8) представляє поточний блок, що кодується, блок А (4) представляє лівий сусідній, раніше кодований блок відносно блоку С (8), і блок В (6) представляє верхній сусідній, раніше кодований блок відносно блоку С (8). Для прикладу на фіг. 1, блоки А (4), В (6) і С (8) є блоками внутрішньо прогнозованої картинки, кадру або вирізки. Пристрій кодування відео, такий як відеокодер або відеодекодер, може визначити два або більше ймовірних режимів внутрішнього прогнозування для блоку С (8) на основі режимів внутрішнього прогнозування блоків А (4) і В (6). Звичайно блок С більш ймовірно буде прогнозований, використовуючи режим або блоку А (4), або блоку В (6). Як правило, коли блоки А (4) і В (6) мають один і той самий режим внутрішнього прогнозування, найбільш ймовірний режим внутрішнього прогнозування для блоку С (8) буде режимом внутрішнього прогнозування блоків А (4) і В (6). З іншого боку, коли блоки А (4) і В (6) мають різні режими внутрішнього прогнозування, пристрій кодування відео повинен визначити, чи буде 3 UA 110649 C2 5 10 15 20 25 30 35 40 45 50 55 60 режим прогнозування для блоку С (8), більш ймовірно, режимом внутрішнього прогнозування блоку А (4) або режимом внутрішнього прогнозування блоку В (6). Більш детально, у звичайному кодуванні відео високої продуктивності (HEVC), таблиця відображення може використовуватися, щоб відобразити режими внутрішнього прогнозування на індекси кодових слів. Індекси кодових слів можуть бути відображені за допомогою іншої таблиці на коди змінної довжини (для CAVLC) або бінаризовані значення (для CABAC). Крім того, для кожного блоку декілька найбільш ймовірних режимів можуть бути визначені, де найбільш ймовірним режимам можуть бути призначені найменші індекси, де найменші індекси є найбільш ймовірними і, таким чином, кодуються з використанням меншої кількості бітів. У звичайному HEVC кількість найбільш ймовірних режимів може змінюватися на основі того, мають блоки А (4) і В (6) одні і ті самі або різні режими внутрішнього прогнозування. Даний опис забезпечує різні способи для поліпшення сигналізації режимів внутрішнього прогнозування для кодування відео. В одному прикладі, замість того, щоб дозволити декільком найбільш ймовірним режимам змінюватися для кожного блоку, як описано вище, завжди може бути фіксована кількість найбільш ймовірних режимів, яка дорівнює щонайменше двом. У той час як кількість найбільш ймовірних режимів може бути більшою ніж два, у цих способах кількість найбільш ймовірних режимів встановлена для всіх блоків у картинці. Іншими словами, пристрій кодування відео може бути сконфігурований, щоб використовувати заздалегідь визначену кількість найбільш ймовірних режимів для всіх блоків, і ця заздалегідь визначена кількість може бути більшою ніж або дорівнювати двом. У цьому прикладі, якщо режими внутрішнього прогнозування блоків А (4) і В (6) різні, і заздалегідь визначена кількість найбільш ймовірних режимів для блоку С (8) дорівнює двом, то два найбільш ймовірних режими внутрішнього прогнозування для блоку С (8) можуть відповідати режимам внутрішнього прогнозування блоків А (4) і В (6). Однак, якщо режими внутрішнього прогнозування блоків А (4) і В (6) є однаковими, пристрій кодування відео може додати другий найбільш ймовірний режим до набору найбільш ймовірних режимів. У деяких прикладах, якщо режими внутрішнього прогнозування блоків А (4) і В (6) є однаковими і режимом є режим, відмінний від плоского режиму, то другий найбільш ймовірний режим для блоку С (8) вибирається як плоский режим. З іншого боку, якщо режими внутрішнього прогнозування блоків А (4) і В (6) є однаковими, і режим є плоским режимом, то другий найбільш ймовірний режим для блоку С (8) вибирається як режим DC. У деяких прикладах плоский режим може завжди бути відображений в індексне значення 0. Для прикладів, де є більше ніж два найбільш ймовірних режими у заздалегідь визначеній кількості найбільш ймовірних режимів, ці режими можуть відповідати режимам внутрішнього прогнозування, які є аналогічними за напрямом напрямам внутрішнього прогнозування для блоків А (4) і В (6). Приклади, описані вище, посилаються на режими внутрішнього прогнозування для даних яскравості. Для кольоровості даний опис пропонує фіксувати доступну кількість режимів внутрішнього прогнозування таким чином, щоб деякі режими внутрішнього прогнозування завжди були режимами-кандидатами внутрішнього прогнозування, у деяких прикладах. Традиційно, шість режимів доступні для блоків кольоровості: вертикальний режим, горизонтальний режим, режим DC, плоский режим, режим прогнозування, що базується на сигналі яскравості, і успадковування режиму прогнозування яскравості. Успадковування режиму прогнозування яскравості дозволяє режиму кольоровості успадковувати режим відповідного блоку яскравості. Через це два символи, або значення індексу, можуть бути призначені на один і той самий режим, наприклад, коли блок яскравості прогнозується, використовуючи вертикальний, горизонтальний, DC або плоский режим. По суті це означає, що блок кольоровості може мати тільки п'ять можливих режимів, а не шість. Таким чином, є надмірний сигнал щонайменше для одного режиму у таких ситуаціях. Даний опис пропонує додати інший режим внутрішнього прогнозування для блоків кольоровості, коли надмірний сигнал доступний, у деяких прикладах. Припускаючи, що блок яскравості прогнозується, використовуючи один з горизонтального, вертикального, DC або плоского режиму, режим, що відповідає значенню індексу, яке може інакше вказувати успадковування режиму внутрішнього прогнозування яскравості, може бути відображений на відмінний режим, ніж режим, що використовується для відповідного блоку яскравості. Цей додатковий режим може відповідати режиму, що має аналогічну направленість режиму відповідного блоку яскравості, який інакше не є доступним для блоку кольоровості. Відповідно до способів даного опису, зразковий процес виведення для режимів внутрішнього прогнозування яскравості може включати в себе наступні вхідні сигнали: місцеположення (xB, yB) яскравості, що задає верхню ліву вибірку яскравості поточного блоку 4 UA 110649 C2 5 відносно верхньої лівої вибірки яскравості поточної картинки поточного блоку; змінну, log2TrafoSize, що задає розмір поточного блоку прогнозування; і, якщо доступний, масив змінних, IntraPredMode, які отримані для суміжних одиниць кодування, раніше декодованих у порядку декодування. Вихідний сигнал цього процесу виведення може бути позначений змінною IntraPredMode [xB] [yB]. Таблиця 1 визначає приклад декількох режимів внутрішнього прогнозування яскравості, intraPredModeNum, в залежності від log2TrafoSize, розміру поточного блоку прогнозування. Таблиця 1 Специфікація intraPredModeNum log2TrafoSize 2 3 4 5 6 10 15 20 25 intraPredModeNum 17 34 34 34 3 Змінна candModeList[х] задає режими внутрішнього прогнозування, які доступні. Змінна NumMPMCand задає кількість кандидатів найбільш ймовірного режиму (MPM). Відповідно до способів, описаних тут, кількість кандидатів MPM є фіксованою для всіх блоків у картинці або кадрі. Відеокодер може бути сконфігурований, щоб сигналізувати значення, що представляє кількість кандидатів MPM у, наприклад, наборі параметрів послідовності (SPS) для послідовності картинок, наборі параметрів картинки (PPS) для індивідуальної картинки, або іншій структурі даних. Аналогічно, відеодекодер може визначити кількість кандидатів MPM, інтерпретуючи такі сигналізовані значення. candModeList[х] і NumMPMCand можуть бути отримані на основі присутності і значень candIntraPredModeN. Якщо обидва candIntraPredModeN не доступні, то індексне значення 2 призначається на candModeList[0] і NumMPMCand встановлюється рівним 1. Інакше, якщо тільки один candIntraPredModeN доступний, то цей candIntraPredModeN призначається на candModeList [0] і NumMPMCand встановлюється рівним 1. Аналогічно, якщо обидва candIntraPredModeN є однаковими, один з candIntraPredModeN призначається на candModeList[0] і NumMPMCand встановлюється рівним 1. Якщо обидва candIntraPredModeN різні, NumMPMCand встановлюється рівним 2 і обидва candIntraPredModeN призначаються на список режимів-кандидатів, з меншими з цих двох кандидатів при candModeList [0] і більшим у candModeList[1]. Таблиця 2 підсумовує як candModeList[х] і NumMPMCand можуть бути отримані. Таблиця 2 Специфікація intraPredModeNum candIntraPredModeN Обидва недоступні Доступний тільки один Обидва однакові Обидва різні candModeList[0] 2 candIntraPredModeN candIntraPredModeN Менший candIntraPredModeN встановлюється як candModeList[0] і більший candIntraPredModeN встановлюється як candModeList[1] NumMPMCand 1 1 1 2 30 35 IntraPredMode [xB] [yB] може бути отриманий, застосовуючи наступну процедуру. Якщо prev_intra_pred_flag [xB] [yB] є справжнім, IntraPredMode [xB] [yB] встановлюється рівним candModeList [mpm_idx [xB] [yB]]. Інакше, IntraPredMode [xB] [yB] отримують, застосовуючи наступні рівняння: IntraPredMode [xB] [yB] = rem_intra_luma_pred_mode (1) for (cIdx=0; cldx candModeList [cIdx]), then (2) IntraPredMode [xB] [yB] ++ 5 UA 110649 C2 5 10 15 20 25 30 35 40 45 50 55 60 У цих прикладах змінна rem_intra_pred_mode сигналізується за допомогою бінаризації фіксованої довжини з одним контекстом. Змінна cIdx задає компонент кольоровості поточного блоку. Для сигналізації режиму внутрішнього прогнозування кольоровості поточний HEVC розрізняє шість режимів, включаючи: вертикальний, горизонтальний, DC, плоский, прогнозування кольоровості, що базується на сигналі яскравості, і успадковування режиму прогнозування яскравості. Серед всіх цих режимів успадковування режиму прогнозування яскравості означає, що напрям прогнозування кольоровості є таким самим як напрям прогнозування яскравості. Через це деякі надмірні символи видаляються, якщо режимом яскравості є вертикальний, горизонтальний, DC або плоский. У результаті кодові таблиці мають різні розміри для різного режиму прогнозування яскравості. Цей процес може потребувати додаткового процесу декодування при синтаксичному розборі і додатковій пам'яті. По-перше, щоб синтаксично розібрати intra_pred_mode, декодер повинен декодувати intra_pred_mode сусідніх блоків А і В, щоб визначити candIntraPredModeA і candIntraPredModeB. Крім того, декодер повинен визначити candModeList і NumMPMC. Додаткова пам'ять потрібна, оскільки шість бітів необхідні у буфері лінії декодера для кожного блоку 4×4, щоб зберегти intra_pred_mode. Далі, кодування rem_intra_pred_mode не ефективне через бінаризацію фіксованої довжини і її моделювання контексту. Крім того, наявність різних розмірів кодових таблиць для режиму прогнозування кольоровості потребує наявності попереднього знання режиму прогнозування яскравості перед синтаксичним розбором режиму прогнозування кольоровості. Фіг. 2 є блок-схемою, що ілюструє зразкову систему 10 кодування і декодування відео, яка може використовуватися, щоб реалізовувати різні способи, описані тут. Як показано на фіг. 2, система 10 включає в себе початковий пристрій 12, який передає закодовані відеодані на пристрій 14 призначення через канал зв'язку 16. Початковий пристрій 12 і пристрій 14 призначення можуть містити будь-який з широкого діапазону пристроїв. У деяких випадках початковий пристрій 12 і пристрій 14 призначення можуть містити пристрої бездротового зв'язку, такі як бездротові телефонні трубки, так звані стільникові або супутникові радіотелефони, або будь-які бездротові пристрої, які можуть передати відеоінформацію по каналу зв'язку 16, коли канал зв'язку 16 є бездротовим. Способи даного розкриття, однак, не обов'язково обмежені бездротовими додатками або параметрами настройки. Наприклад, ці способи можуть стосуватися телевізійного радіомовлення, передач кабельного телебачення, передач супутникового телебачення, інтернет-передач відео, кодованого цифрового відео, яке закодоване на носій даних, або інших сценаріїв. Відповідно, канал зв'язку 16 може містити будь-яку комбінацію бездротових або дротових носіїв, придатних для передачі кодованих відеоданих. Крім того, канал зв'язку 16 призначений, щоб представити тільки один з багатьох шляхів, якими пристрій кодування відео може передати дані до пристрою декодування відео. Наприклад, в інших конфігураціях системи 10 початковий пристрій 12 може генерувати кодоване відео для декодування пристроєм 14 призначення і зберегти кодоване відео на носії даних або файлі-сервері таким чином, що до закодованого відео може отримати доступ пристрій 14 призначення, як бажано. У прикладі відповідно до фіг. 2 початковий пристрій 12 включає в себе відеоджерело 18, відеокодер 20, модулятор/демодулятор (модем) 22 і передавач 24. Пристрій 14 призначення включає в себе приймач 26, модем 28, відеодекодер 30 і пристрій 32 відображення. Відповідно до даного розкриття, відеокодер 20 з початкового пристрою 12 може бути сконфігурований, щоб застосовувати способи кодування синтаксичних даних, що представляють режими внутрішнього прогнозування для блоків відеоданих. В інших прикладах початковий пристрій і пристрій призначення можуть включати в себе інші компоненти або компонування. Наприклад, початковий пристрій 12 може прийняти відеодані від зовнішнього відеоджерела 18, такого як зовнішня камера. Аналогічно, пристрій 14 призначення може взаємодіяти із зовнішнім пристроєм відображення замість включення інтегрованого пристрою відображення. Ілюстрована система 10 на фіг. 2 є просто одним прикладом. Способи для кодування синтаксичних даних, що представляють режими внутрішнього прогнозування для блоків відеоданих, можуть бути виконані будь-яким цифровим пристроєм кодування і/або декодування відео. Хоча звичайно способи даного розкриття виконуються пристроєм кодування відео, ці способи можуть також бути виконані кодером/декодером відео, який типово називають "кодек". Крім того, способи даного розкриття можуть також бути виконані препроцесором відео. Початковий пристрій 12 і пристрій 14 призначення є просто прикладами таких пристроїв кодування, в яких початковий пристрій 12 генерує кодовані відеодані для передачі на пристрій 14 призначення. У деяких прикладах пристрої 12 і 14 можуть працювати по суті симетричним 6 UA 110649 C2 5 10 15 20 25 30 35 40 45 50 55 60 способом таким чином, що кожен з пристроїв 12 і 14 включає в себе компоненти, які кодують і декодують відео. Отже, система 10 може підтримувати односторонню або двосторонню передачу відео між відеопристроями 12, 14, наприклад, для передачі відео у вигляді потоку, відтворення відео, радіомовлення відео або відеотелефонії. Відеоджерело 18 з початкового пристрою 12 може включати в себе пристрій захоплення відео, такий як відеокамера, відеоархів, що містить раніше захоплене відео, і/або подачу відео від постачальника відеоконтенту. Як подальша альтернатива, відеоджерело 18 може генерувати дані, що базуються на комп'ютерній графіці, як початкове відео, або комбінацію живого відео, архівованого відео і згенерованого комп'ютером відео. У деяких випадках, якщо відеоджерело 18 є відеокамерою, початковий пристрій 12 і пристрій 14 призначення можуть формувати так звані камерофони або відеотелефони. Як згадано вище, однак, способи, описані у даному описі, можуть бути застосовними до кодування відео взагалі, і можуть бути застосовані до бездротових і/або дротових додатків. У кожному випадку захоплене, заздалегідь захоплене, або згенероване комп'ютером відео може бути закодоване відеокодером 20. Закодована відеоінформація може потім модулюватися модемом 22 відповідно до стандарту зв'язку, і передана на пристрій 14 призначення через передавач 24. Модем 22 може включати в себе різні змішувачі, фільтри, підсилювачі або інші компоненти, розроблені для модуляції сигналу. Передавач 24 може включати в себе схеми, розроблені для того, щоб передати дані, включаючи підсилювачі, фільтри, і одну або більше антен. Приймач 26 у пристрої 14 призначення приймає інформацію по каналу 16 і модем 28 демодулює цю інформацію. Знову, процес кодування відео може реалізовувати один або більше способів, описаних тут для кодування даних синтаксису, що представляють режими внутрішнього прогнозування для блоків відеоданих. Інформація, передана по каналу 16, може включати в себе інформацію синтаксису, визначену відеокодером 20, яка також використовується відеодекодером 30, що включає в себе елементи синтаксису, які описують характеристики і/або обробку макроблоків та інших закодованих блоків, наприклад, GOP (груп картинок). Пристрій 32 відображення відображає декодовані відеодані користувачу і може містити будь-яку множину пристроїв відображення, таких як електронно-променева трубка (CRT), рідкокристалічний дисплей (LCD), плазмовий дисплей, дисплей на органічних свілодіодах (OLED), або інший тип пристрою відображення. У прикладі відповідно до фіг. 1 канал зв'язку 16 може містити будь-який бездротовий або дротовий комунікаційний носій, такий як з радіочастотного (RF) спектра або одну, або більше фізичних ліній передачі, або будь-яку комбінацію бездротових або дротових носіїв. Канал зв'язку 16 може бути частиною мережі, що базується на пакетній передачі, такої як локальна мережа, регіональна мережа або глобальна мережа, така як Інтернет. Канал зв'язку 16 у загальному випадку представляє будь-який придатний комунікаційний носій або колекцію різних комунікаційних носіїв для того, щоб передати відеодані від початкового пристрою 12 на пристрій 14 призначення, включаючи будь-яку придатну комбінацію бездротових або дротових носіїв. Канал зв'язку 16 може включати в себе маршрутизатори, комутатори, базові станції або будьяке інше обладнання, яке може бути корисним, щоб полегшити зв'язок від початкового пристрою 12 на пристрій 14 призначення. Відеокодер 20 і відеодекодер 30 можуть працювати відповідно до стандарту стиснення відео, такого як стандарт ITU-T H.264, який альтернативно називають MPEG-4, Part 10, Advanced Video Coding (AVC). Способи даного розкриття, однак, не обмежені жодним конкретним стандартом кодування. Інші приклади включають в себе MPEG-2 та ITU-T H.263. Хоча не показано на фіг. 1, у деяких аспектах відеокодер 20 і відеодекодер 30 можуть кожний інтегруватися з аудіо кодером і декодером, і можуть включати в себе відповідні блоки MUXDEMUX, або інше апаратне забезпечення і програмне забезпечення, щоб виконувати кодування як аудіо, так і відео у загальному потоку даних або окремих потоках даних. Якщо застосовно, блоки MUX-DEMUX можуть відповідати протоколу мультиплексора ITU H.223, або іншим протоколам, таким як протокол дейтаграм користувача (UDP). Стандарт ITU-T H.264/MPEG-4 (AVC) був сформульований групою експертів з кодування відео ITU-T (VCEG) разом з ISO/IEC групою експертів з рухомих зображень (MPEG) як продукт колективного товариства, відомого як об'єднана команда відео (JVT). У деяких аспектах способи, описані у даному описі, можуть бути застосовані до пристроїв, які звичайно відповідають стандарту H.264. Стандарт H.264 описаний у Рекомендації H.264 ITU-T, Вдосконаленому кодуванні відео для загальних аудіовізуальних послуг, групою з вивчення ITUT, і датований березнем 2005, який може бути згаданий тут як стандарт H.264 або специфікація H.264, або стандарт або специфікація H.264/AVC. Об'єднана команда відео (JVT) продовжує працювати над розширеннями до H.264/MPEG-4 AVC. 7 UA 110649 C2 5 10 15 20 25 30 35 40 45 50 55 60 Відеокодер 20 і відеодекодер 30 кожний може бути реалізований як будь-яка з множини придатних схем кодера, таких як один або більше мікропроцесорів, цифрових сигнальних процесорів (DSPs), спеціалізованих інтегральних схем (ASIC), програмованих користувачем вентильних матриць (FPGA), дискретної логіки, програмного забезпечення, апаратного забезпечення, програмно-апаратних засобів або будь-яких їх комбінацій. Кожний відеокодер 20 і відеодекодер 30 може бути включений в один або більше кодерів або декодерів, будь-який з яких може інтегруватися як частина об'єднаного кодера/декодера (кодек) у відповідну камеру, комп'ютер, мобільний пристрій, пристрій абонента, пристрій мовлення, телевізійний префікс, сервер або аналогічне. Відеопослідовність типово включає в себе набір відеокадрів. Група картинок (GOP) звичайно містить послідовність з одного або більше відеокадрів. GOP може включати в себе дані синтаксису у заголовку GOP, заголовок одного або більше кадрів GOP, або в іншому місці, яке описує декілька кадрів, включених в GOP. Кожний кадр може включати в себе дані синтаксису кадру, які описують режим кодування для відповідного кадру. Відеокодер 20, наприклад, може включати в себе фіксований набір найбільш ймовірних режимів-кандидатів внутрішнього прогнозування для кожного блоку у кадрі, або кожного блоку у межах кожного кадру у межах кожної GOP. Фіксований набір кандидатів MPM може включати в себе два (або більше) найбільш ймовірних режими внутрішнього прогнозування, що базуються на режимах внутрішнього прогнозування блоків, які межують з поточним блоком. Відеокодер 20 типово оперує над відеоблоками у межах індивідуальних відеокадрів, щоб закодувати відеодані. Відеоблок може відповідати блоку, CU, PU або TU. Відеоблоки можуть мати фіксований або змінний розміри і можуть відрізнятися за розміром відповідно до вказаного стандарту кодування. Кожний відеокадр може включати в себе множину вирізок. Кожна вирізка може включати в себе множину макроблоків, які можуть бути скомпоновані у фрагменти (розділення), які також називають суб-блоками. Як приклад, стандарт ITU-T H.264 підтримує внутрішнє прогнозування у різних розмірах блоку, таких як 16 на 16, 8 на 8, або 4 на 4 для компонентів яскравості, і 88 для компонентів кольоровості, так само як зовнішнє прогнозування у різних розмірах блоку, таких як 1616, 168, 816, 88, 84, 48 і 44 для компонентів яскравості і відповідних масштабованих розмірів для компонентів кольоровості. У даному описі "NN" і "N на N" може використовуватися взаємозамінно, щоб посилатися на піксельні розмірності блоку у термінах вертикального і горизонтального вимірювань, наприклад, 1616 пікселів або 16 на 16 пікселів. Звичайно блок 1616 буде мати 16 пікселів у вертикальному напрямі (у=16) і 16 пікселів у горизонтальному напрямі (х=16). Аналогічно, блок NN звичайно має N пікселів у вертикальному напрямі і N пікселів у горизонтальному напрямі, де N представляє ненегативне цілочислове значення. Пікселі у блоці можуть бути розміщені у рядах і колонках. Крім того, блоки не повинні обов'язково мати однакову кількість пікселів у горизонтальному напрямі та у вертикальному напрямі. Наприклад, блоки можуть містити пікселі NM, де М не обов'язково дорівнює N. Розміри блоку, які менше ніж 16 на 16, можуть згадуватися як розділення макроблоку 16 на 16. Відеоблоки можуть містити блоки піксельних даних у піксельній області або блоки коефіцієнтів перетворення в області перетворення, наприклад, після застосування перетворення, такого як дискретне косинусне перетворення (DCT), цілочислове перетворення, вейвлет перетворення або концептуально аналогічне перетворення, до залишкових даних відеоблоку, що представляє піксельні різниці між закодованими відеоблоками і прогнозуючими відеоблоками. У деяких випадках відеоблок може містити блоки квантованих коефіцієнтів перетворення в області перетворення. Менші відеоблоки можуть забезпечити краще розрізнення і можуть використовуватися для визначення місцеположень відеокадру, які включають в себе високі рівні деталей. Звичайно макроблоки і різні розділення, які іноді називають суб-блоками, можуть вважатися відеоблоками. Крім того, вирізка може розглядатися як множина відеоблоків, таких як макроблоки і/або суб-блоки. Кожна вирізка може бути одиницею відеокадру, що незалежно декодується. Альтернативно, самі кадри можуть бути одиницями, що декодуються, або інші частини кадру можуть бути визначені як одиниці, що декодуються. Термін "кодована одиниця" може стосуватися будь-якої одиниці відеокадру, що незалежно декодується, такої як весь кадр, вирізка кадру, група картинок (GOP), яку також називають послідовністю, або іншої одиниці, що незалежно декодується, визначеної відповідно до застосовних способів кодування. У наш час докладаються зусилля, щоб розвинути новий стандарт кодування відео, який зараз називається кодування відео високої продуктивності (HEVC). Стандарт HEVC може також згадуватися як H.265. Зусилля зі стандартизації базуються на моделі пристрою кодування відео, яку називають тестова Модель HEVC (HM). HM передбачає декілька можливостей пристроїв 8 UA 110649 C2 5 10 15 20 25 30 35 40 45 50 55 60 кодування відео перед пристроям відповідно до, наприклад, ITU-T H.264/AVC. Наприклад, тоді як H.264 забезпечує дев'ять режимів кодування з внутрішнім прогнозуванням, HM забезпечує цілих тридцять три режими кодування з внутрішнім прогнозуванням, наприклад, на основі розміру блоку, що кодується з внутрішнім прогнозуванням. HM посилається на блок відеоданих як одиницю кодування (CU). Дані синтаксису у межах потоку бітів можуть визначити найбільшу одиницю кодування (LCU), яка є найбільшою одиницею кодування у термінах кількості пікселів. Звичайно CU має ту саму мету, що і макроблок H.264, за винятком того, що CU не має відмінності у розмірі. Таким чином, CU може бути розділена у суб-CU. Звичайно посилання у даному описі на CU можуть стосуватися найбільшої одиниці кодування картинки або суб-CU в LCU. LCU може бути розділена на одиниці суб-CU і кожна суб-CU може бути розділена на одиниці суб-CU. Дані синтаксису для потоку бітів можуть визначити максимальну кількість разів, яку LCU може бути розділена, що називається глибиною CU. Відповідно, потік бітів може також визначити найменшу одиницю кодування (SCU). Даний опис також використовує термін "блок", щоб звернутися до будь-якої з CU, одиниці прогнозування (PU) або одиниці перетворення (TU). LCU може бути асоційована зі структурою даних квадродерева. Звичайно структура даних квадродерева включає в себе один вузол у CU, де кореневий вузол відповідає LCU. Якщо CU розділена на чотири суб-CU, вузол, що відповідає CU, включає в себе чотири листових вузли, кожний з яких відповідає одній з суб-CU. Кожний вузол структури даних квадродерева може забезпечити дані синтаксису для відповідної CU. Наприклад, вузол у квадродереві може включати в себе прапор розділення, що вказує, чи розділена CU, яка відповідає вузлу, на субCU. Елементи синтаксису для CU можуть бути визначені рекурсивно і можуть залежати від того, чи розділена CU на суб-CU. CU, яка не розділена, може включати в себе одну або більше одиниць прогнозування (PU). Звичайно PU представляє всі або частину відповідної CU і включає в себе дані для добування опорної вибірки для PU. Наприклад, коли PU є закодованою у внутрішньому режимі, ця PU може включати в себе дані, що описують режим внутрішнього прогнозування для PU. Наприклад, відповідно до способів даного розкриття, фіксований набір найбільш ймовірних режимів-кандидатів внутрішнього прогнозування для кожної PU в CU. Фіксований набір кандидатів MPM може включати в себе два або більше режимів-кандидатів внутрішнього прогнозування, на основі режимів внутрішнього прогнозування блоків, що межують з поточним блоком. Як інший приклад, коли PU є кодованою у зовнішньому режимі, ця PU може включати в себе дані, що визначають вектор руху для PU. Дані, що визначають вектор руху, можуть описати, наприклад, горизонтальний компонент вектора руху, вертикальний компонент вектора руху, розрізнення для вектора руху (наприклад, одночетвертну піксельну точність або одновосьмову піксельну точність), опорний кадр, на який вказує вектор руху, і/або опорний список (наприклад, список 0 або список 1) для вектора руху. Дані для CU, що визначають одиницю(і) PU, може також описати, наприклад, розділення CU на одну або більше одиниць PU. Режими розділення можуть відрізнятися між тим, є CU не кодованою, кодованою у режимі внутрішнього прогнозування, або кодованою у режимі зовнішнього прогнозування. CU, що має одну або більше PU, може також включати в себе одну або більше одиниць перетворення (TU). Дотримуючись прогнозування, що використовує PU, відеокодер може обчислювати залишкове значення для частини CU, що відповідає цій PU. Набір залишкових значень може бути перетворений, сканований і квантований, щоб визначити набір коефіцієнтів перетворення. TU визначає структуру даних, яка включає в себе коефіцієнти перетворення. TU не обов'язково обмежена розміром PU. Таким чином, TU можуть бути більшими або меншими, ніж відповідні PU для тієї самої CU. У деяких прикладах максимальний розмір TU може відповідати розміру відповідної CU. Відповідно до способів даного розкриття, відеокодер 20 може кодувати деякі блоки відеоданих, використовуючи режим кодування з внутрішнім прогнозуванням, і надавати інформацію, що вказує вибраний режим внутрішнього прогнозування, який використовується для кодування блоку. Відеокодер 20 може кодувати з внутрішнім прогнозуванням блоки будьякого типу кадру або вирізки, використовуючи режим внутрішнього прогнозування, наприклад, Iкадри або I-вирізки, на додаток до Р-кадрів або Р-вирізок і В-кадрів або В-вирізок. Коли відеокодер 20 визначає, що блок повинен бути закодований у режимі внутрішнього прогнозування, відеокодер 20 може виконати аналіз спотворення - швидкість передачі, щоб вибрати найбільш придатний режим кодування з внутрішнім прогнозуванням. Наприклад, відеокодер 20 може обчислювати значення "спотворення - швидкість передачі" для одного або більше режимів кодування з внутрішнім прогнозуванням, і вибирати один з режимів, які мають прийнятні характеристики "спотворення - швидкість передачі". 9 UA 110649 C2 5 10 15 20 25 30 35 40 45 50 55 Відеокодер 20 може також бути сконфігурований, щоб визначати контекст кодування для блоку. Контекст може включати в себе різні характеристики блоку, такі як, наприклад, розмір блоку, який може бути визначений у термінах розмірностей у пікселях, тип одиниці прогнозування (PU) такої як, у прикладі HEVC, 2N×2N, N×2N, 2N×N, N×N, типи внутрішнього прогнозування на короткій відстані (SDIP), такі як 2N×N/2, N/2×2N, 2N×1, 1×2N, тип макроблоку у прикладі H.264, глибини одиниці кодування (CU) для блоку, або інші вимірювання розміру для блоку відеоданих. У деяких прикладах контекст може відповідати тому, як будь-які з усіх з режимів внутрішнього прогнозування для верхнього межуючого блоку, лівого межуючого блоку, верхнього лівого межуючого блоку, верхнього правого межуючого блоку або інших межуючих блоків. У деяких прикладах контекст може включати в себе обидва режими внутрішнього прогнозування для одного або більше блоків, а також інформацію розміру для поточного закодованого блоку. У будь-якому випадку відеокодер 20 може включати в себе дані конфігурації, які відображають контекст для блоку на різні характеристики кодування для поточного блоку. Наприклад, на основі контексту для блоку, дані конфігурації можуть вказувати один або більше найбільш ймовірних режимів внутрішнього прогнозування. Відповідно до способів даного розкриття, відеокодер 20 може визначити один або більше найбільш ймовірних режимів кодування для блоку, на основі контексту кодування для блоку, а також таблиці індексів внутрішнього режиму і таблиці кодових слів, на основі контексту кодування для блоку. Таблиця кодових слів може містити таблицю кодів зі змінною довжиною слова (VLC) для CAVCL або таблицю бінаризації для адаптивного контекстного двійкового арифметичного кодування (CABAC). У CABAC відеокодер 20 може далі бінарно арифметично кодувати бінаризоване значення, вибране з таблиці. Після вибору режиму внутрішнього прогнозування для використання, щоб кодувати блок, відеокодер 20 може визначити, чи є вибраний режим внутрішнього прогнозування найбільш ймовірним режимом внутрішнього прогнозування для блоку. Якщо вибраний режим є найбільш ймовірним режимом, відеокодер 20 може сигналізувати режим внутрішнього прогнозування, використовуючи кодове слово в один біт (наприклад, "0" або "1"). Приймаючи без втрати цілісності, що кодове слово в один біт має значення "0", і що таблиця кодових слів є таблицею VLC, інші кодові слова у таблиці VLC можуть починатися з "1", щоб уникнути порушення вимог префікса VLC (тобто, що жодне кодове слово у таблиці не є префіксом іншого кодового слова у таблиці). У прикладах, де вибраний режим внутрішнього прогнозування є не одним з найбільш ймовірних режимів, відеокодер 20 може сигналізувати фактичний режим внутрішнього прогнозування. У деяких прикладах прапор може бути встановлений, який вказує, що фактичний режим внутрішнього прогнозування не включений у список кандидатів найбільш ймовірних режимів внутрішнього прогнозування. Відеокодер 20, у деяких прикладах, може бути сконфігурований, щоб почати аналіз для вибору режиму кодування з внутрішнім прогнозуванням з найбільш ймовірним режимом кодування, що базується на контексті. Коли найбільш ймовірний режим кодування досягає придатних характеристик "спотворення - швидкість передачі", у деяких прикладах відеокодер 20 може вибрати найбільш ймовірний режим кодування. В інших прикладах відеокодер 20 не повинен починати процес вибору з найбільш ймовірного режиму кодування. Після кодування з внутрішнім прогнозуванням або із зовнішнім прогнозуванням, щоб сформувати прогнозуючі дані і залишкові дані, і після будь-яких перетворень (таких як 4×4 або 8×8, цілочислове перетворення, що використовується у H.264/AVC, або дискретне косинусне перетворення DCT), щоб сформувати коефіцієнти перетворення, квантування коефіцієнтів перетворення може бути виконане. Квантування звичайно належить до процесу, в якому коефіцієнти перетворення квантуються, щоб можливо зменшити об'єм даних, які використовуються, щоб представити коефіцієнти. Процес квантування може зменшити бітову глибину, асоційовану з деякими або всіма коефіцієнтами. Наприклад, значення n-біт може бути округлене у меншу сторону до m-бітового значення під час квантування, де n більше ніж m. Після квантування ентропійне кодування квантованих даних може бути виконане, наприклад, відповідно до адаптивного до контенту кодування зі змінною довжиною коду (CAVLC), контекстно адаптивного двійкового арифметичного кодування (CABAC), або іншого способу ентропійного кодування. Блок обробки, що конфігурується для ентропійного кодування, або інший блок обробки, може виконати інші функції обробки, такі як кодування з нульовою довжиною серії квантованих коефіцієнтів і/або генерування інформації синтаксису, такої як значення шаблона кодованих блоків (CBP), тип макроблоку, режим кодування, максимальний розмір макроблоку для кодованого блоку (такі як кадр, вирізка, макроблок або послідовність), або аналогічне. 10 UA 110649 C2 5 10 15 20 25 30 35 40 45 50 55 60 Відеодекодер 30 може, зрештою, прийняти кодовані відеодані, наприклад, від модему 28 і приймача 26. Відповідно до способів даного розкриття, відеодекодер 30 може прийняти кодове слово, що представляє режим внутрішнього прогнозування, що використовується для кодування блоку відеоданих. Відеодекодер 30 може бути сконфігурований, щоб визначити контекст кодування для блоку способом, по суті аналогічним відеокодеру 20. Крім того, відеодекодер 30 може включати в себе аналогічні дані конфігурації у відеокодері 20, наприклад, індикації найбільш ймовірного режиму кодування, таблиці індексу режиму внутрішнього прогнозування і таблиці VLC для кожного контексту кодування. Використовуючи один найбільш ймовірний режим внутрішнього прогнозування, якщо кодове слово містить однобітове кодове слово, відеодекодер 30 може визначити, що режим внутрішнього прогнозування, який використовується, щоб закодувати закодований блок, був найбільш ймовірним режимом внутрішнього прогнозування. Звичайно, як описано вище, однобітове кодове слово не повинно бути префіксом кодових слів таблиці VLC. Відповідно, якщо прийняте кодове слово не є однобітовим кодовим словом, відеодекодер 30 може визначити, що режим внутрішнього прогнозування, який використовується для кодування блоку відеоданих у способі, звичайно є взаємно оберненим такому з відеокодера 20. Відеокодер 20 і відеодекодер 30 кожний може бути реалізований як будь-яка з множини придатних схем кодера або декодера, як застосовно, такихяк один або більше мікропроцесорів, цифрових сигнальних процесорів (DSP), спеціалізованих інтегральних схем (ASICs), програмовані користувачем вентильні матриці (FPGAs), дискретні логічні схеми, програмне забезпечення, апаратне забезпечення, програмно-апаратні засоби або будь-які їх комбінації. Кожний з відеокодера 20 і відеодекодера 30 може бути включений в один або більше кодерів або декодерів, будь-який з яких може інтегруватися як частина об'єднаного відеокодера/декодера (кодек). Пристрій, включаючи відеокодер 20 і/або відеодекодер 30, може містити інтегральну схему, мікропроцесор, і/або пристрій бездротового зв'язку, такий як стільниковий телефон. Фіг. 3 є блок-схемою, що ілюструє приклад відеокодера 20, який може реалізовувати способи для кодування інформації, що вказує режим внутрішнього прогнозування, і який може використовуватися, щоб реалізувати різні способи, описані вище. Відеокодер 20 може виконати внутрішнє і зовнішнє кодування блоків у межах відеокадрів, включаючи макроблоки, або розділення або підрозділення макроблоків. Внутрішнє кодування покладається на просторове прогнозування, щоб зменшити або видалити просторову надмірність у відео у межах заданого відеокадру. Зовнішнє кодування покладається на часове прогнозування, щоб зменшити або видалити часову надмірність у відео у межах суміжних кадрів відеопослідовності. Внутрішній режим (I-режим) може належати до будь-якого з декількох режимів стиснення, що базуються на просторі, і зовнішні режими, такі як однонаправлене прогнозування (Р-режим) або двонаправлене прогнозування (В-режим), можуть належати до будь-якого з декількох режимів стиснення, що базуються на часі. Хоча компоненти для кодування зовнішнього режиму зображені на фіг. 3, треба мати на увазі, що відеокодер 20 може також включати в себе компоненти для кодування у внутрішньому режимі. Однак, такі компоненти не проілюстровані заради стислості та ясності. Як показано на фіг. 3, відеокодер 20 приймає поточний відеоблок у межах відеокадру, який повинен бути закодований. У прикладі на фіг.2 відеокодер 20 включає в себе модуль 44 компенсації руху, модуль 42 оцінки руху, пам'ять 64, суматор 50, модуль 52 обробки перетворення, блок 54 квантування і модуль 56 ентропійного кодування. Для відеореконструкції блоку відеокодер 20 також включає в себе модуль 58 зворотного квантування, модуль 60 зворотного перетворення і суматор 62. Фільтр видалення блочності може також бути включений, щоб фільтрувати межі блоку, щоб видалити артефакти блочності з відновленого відео. Якщо бажано, фільтр видалення блочності може типово фільтрувати вихідний сигнал суматора 62. Під час процесу кодування відеокодер 20 приймає відеокадр або вирізку, які повинні бути закодовані. Кадр або вирізка можуть бути розділені на множину відеоблоків. Модуль 42 оцінки руху і модуль 44 компенсації руху виконують зовнішнє прогнозуюче кодування прийнятого відеоблоку відносно одного або більше блоків в одному або більше опорних кадрах, щоб забезпечити часове стиснення. Модуль 46 внутрішнього прогнозування може виконати внутрішнє прогнозуюче кодування прийнятого відеоблоку відносно одного або більше сусідніх блоків у тому самому кадрі або вирізці як блоку, який повинен бути закодований, щоб забезпечити просторове стиснення. Модуль 40 вибору режиму може вибрати один з режимів кодування, внутрішній або зовнішній, наприклад, на основі результатів помилки і на основі типу кадру або вирізки для 11 UA 110649 C2 5 10 15 20 25 30 35 40 45 50 55 кадру або вирізки, включаючи поточний блок, що кодується, і видає результуючий всередині або зовні кодований блок до суматора 50, щоб генерувати залишкові дані блоку, і до суматора 62, щоб відновити закодований блок для використання в опорній вирізці або опорному кадрі. Звичайно внутрішнє прогнозування залучає прогнозування поточного блоку відносно сусідніх, раніше кодованих блоків, у той час як зовнішнє прогнозування залучає оцінку руху і компенсацію руху, щоб у часі прогнозувати поточний блок. Модуль 42 оцінки руху і модуль 44 компенсації руху представляють елементи зовнішнього прогнозування відеокодера 20. Модуль 42 оцінки руху і модуль 44 компенсації руху можуть бути високо інтегрованими, але ілюструються окремо з метою збереження концепції. Оцінка руху є процесом генерування векторів руху, які оцінюють рух для відеоблоків. Вектор руху, наприклад, може вказувати зміщення прогнозуючого блоку у межах прогнозуючого опорного кадру (або іншої кодованої одиниці) відносно поточного блоку, закодованого у межах поточного кадру (або іншої кодованої одиниці). Прогнозуючий блок є блоком, який знаходять близько відповідним блоку, який повинен бути закодований, у термінах піксельної різниці, яка може бути визначена сумою абсолютних різниць (SAD), сумою різниць квадратів (SSD), або іншими метриками відмінності. Вектор руху може також вказувати зміщення розділення макроблоку. Компенсація руху може залучати вибірку або генерування прогнозуючого блоку, на основі вектора руху, визначеного оцінкою руху. Знову модуль 42 оцінки руху і модуль 44 компенсації руху можуть функціонально бути інтегровані, у деяких прикладах. Модуль 42 оцінки руху обчислює вектор руху для відеоблоку зовні кодованого кадру, порівнюючи відеоблок з відеоблоками опорного кадру у сховищі 64 опорних кадрів. Модуль 44 компенсації руху може також інтерполювати субцілочислові пікселі опорного кадру, наприклад, I-кадру або Р-кадру. Стандарт ITU H.264 як приклад описує два списки: список 0, який включає в себе опорні кадри, що мають порядок відображення раніше, ніж поточний кадр, що кодується, і список 1, який включає в себе опорні кадри, що мають порядок відображення пізніше, ніж поточний кадр, що кодується. Тому, дані, що зберігалися у сховищі 64 опорних кадрів, можуть бути організовані відповідно до цих списків. Модуль 42 оцінки руху порівнює блоки одного або більше опорних кадрів зі сховища 64 опорних кадрів з блоком, який повинен бути закодований, поточного кадру, наприклад, Р-кадру або В-кадру. Коли опорні кадри у сховищі 64 опорних кадрів включають в себе значення для субцілочислових пікселів, вектор руху, обчислений блоком 42 оцінки руху, може стосуватися місцеположення субцілочислового пікселя опорного кадру. Модуль 42 оцінки руху і/або модуль 44 компенсації руху можуть також бути сконфігуровані, щоб обчислювати значення для позицій субцілочислових пікселів опорних кадрів, збережених у сховищі 64 опорних кадрів, якщо жодні значення для позицій субцілочислових пікселів не збережені у сховищі 64 опорних кадрів. Модуль 42 оцінки руху надсилає обчислений вектор руху у модуль 56 ентропійного кодування і модуль 44 компенсації руху. Блок опорного кадру, ідентифікований вектором руху, може згадуватися як прогнозуючий блок. Модуль 44 компенсації руху може обчислювати дані прогнозування, на основі зовнішньо прогнозуючого блоку. Блок 46 внутрішнього прогнозування може внутрішньо прогнозувати поточний блок, як альтернатива зовнішньому прогнозуванню, виконаному блоком 42 оцінки руху і блоком 44 компенсації руху, як описано вище. Зокрема, блок 46 внутрішнього прогнозування може визначити режим внутрішнього прогнозування, щоб використати для кодування поточного блоку. У деяких прикладах блок 46 внутрішнього прогнозування може кодувати поточний блок, використовуючи різні режими внутрішнього прогнозування, наприклад, під час окремих проходів кодування, і блок 46 внутрішнього прогнозування (або модуль 40 вибору режиму, у деяких прикладах) може вибрати відповідний режим внутрішнього прогнозування для використання від перевірених режимів. Наприклад, блок 46 внутрішнього прогнозування може обчислювати значення "спотворення - швидкість передачі", використовуючи аналіз "спотворення - швидкість передачі" для різних перевірених режимів внутрішнього прогнозування, і вибрати режим внутрішнього прогнозування, що має найкращі характеристики "спотворення - швидкість передачі" серед перевірених режимів. Аналіз "спотворення - швидкість передачі" звичайно визначає величину спотворення (або помилку) між кодованим блоком і початковим некодованим блоком, який був закодований, щоб сформувати закодований блок, а також частоту проходження у бітах (тобто кількість бітів), що використовуються для формування закодованого блоку. Блок 46 внутрішнього прогнозування може обчислювати відношення зі спотворень і швидкостей передачі для різних закодованих блоків, щоб визначити, який режим внутрішнього прогнозування показує найкраще значення "спотворення - швидкість передачі" для цього блоку. 12 UA 110649 C2 5 10 15 20 25 30 35 40 45 50 55 У будь-якому випадку після вибору режиму внутрішнього прогнозування для блоку, блок 46 внутрішнього прогнозування може надати інформацію, яка вказує вибраний режим внутрішнього прогнозування для блоку до модуля 56 ентропійного кодування. Модуль 56 ентропійного кодування може кодувати інформацію, що вказує вибраний режим внутрішнього прогнозування, відповідно до способів даного розкриття. Як ілюстровано на фіг.3, відеокодер 20 може включати в себе дані 66 конфігурації, які можуть включати в себе множину таблиць індексу режиму внутрішнього прогнозування, і множину таблиць індексу кодового слова (які також називають таблицями відображення кодового слова), визначення контекстів кодування для різних блоків, та індикації найбільш ймовірного режиму внутрішнього прогнозування, таблиці індексу режиму внутрішнього прогнозування, і таблиці індексу кодового слова, щоб використати для кожного з контекстів. У прикладах, де кількість режимів внутрішнього прогнозування змінюється на основі розміру блоку, дані 66 конфігурації можуть включати в себе різні таблиці для різних розмірів блоків. Відповідно, контекст для кодування індикації режиму внутрішнього прогнозування, що використовується для кодування блоку, може включати в себе розмір блоку, так само як режими кодування, що використовуються для кодування сусідніх блоків. Модуль 56 ентропійного кодування може вибрати таблицю індексів режиму і таблицю відображення кодового слова, що використовуються для вибору кодового слова, яке представляє вибраний режим внутрішнього прогнозування, що використовується, щоб закодувати блок, на основі контексту для блоку. Крім того, таблиці індексу режиму для блоків конкретного розміру можуть мати кількості записів, які дорівнюють кількості режимів внутрішнього прогнозування для блоків цього розміру. Таким чином, таблиці індексу режиму для блоків розміру 4×4 можуть мати 17 записів, таблиці індексу режиму для блоків розміру 8×8, 16×16 і 32×32 можуть мати 34 записи, і таблиці індексу режиму для блоків розміру 64×64 можуть мати 5 записів. Інші розміри блоків, наприклад, 128×128, можуть також мати визначену кількість доступних режимів внутрішнього прогнозування. Режими внутрішнього прогнозування, доступні для блоків розміру 8×8, 16×16 і 32×32, можуть бути однаковими і тому одні і ті самі таблиці індексу режиму можуть використовуватися для блоків розмірів 8×8, 16×16 і 32×32. Хоча одні і ті самі режими можуть бути можливими для блоків цих розмірів, ймовірність використання конкретного режиму для кодування блоку може змінюватися на основі розміру блоку. Відповідно, модуль 56 ентропійного кодування може визначити таблицю відображення кодового слова для конкретної таблиці індексу режиму на основі розміру блоку, для якого режим внутрішнього прогнозування повинен бути сигналізований, у деяких прикладах. Наприклад, відеокодер 20 визначає набір найбільш ймовірних режимів. Блок 46 внутрішнього прогнозування може визначити фактичний режим внутрішнього прогнозування сусідніх блоків поточного блоку. Відеокодер 20 може також бути сконфігурований, щоб визначити перший режим внутрішнього прогнозування для лівого сусіднього блоку цього блоку, визначити другий режим внутрішнього прогнозування для верхнього сусіднього блоку цього блоку, і коли перший режим внутрішнього прогнозування відрізняється від другого режиму внутрішнього прогнозування, включати і перший режим внутрішнього прогнозування, і другий режим внутрішнього прогнозування у набір найбільш ймовірних режимів внутрішнього прогнозування. Наприклад, звертаючись до фіг. 1, блок 46 внутрішнього прогнозування може визначити фактичні режими внутрішнього прогнозування, що використовуються для сусідніх блоків А (4) і В (6) відносно поточного блоку С (8). На основі режимів внутрішнього прогнозування, що використовуються для сусідніх блоків А (4) і В (6), блок 46 внутрішнього прогнозування визначає найбільш ймовірні режими для блоку С (8). Блок 46 внутрішнього прогнозування може порівняти фактичний режим внутрішнього прогнозування, що використовується для сусіднього блоку А (4), з фактичним режимом внутрішнього прогнозування, що використовується для сусіднього блоку В (6). На основі цього порівняння конкретний режим внутрішнього прогнозування, такий як плоский режим, може бути включений у набір найбільш ймовірних режимів для блоку С (8). Блок 46 внутрішнього прогнозування може також визначити фактичний режим, щоб використати, щоб внутрішньо прогнозувати поточний блок С (8). Коли перший режим внутрішнього прогнозування є таким самим як другий режим внутрішнього прогнозування, і коли перший і другий режими внутрішнього прогнозування містять режим, відмінний від плоского режиму, блок 46 внутрішнього прогнозування включає плоский режим у набір найбільш ймовірних режимів внутрішнього прогнозування. В іншому прикладі, коли перший режим внутрішнього прогнозування є таким самим як другий режим внутрішнього прогнозування, і коли перший і другий режими внутрішнього прогнозування 13 UA 110649 C2 5 10 15 20 25 30 35 4045 50 55 60 містять плоский режим, блок 46 внутрішнього прогнозування включає плоский режим і режим DC у набір найбільш ймовірних режимів внутрішнього прогнозування. В іншому прикладі, коли поточний блок містить блок яскравості, відеокодер 20 визначає, для блоку кольоровості, що відповідає блоку яскравості, відображення набору значень на набір режимів внутрішнього прогнозування, причому набір режимів внутрішнього прогнозування містить горизонтальний режим, вертикальний режим, плоский режим, режим DC і режим прогнозування сигналу яскравості, коли фактичний режим внутрішнього прогнозування для блоку яскравості містить режим, відмінний від горизонтального режиму, вертикального режиму, плоского режиму і режиму DC, набір режимів внутрішнього прогнозування також містить повторне використання режиму внутрішнього прогнозування яскравості, відображеного з першого значення з набору значень. Коли фактичний режим внутрішнього прогнозування для блоку яскравості містить один з горизонтального режиму, вертикального режиму, плоского режиму і режиму DC, набір режимів внутрішнього прогнозування також містить режим, відмінний від горизонтального режиму, вертикального режиму, плоского режиму і режиму DC, відображеного з першого значення з набору значень, відеокодер 20 кодує значення, що представляє фактичний режим внутрішнього прогнозування для блоку кольоровості, на основі відображення набору значень на набір режимів. В іншому прикладі блок 46 внутрішнього прогнозування визначає напрям прогнозування фактичного режиму внутрішнього прогнозування і включає щонайменше один режим внутрішнього прогнозування, що має напрям прогнозування, найбільш близький до напряму прогнозування фактичного режиму внутрішнього прогнозування, у набір найбільш ймовірних режимів внутрішнього прогнозування. У ще одному прикладі, коли розмір набору найбільш ймовірних режимів внутрішнього прогнозування дорівнює трьом, блок 46 внутрішнього прогнозування визначає напрям прогнозування першого режиму внутрішнього прогнозування, і порівнює напрям прогнозування першого режиму внутрішнього прогнозування з напрямами прогнозування одного або більше інших доступних режимів внутрішнього прогнозування. Блок 46 внутрішнього прогнозування включає перший режим внутрішнього прогнозування у набір найбільш ймовірних режимів внутрішнього прогнозування. Далі, на основі порівняння блок 46 внутрішнього прогнозування включає другий і третій режими внутрішнього прогнозування з одного або більше доступних режимів внутрішнього прогнозування у набір найбільш ймовірних режимів внутрішнього прогнозування, в якому другий і третій режими внутрішнього прогнозування мають напрями прогнозування, визначені як найбільш близькі до напряму прогнозування першого режиму внутрішнього прогнозування. Після прогнозування поточного блоку, наприклад, використовуючи внутрішнє прогнозування або зовнішнє прогнозування, відеокодер 20 може сформувати залишковий відеоблок, віднімаючи дані прогнозування, обчислені блоком 44 компенсації руху або блоком 46 внутрішнього прогнозування, з початкового закодованого блоку відео. Суматор 50 представляє компонент або компоненти, які виконують цю операцію віднімання. Модуль 52 обробки перетворення застосовує перетворення, таке як дискретне косинусне перетворення (DCT) або концептуально аналогічне перетворення, до залишкового блоку, формуючи відеоблок, що містить залишкові значення коефіцієнта перетворення. Модуль 52 обробки перетворення може виконати інші перетворення, такі як визначені за стандартом H.264, які концептуально аналогічні DCT. Вейвлет перетворення, цілочислові перетворення, суб-смугові перетворення або інші типи перетворення можуть також використовуватися. У будь-якому випадку модуль 52 обробки перетворення застосовує перетворення до залишкового блоку, формуючи блок залишкових коефіцієнтів перетворення. Перетворення може перетворити залишкову інформацію з області піксельних значень в область перетворення, таку як частотна область. Блок 54 квантування квантує залишкові коефіцієнти перетворення, щоб додатково зменшити швидкість передачі бітів. Процес квантування може зменшити бітову глибину, асоційовану з деякими або всіма коефіцієнтами. Ступінь квантування може бути змінений за допомогою настройки параметра квантування. Після квантування модуль 56 ентропійного кодування ентропійно кодує квантовані коефіцієнти перетворення. Наприклад, модуль 56 ентропійного кодування може виконати адаптивне до контенту кодування зі змінною довжиною коду (CAVLC), контекстно адаптивне двійкове арифметичне кодування (CABAC) або інший спосіб ентропійного кодування. Після ентропійного кодування модулем 56 ентропійного кодування кодоване відео може бути передане на інший пристрій або заархівоване для більш пізньої передачі або пошуку. У випадку контекстно адаптивного двійкового арифметичного кодування, контекст може базуватися на сусідніх блоках і/або розмірах блоку. 14 UA 110649 C2 5 10 15 20 25 30 35 40 45 50 55 60 У деяких випадках модуль 56 ентропійного кодування або інший блок відеокодера 20 може бути сконфігурований, щоб виконати інші функції кодування, на додаток до ентропійного кодування і кодування режиму внутрішнього прогнозування, як описано вище. Наприклад, модуль 56 ентропійного кодування може бути сконфігурований, щоб визначити значення шаблона кодованих блоків (CBP) для блоків і розділень. Крім того, у деяких випадках модуль 56 ентропійного кодування може виконати кодування довжин серій коефіцієнтів у макроблоці або його розділенні (фрагменті). Зокрема, модуль 56 ентропійного кодування може застосувати зигзагоподібне сканування або інший шаблон сканування, щоб сканувати коефіцієнти перетворення у макроблоці або розділенні і кодувати серії нулів для подальшого стиснення. Модуль 56 ентропійного кодування також може сконструювати інформацію заголовка з відповідними елементами синтаксису для передачі у закодованому потоку бітів відео. Модуль 58 зворотного квантування і модуль 60 зворотного перетворення застосовують зворотне квантування і зворотне перетворення, відповідно, щоб відновити залишковий блок у піксельній області, наприклад, для більш пізнього використання як опорного блоку. Модуль 44 компенсації руху може обчислювати опорний блок за допомогою підсумовування залишкового блоку з прогнозуючим блоком одного з кадрів сховища 64 опорних кадрів. Модуль 44 компенсації руху може також застосовувати один або більше фільтрів інтерполяції до відновленого залишкового блоку, щоб обчислити значення субцілочислових пікселів для використання при оцінці руху. Суматор 62 підсумовує відновлений залишковий блок з блоком прогнозування зі скомпенсованим рухом, сформованим блоком 44 компенсації руху, щоб сформувати відновлений відеоблок для збереження у сховищі 64 опорних кадрів. Відновлений відеоблок може використовуватися блоком 42 оцінки руху і блоком 44 компенсації руху як опорний блок, щоб зовні кодувати блок у наступному відеокадрі. Таким чином відеокодер 20 представляє приклад відеокодера, сконфігурованого, щоб визначити один або більше найбільш ймовірних режимів кодування з внутрішнім прогнозуванням для поточного блоку відеоданих, на основі контексту кодування для поточного блоку, вибрати таблицю кодових слів, на основі контексту для поточного блоку, при цьому таблиця кодових слів містить множину кодових слів змінної довжини, що відповідають індексам кодового слова, які відповідають режимам внутрішнього прогнозування, що відрізняються від найбільш ймовірного режиму(ів) внутрішнього прогнозування, на основі контексту, кодувати поточний блок, використовуючи один з режимів внутрішнього прогнозування, що відрізняється від найбільш ймовірного режиму кодування з внутрішнім прогнозуванням, визначити один з індексів кодових слів, який відповідає цьому одному з режимів внутрішнього прогнозування, використовуючи таблицю кодових слів, і вивести кодове слово з вибраної таблиці кодових слів, в якому кодове слово відповідає цьому одному з індексів кодових слів. Фіг. 4 є блок-схемою, що ілюструє приклад відеодекодера 30, який декодує закодовану відеопослідовність, і який може використовуватися, щоб реалізувати різні способи, описані тут. У прикладі на фіг. 3, відеодекодер 30 включає в себе модуль 70 ентропійного декодування, модуль 72 компенсації руху, модуль 74 внутрішнього прогнозування, модуль 76 зворотного квантування, модуль 78 зворотного перетворення, пам'ять 82 і суматор 80. Відеодекодер 30, у деяких прикладах, може виконати прохід декодування, звичайно взаємно обернений проходу кодування, описаному відносно відеокодера 20 (фіг. 3). Модуль 72 компенсації руху може генерувати дані прогнозування на основі векторів руху, прийнятих від модуля 70 ентропійного декодування. Модуль 72 компенсації руху може використовувати вектори руху, прийняті у потоку бітів, щоб ідентифікувати блок прогнозування в опорних кадрах у сховищі 82 опорних кадрів. Модуль 74 внутрішнього прогнозування може використовувати режими внутрішнього прогнозування, прийняті у потоку бітів, щоб сформувати блок прогнозування з просторово суміжних блоків. Зокрема, відеодекодер 30 у прикладі на фіг. 4, включає в себе дані 84 конфігурації. Дані 84 конфігурації по суті аналогічні даним 66 конфігурації відповідно до фіг. 3, в яких дані 84 конфігурації включають в себе інформацію, що описує контексти для внутрішньо прогнозованих блоків, так само як одну з множини таблиць відображення індексу внутрішнього прогнозування для використання для кожного контексту, одну з множини таблиць індексів кодових слів (або відображення кодових слів), щоб використовувати для кожного контексту, і найбільш ймовірний режим внутрішнього прогнозування для кожного контексту. Модуль 70 ентропійного декодування може прийняти кодове слово, що представляє режим внутрішнього прогнозування, щоб використати для декодування закодованого блоку відеоданих. У деяких прикладах це кодове слово може бути кодовим словом VLC, або ентропійно кодованим бінаризованим значенням, яке є першим ентропійно декодованим, використовуючи CABAC. Модуль 70 ентропійного декодування може визначити контекст для 15 UA 110649 C2 5 10 15 20 25 30 35 40 45 50 55 60 кодованого блоку, наприклад, на основі режимів внутрішнього прогнозування для лівого сусіднього і верхнього сусіднього блоку до закодованого блоку і/або розміру для кодованого блоку. Таким чином, контекст може відповідати двом або більше найбільш ймовірним режимам. Кодові слова забезпечують індикацію фактичного режиму внутрішнього прогнозування для поточного блоку. Наприклад, кодове слово вказує, чи є фактичний режим внутрішнього прогнозування одним з найбільш ймовірних режимів, і в іншому випадку модуль 74 внутрішнього прогнозування забезпечує індикацію фактичного режиму внутрішнього прогнозування. На основі контексту модуль 70 ентропійного декодування може визначити один або більше найбільш ймовірних режимів внутрішнього прогнозування, щоб використати для декодування блоку, так само як таблицю індексів внутрішнього прогнозування і таблицю індексів кодових слів, щоб використати для визначення фактичного режиму внутрішнього прогнозування, щоб використати для декодування блоку. Модуль 74 внутрішнього прогнозування може використовувати режим внутрішнього прогнозування, що відповідає цій індикації, щоб внутрішньо прогнозувати закодований блок, наприклад, використовуючи пікселі сусідніх раніше декодованих блоків. Для прикладів, в яких блок є кодованим у режимі зовнішнього прогнозування, модуль 72 компенсації руху може прийняти інформацію, що визначає вектор руху, щоб добути дані прогнозування з компенсованим рухом для кодованого блоку. У будь-якому випадку модуль 72 компенсації руху або модуль 74 внутрішнього прогнозування можуть надати інформацію, що визначає блок прогнозування, до суматора 80. Модуль 76 зворотного квантування зворотно квантує, тобто деквантує, квантовані коефіцієнти блоку, надані у потоку бітів і декодовані модулем 70 ентропійного декодування. Процес зворотного квантування може включати в себе звичайний процес, наприклад, як визначено стандартом декодування H.264 або як виконується тестовою моделлю HEVC. Процес зворотного квантування може також включати в себе використання параметра квантування QPY, обчисленого кодером 50 для кожного макроблоку, щоб визначити ступінь квантування і, аналогічно, ступінь зворотного квантування, яке повинно бути застосоване. Модуль 58 зворотного перетворення застосовує зворотне перетворення, наприклад, зворотне DCT, зворотне цілочислове перетворення, або концептуально аналогічний процес зворотного перетворення, до коефіцієнтів перетворення, щоб сформувати залишкові блоки у піксельній області. Модуль 72 компенсації руху формує дані блоки з компенсованим рухом, можливо виконуючи інтерполяцію, що базується на фільтрах інтерполяції. Ідентифікатори для фільтрів інтерполяції, які повинні використовуватися для оцінки руху з точністю суб-пікселя, можуть бути включені в елементи синтаксису. Модуль 72 компенсації руху може використовувати фільтри інтерполяції, які використовуються відеокодером 20 під час кодування відеоблоку, щоб обчислити інтерпольовані значення для субцілочислових пікселів опорного блоку. Модуль 72 компенсації руху може визначити фільтри інтерполяції, що використовуються відеокодером 20, відповідно до прийнятої інформації синтаксису, і використати ці фільтри інтерполяції, щоб сформувати прогнозуючі блоки. Модуль 72 компенсації руху використовує деяку з інформації синтаксису, щоб визначити розміри блоків, що використовуються для кодування кадру(ів) кодованої відеопослідовності, інформації розділення, яка описує, як кожний блок кадру або вирізка закодованої відеопослідовності розділені, режимів, що вказують, як кожне розділення кодоване, один або більше опорних кадрів (і списків опорних кадрів) для кожного зовні кодованого блоку або розділення, та іншу інформацію для декодування закодованої відеопослідовності. Суматор 80 підсумовує залишкові блоки з відповідними блоками прогнозування, що генеруються блоком 72 компенсації руху або блоком 74 внутрішнього прогнозування, щоб сформувати декодовані блоки. Якщо бажано, фільтр видалення блочності також може бути застосований, щоб фільтрувати декодовані блоки, щоб видалити артефакти блочності. Декодовані відеоблоки потім зберігаються у сховищі 82 опорних кадрів, яке видає опорні блоки для подальшої компенсації руху і також формує декодоване відео для представлення на пристрої відображення (такому як пристрій 32 відображення на фіг. 2). Таким чином відеодекодер 30 відповідно до фіг. 4 представляє приклад відеодекодера, сконфігурованого, щоб визначити один або більше найбільш ймовірних режимів внутрішнього прогнозування для кодованого блоку відеоданих, на основі контексту для поточного блоку, вибрати таблицю кодових слів, на основі контексту для поточного блоку, в якому таблиця кодових слів містить множину кодових слів змінної довжини, що відповідають індексам кодового слова, які відповідають режимам внутрішнього прогнозування, що відрізняються від найбільш ймовірного режиму(ів) внутрішнього прогнозування, на основі контексту, визначити один з індексів кодових слів, який відповідає прийнятому кодовому слову, використовуючи таблицю 16 UA 110649 C2 5 10 15 20 25 30 35 40 45 50 55 60 кодових слів, вибрати режим внутрішнього прогнозування, який відрізняється від найбільш ймовірного режиму внутрішнього прогнозування, щоб використати для декодування закодованого блоку, в якому вибраний режим внутрішнього прогнозування відповідає визначеному одному з індексів кодових слів; і декодувати поточний блок, використовуючи вибраний режим внутрішнього прогнозування. Відповідно до способів, описаних тут, відеодекодер 30 визначає набір найбільш ймовірних режимів для поточного відеоблоку. Модуль 74 внутрішнього прогнозування може визначити фактичний режим внутрішнього прогнозування сусідніх блоків поточного блоку. Відеодекодер 30 може також бути сконфігурований, щоб визначити перший режим внутрішнього прогнозування для лівого сусіднього блоку цього блоку, визначити другий режим внутрішнього прогнозування для верхнього сусіднього блоку цього блоку, і коли перший режим внутрішнього прогнозування відрізняється від другого режиму внутрішнього прогнозування, включити і перший режим внутрішнього прогнозування, і другий режим внутрішнього прогнозування у набір найбільш ймовірних режимів внутрішнього прогнозування. Наприклад, звертаючись до фіг. 1, модуль 74 внутрішнього прогнозування може визначити фактичні режими внутрішнього прогнозування, що використовуються для сусідніх блоків А (4) і В (6) відносно поточного блоку С (8). На основі режимів внутрішнього прогнозування, що використовуються для сусідніх блоків А (4) і В (6), модуль 74 внутрішнього прогнозування визначає найбільш ймовірні режими для блоку С (8). Модуль 74 внутрішнього прогнозування може порівняти фактичний режим внутрішнього прогнозування, що використовується для сусіднього блоку А (4), з фактичним режимом внутрішнього прогнозування, що використовується для сусіднього блоку В (6). На основі цього порівняння конкретний режим внутрішнього прогнозування, такий як плоский режим, може бути включений у набір найбільш ймовірних режимів для блоку С (8). Модуль 74 внутрішнього прогнозування може також визначити фактичний режим, щоб використати для внутрішнього прогнозування поточного блоку С (8). Коли перший режим внутрішнього прогнозування є таким самим як другий режим внутрішнього прогнозування, і коли перший і другий режими внутрішнього прогнозування містять режим, який відрізняється від плоского режиму, модуль 74 внутрішнього прогнозування включає плоский режим у набір найбільш ймовірних режимів внутрішнього прогнозування. В іншому прикладі, коли перший режим внутрішнього прогнозування є таким самим як другий режим внутрішнього прогнозування, і коли перший і другий режими внутрішнього прогнозування містять плоский режим, модуль 74 внутрішнього прогнозування включає плоский режим і режим DCу набір найбільш ймовірних режимів внутрішнього прогнозування. В іншому прикладі, коли поточний блок містить блок яскравості, відеодекодер 30 визначає для блоку кольоровості, що відповідає блоку яскравості, відображення набору значень у набір режимів внутрішнього прогнозування, причому набір режимів внутрішнього прогнозування містить горизонтальний режим, вертикальний режим, плоский режим, режим DC і режим прогнозування сигналу яскравості, коли фактичний режим внутрішнього прогнозування для блоку яскравості містить режим, який відрізняється від горизонтального режиму, вертикального режиму, плоского режиму і режиму DC, набір режимів внутрішнього прогнозування далі містить повторне використання режиму внутрішнього прогнозування яскравості, відображеного з першого значення з набору значень. Коли фактичний режим внутрішнього прогнозування для блоку яскравості містить один з горизонтального режиму, вертикального режиму, плоского режиму і режиму DC, набір режимів внутрішнього прогнозування також містить режим, відмінний від горизонтального режиму, вертикального режиму, плоского режиму і режиму DC, відображеного з першого значення з набору значень, відеодекодер 30 декодує значення, що представляє фактичний режим внутрішнього прогнозування для блоку кольоровості, на основі відображення набору значень у набір режимів. В іншому прикладі модуль 74 внутрішнього прогнозування визначає напрям прогнозування фактичного режиму внутрішнього прогнозування поточного блоку і включає щонайменше один режим внутрішнього прогнозування, що має напрям прогнозування, найбільш близький до напряму прогнозування фактичного режиму внутрішнього прогнозування, у набір найбільш ймовірних режимів внутрішнього прогнозування. У ще одному прикладі, коли розмір набору найбільш ймовірних режимів внутрішнього прогнозування дорівнює трьом, модуль 74 внутрішнього прогнозування визначає напрям прогнозування першого режиму внутрішнього прогнозування і порівнює напрям прогнозування першого режиму внутрішнього прогнозування з напрямами прогнозування одного або більше інших доступних режимів внутрішнього прогнозування. Модуль 74 внутрішнього прогнозування включає перший режим внутрішнього прогнозування у набір найбільш ймовірних режимів внутрішнього прогнозування. Далі, на основі порівняння модуль 74 внутрішнього прогнозування 17 UA 110649 C2 5 10 15 20 25 30 35 40 45 50 включає другий і третій режим внутрішнього прогнозування з одного або більше доступних режимів внутрішнього прогнозування у набір найбільш ймовірних режимів внутрішнього прогнозування, в якому другий і третій режими внутрішнього прогнозування мають напрями прогнозування, визначені як найбільш близькі до напряму прогнозування першого режиму внутрішнього прогнозування. Фіг. 5 є діаграмою, що ілюструє один приклад 35 режимів внутрішнього прогнозування і їх відповідних напрямів прогнозування. Як визначено у даному прикладі, кожне з 35 значень індексу унікально призначене на різні режими внутрішнього прогнозування. У цьому прикладі індексне значення 2 відображене на режим внутрішнього прогнозування DC, індексне значення 34 відображене на плоский режим внутрішнього прогнозування і індексне значення 35 відображене на режим внутрішнього прогнозування яскравості. Інша частина індексних значень призначена на доступний набір різних режимів внутрішнього прогнозування, в якому кожний має напрям прогнозування. Наприклад, модуль 46 внутрішнього прогнозування з відеокодера 20 може забезпечити одне з п'яти значень для елемента синтаксису, який вказує фактичний режим внутрішнього прогнозування, що використовується для кодування блоку яскравості. Точно так само модуль 46 внутрішнього прогнозування з відеокодера 20 може забезпечити одне з шести значень для елемента синтаксису, який вказує фактичний режим внутрішнього прогнозування, що використовується для кодування блоку кольоровості. Шість значень можуть бути одним з п'яти значень, що використовуються для блоку яскравості, плюс значення, що вказує імітацію режиму внутрішнього прогнозування, який використовувався, щоб закодувати відповідний блок яскравості. Наприклад, режим внутрішнього прогнозування, відображений в індексне значення 0, має напрям прогнозування вгору відносно поточного кодованого блоку. Таким чином, пікселі, що використовуються для прогнозування поточного блоку, беруться з верху поточного блоку, коли вибирається режим, відображений в індексне значення 0. Для прикладів, де номер режиму внутрішнього прогнозування дорівнює 34, режими внутрішнього прогнозування, що мають напрями прогнозування, найбільш близькі до режиму внутрішнього прогнозування, відображеного в індексне значення 0, є режимами внутрішнього прогнозування, відображеними в індексні значення 21 і 22. Для прикладів, де номер режиму внутрішнього прогнозування дорівнює 17, режими внутрішнього прогнозування, що мають напрями прогнозування, найбільш близькі до режиму внутрішнього прогнозування, відображеного в індексне значення 0, є режимами внутрішнього прогнозування, відображеними в індексні значення 11 і 12, оскільки індексні значення 21 і 22 не доступні для набору 17 режимів внутрішнього прогнозування. В альтернативній схемі нумерації внутрішній плоский режим може відповідати режиму 0, коли номер режиму всіх інших режимів може бути збільшений на 1. Деякі з таблиць, що використовуються у даному розкритті, звичайно відповідають цій альтернативній схемі нумерації. Повинно бути зрозуміло, однак, фахівцеві у даній галузі техніки, що способи даного розкриття не обмежені однією конкретною схемою нумерації. Фіг. 6 є діаграмою, що ілюструє інший приклад 35 режимів внутрішнього прогнозування і їх відповідних напрямів прогнозування. Як визначено у прикладі на фіг. 6, кожне з 35 індексних значень унікально призначене на різні режими внутрішнього прогнозування. У цьому прикладі індексне значення 0 відображене на плоский режим внутрішнього прогнозування, індексне значення 1 відображене на режим внутрішнього прогнозування DC і індексне значення 35 відображене на режим внутрішнього прогнозування яскравості. Інша частина індексних значень призначена на доступний набір відмінних режимів внутрішнього прогнозування, в якому кожний має напрям прогнозування. Діаграма на фіг. 6 показує, що IntraPredMode [xB] [yB], помічений 0, 1, 2…, 35, представляє напрями прогнозувань відповідно до таблиці 3.1. Таблиця 3.1 визначає значення для режиму внутрішнього прогнозування і асоційовані назви. Режим 34, наприклад, є внутрішнім кутовим режимом, який вказує на верхньо-правий напрям поточного блоку, який повинен бути кодований. У деяких прикладах режим 34 є верхньо-правим режимом внутрішнього прогнозування напряму. 18 UA 110649 C2 Таблиця 3.1 Специфікація режиму внутрішнього прогнозування і асоційованих назв Режим внутрішнього прогнозування Асоційовані назви 0 Intra_Planar (внутрішній плоский) 1 Intra_DC (внутрішній DC) Інші (2…34) Intra_Аngular (внутрішній кутовий) Intra_FromLuma (використовується тільки для 35 кольоровості) 5 10 15 20 25 30 35 40 45 50 Вхідні дані до зразкового процесу виведення для режимів внутрішнього прогнозування яскравості включають в себе місцеположення (xB, yB) яскравості, що задає верхню ліву вибірку яскравості поточного блоку відносно верхньої лівої вибірки яскравості поточної картинки, змінну log2PUSize, що задає розмір поточного блоку прогнозування, і масив змінних IntraPredMode (якщо доступний), які є раніше (у порядку декодування) отриманими для суміжних одиниць кодування. Вихідними даними зразкового процесу виведення для режимів внутрішнього прогнозування яскравості є змінна IntraPredMode [xB] [yB]. IntraPredMode [xB] [yB] може бути отримана як наступні впорядковані етапи. По-перше, сусідні місцеположення (xBA, yBA) і (xBB, yBB) встановлені рівними (xB-1, yB) і (xB, yB-1), відповідно. По-друге, адреси cbAddrA і cbAddrB мінімальних блоків кодування блоків дерева кодування, що покривають місцеположення (xBA, yBA) і (xBB, yBB) відповідно, отримані наступним чином: cbAddrA =MinCbAddrZS [xBA
ДивитисяДодаткова інформація
Назва патенту англійськоюEnhanced intra-prediction mode signaling for video coding using neighboring mode
Автори англійськоюChien, Wei-Jung, Karczewicz, Marta, Wang, Xianglin
Автори російськоюЧиень Вей-Цзюн, Карчевич Марта, Ван Сянлинь
МПК / Мітки
МПК: H04N 7/00
Мітки: режиму, відео, сигналізація, внутрішнього, використовує, режим, кодування, розширена, прогнозування, сусідства
Код посилання
<a href="https://ua.patents.su/41-110649-rozshirena-signalizaciya-rezhimu-vnutrishnogo-prognozuvannya-dlya-koduvannya-video-shho-vikoristovueh-rezhim-susidstva.html" target="_blank" rel="follow" title="База патентів України">Розширена сигналізація режиму внутрішнього прогнозування для кодування відео, що використовує режим сусідства</a>
Попередній патент: Спосіб внесення добрив у ґрунт під час виконання посіву
Наступний патент: Спосіб збирання гібридної електрохімічної системи
Випадковий патент: Звукодальномір з оцінкою черги транспорту