Визначення контекстів для кодування даних коефіцієнтів перетворення при кодуванні відео

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

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

Автори: Сєрьогін Вадім, Карчєвіч Марта, Соле Рохальс Хоель

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

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

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

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

визначають значення для прапорів кодованих субблоків одного або більше сусідніх субблоків відносно поточного субблока;

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

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

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

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

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

2. Спосіб за п. 1, в якому один або більше сусідніх субблоків містять правий сусідній субблок і нижній сусідній субблок.

3. Спосіб за п. 2, в якому визначення контексту містить етап, на якому обчислюють суму значення для прапора кодованого субблока правого сусіднього субблока і значення для прапора кодованого субблока нижнього сусіднього субблока і використовують обчислену суму для того, щоб визначати контекст.

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

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

6. Спосіб за п. 1, в якому поточний субблок має розмір 4×4 пікселів, і при цьому поточний субблок знаходиться в поточній одиниці перетворення, яка має розмір, що перевищує 4×4 пікселів.

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

8. Спосіб за п. 1, в якому ентропійне декодування коефіцієнта перетворення містить етап, на якому ентропійно декодують коефіцієнт перетворення згідно з контекстно-адаптивним двійковим арифметичним кодуванням (САВАС).

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

10. Спосіб за п. 1, причому спосіб виконується в пристрої бездротового зв'язку, при цьому пристрій містить:

пам'ять, сконфігуровану з можливістю збереження відеоданих, які включають в себе прапори кодованих субблоків, сусідні субблоки і поточний блок;

процесор, сконфігурований з можливістю виконання інструкцій для обробки відеоданих, які зберігаються в згаданій пам'яті; і

приймач, сконфігурований з можливістю прийому відеоданих.

11. Спосіб за п. 10, при цьому пристроєм бездротового зв'язку є стільниковий телефон, а відеодані приймають передавачем і модулюють згідно зі стандартом стільникового зв'язку.

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

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

відеодекодер, сконфігурований з можливістю:

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

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

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

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

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

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

13. Пристрій за п. 12, в якому один або більше сусідніх субблоків містять правий сусідній субблок і нижній сусідній субблок.

14. Пристрій за п. 13, в якому для того, щоб визначати контекст, відеодекодер сконфігурований з можливістю обчислювати суму значення для прапора кодованого субблока правого сусіднього субблока і значення для прапора кодованого субблока нижнього сусіднього субблока і використовувати обчислену суму для того, щоб визначати контекст.

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

16. Пристрій за п. 12, в якому відеодекодер додатково сконфігурований з можливістю визначати контекст для декодування коефіцієнта перетворення на основі позиції коефіцієнта перетворення в поточному субблоці.

17. Пристрій за п. 12, в якому відеодекодер сконфігурований з можливістю ентропійно декодувати коефіцієнт перетворення згідно з контекстно-адаптивним двійковим арифметичним кодуванням (САВАС).

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

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

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

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

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

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

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

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

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

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

22. Пристрій за п. 21, в якому один або більше сусідніх субблоків містять правий сусідній субблок і нижній сусідній субблок.

23. Пристрій за п. 22, в якому засіб для визначення контексту містить засіб для обчислення суми значення для прапора кодованого субблока правого сусіднього субблока і значення для прапора кодованого субблока нижнього сусіднього субблока, і засіб для використання обчисленої суми для того, щоб визначати контекст.

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

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

26. Пристрій за п. 21, в якому засіб для ентропійного декодування коефіцієнта перетворення містить засіб для ентропійного декодування коефіцієнта перетворення згідно з контекстно-адаптивним двійковим арифметичним кодуванням (CABAC).

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

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

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

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

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

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

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

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

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

визначають значення для прапорів кодованих субблоків одного або більше сусідніх субблоків відносно поточного субблока;

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

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

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

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

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

30. Спосіб за п. 29, в якому один або більше сусідніх субблоків містять правий сусідній субблок і нижній сусідній субблок.

31. Спосіб за п. 30, в якому визначення контексту містить етап, на якому обчислюють суму значення для прапора кодованого субблока правого сусіднього субблока і значення для прапора кодованого субблока нижнього сусіднього субблока і використовують обчислену суму для того, щоб визначати контекст.

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

33. Спосіб за п. 29, в якому кожний з субблоків відповідає відповідному блоку 4×4 коефіцієнтів перетворення, і при цьому прапори кодованих субблоків вказують те, чи має, чи ні щонайменше один з коефіцієнтів перетворення у відповідному блоці 4×4 ненульове значення.

34. Спосіб за п. 29, в якому поточний субблок має розмір 4×4 пікселів, і при цьому поточний субблок знаходиться в поточній одиниці перетворення, що має розмір, який перевищує 4×4 пікселів.

35. Спосіб за п. 29, в якому визначення контексту додатково містить етап, на якому визначають контекст для кодування коефіцієнта перетворення на основі позиції коефіцієнта перетворення в поточному субблоці.

36. Спосіб за п. 29, в якому ентропійне кодування коефіцієнта перетворення містить етап, на якому ентропійно кодують коефіцієнт перетворення згідно з контекстно-адаптивним двійковим арифметичним кодуванням (САВАС).

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

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

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

відеокодер, сконфігурований з можливістю:

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

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

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

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

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

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

39. Пристрій за п. 38, в якому один або більше сусідніх субблоків містять правий сусідній субблок і нижній сусідній субблок.

40. Пристрій за п. 39, в якому для того, щоб визначати контекст, відеокодер сконфігурований з можливістю обчислювати суму значення для прапора кодованого субблока правого сусіднього субблока і значення для прапора кодованого субблока нижнього сусіднього субблока і використовувати обчислену суму для того, щоб визначати контекст.

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

42. Пристрій за п. 38, в якому відеокодер додатково сконфігурований з можливістю визначати контекст для декодування коефіцієнта перетворення на основі позиції коефіцієнта перетворення в поточному субблоці.

43. Пристрій за п. 38, в якому відеокодер сконфігурований з можливістю ентропійно кодувати коефіцієнт перетворення згідно з контекстно-адаптивним двійковим арифметичним кодуванням (САВАС).

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

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

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

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

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

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

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

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

46. Пристрій за п. 45, в якому один або більше сусідніх субблоків містять правий сусідній субблок і нижній сусідній субблок.

47. Пристрій за п. 46, в якому засіб для визначення контексту містить засіб для обчислення суми значення для прапора кодованого субблока правого сусіднього субблока і значення для прапора кодованого субблока нижнього сусіднього субблока, і засіб для використання обчисленої суми для того, щоб визначати контекст.

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

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

50. Пристрій за п. 45, в якому засіб для ентропійного кодування коефіцієнта перетворення містить засіб для ентропійного кодування коефіцієнта перетворення згідно з контекстно-адаптивним двійковим арифметичним кодуванням (САВАС).

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

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

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

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

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

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

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

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

Текст

Реферат: У одному прикладі, пристрій для кодування відеоданих включає в себе відеокодер, сконфігурований з можливістю визначати значення для прапорів кодованих субблоків одного або більше сусідніх субблоків відносно поточного субблока, визначати контекст для кодування коефіцієнта перетворення поточного субблока на основі значень для прапорів кодованих субблоків і ентропійно кодувати коефіцієнт перетворення з використанням визначеного контексту. UA 114418 C2 (12) UA 114418 C2 UA 114418 C2 5 10 15 20 25 30 35 40 45 50 55 Дана заявка вимагає пріоритет попередньої заявки на патент (США) порядковий номер 61/586668, поданої 13 січня 2012 року, попередньої заявки на патент (США) порядковий номер 61/588595, поданої 19 січня 2012 року, і попередньої заявки на патент (США) порядковий номер 61/597097, поданої 9 лютого 2012 року, кожна з яких цим повністю включена в даний документ по посиланню. Галузь техніки, до якої належить винахід Дане розкриття суті стосується кодування відео. Рівень техніки Підтримка цифрового відео може бути включена в широкий діапазон пристроїв, що включають в себе цифрові телевізійні приймачі, системи цифрової прямої широкомовної передачі, бездротові широкомовні системи, персональні цифрові пристрої (PDA), переносні або настільні комп'ютери, планшетні комп'ютери, пристрої для читання електронних книг, цифрові камери, цифрові пристрої запису, цифрові мультимедійні програвачі, пристрої відеоігор, консолі для відеоігор, стільникові або супутникові радіотелефони, так звані "смартфони", пристрої відеоконференцзв'язку, пристрої потокової передачі відео і т. п. Цифрові відеопристрої реалізовують такі технології стиснення відео, як технології стиснення відео, описані в стандартах, заданих за допомогою стандартів, що розробляються на даний час MPEG-2, MPEG4, ITU-T H.263, ITU-T H.264/MPEG-4, частина 10, вдосконалене кодування відео (AVC), стандарту високоефективного кодування відео (HEVC) і розширень таких стандартів. Відеопристрої можуть передавати, приймати, кодувати, декодувати і/або зберігати цифрову відеоінформацію більш ефективно за допомогою реалізації таких технологій стиснення відео. Технології стиснення відео виконують просторове (внутрішньокадрове) прогнозування і/або часове (міжкадрове) прогнозування для того, щоб зменшувати або видаляти надмірність, властиву внутрішньо відеопослідовностям. Для блокового кодування відеослайс (вирізка) (тобто відеокадр або частина відеокадру) може бути сегментований на відеоблоки, які також можуть згадуватися як деревовидні блоки, одиниці кодування (CU) і/або вузли кодування. Відеоблоки у кодованому внутрішньо (інтра) (I) слайсі зображення кодуються з використанням просторового прогнозування відносно опорних вибірок в сусідніх блоках в ідентичному зображенні. Відеоблоки у кодованому зовнішньо (інтер) (Р або В) слайсі зображення можуть використовувати просторове прогнозування відносно опорних вибірок в сусідніх блоках в ідентичному зображенні або часове прогнозування відносно опорних вибірок в інших опорних зображеннях. Зображення можуть згадуватися як кадри, і опорні зображення можуть згадуватися як опорні кадри. Просторове або часове прогнозування приводить в результаті до прогнозного блока для блока, який повинен бути кодований. Залишкові дані представляють пікселні різниці між вихідним блоком, який повинен бути кодований, і прогнозним блоком. Кодований зовнішньо блок кодується згідно з вектором руху, який вказує на блок опорних вибірок, що формують прогнозний блок, і залишковими даними, що вказують різницю між кодованим блоком і прогнозним блоком. Кодований внутрішньо блок кодується згідно з режимом внутрішнього кодування і залишковими даними. Для додаткового стиснення залишкові дані можуть бути перетворені з пікселної області в область перетворення, приводячи до залишкових коефіцієнтів перетворення, які потім можуть бути квантовані. Квантовані коефіцієнти перетворення, що спочатку розміщуються в двовимірному масиві, можуть скануватися для того, щоб формувати одновимірний вектор коефіцієнтів перетворення, і може застосовуватися ентропійне кодування з тим, щоб досягати ще більшого стиснення. Суть винаходу Загалом, це розкриття суті описує технології, пов'язані з визначенням контекстів для ентропійного кодування, наприклад, з використанням контекстно-адаптивного двійкового арифметичного кодування (CABAC), відеоданих. САВАС-кодування, загалом, включає в себе визначення контексту при кодуванні перетворених в двійкову форму представлень різних елементів синтаксису.Приклади елементів синтаксису включають в себе дані для коефіцієнтів перетворення, наприклад дані, що вказують те, є чи ні коефіцієнти перетворення значущими, знаки коефіцієнтів перетворення, які є значущими, і значення рівня для коефіцієнтів перетворення, які є значущими. Коефіцієнти перетворення, загалом, відповідають коефіцієнтам блока перетворення, такого як одиниця перетворення (TU). Це розкриття суті описує технології для визначення контекстів для кодування коефіцієнтів перетворення, основуючись на областях блока перетворення, в яких виникають коефіцієнти перетворення. У одному прикладі, спосіб кодування відеоданих включає в себе визначення контексту для кодування коефіцієнта перетворення відеоблока, основуючись на області відеоблока, в якій 1 UA 114418 C2 5 10 15 20 25 30 35 40 45 50 55 60 виникає коефіцієнт перетворення, і ентропійне кодування коефіцієнта перетворення з використанням визначеного контексту. У іншому прикладі, пристрій для кодування відеоданих містить відеокодер, сконфігурований з можливістю визначати контекст для кодування коефіцієнта перетворення відеоблока, основуючись на області відеоблока, в якій виникає коефіцієнт перетворення, і ентропійно кодувати коефіцієнт перетворення з використанням визначеного контексту. У іншому прикладі, пристрій для кодування відеоданих містить засіб для визначення контексту для кодування коефіцієнта перетворення відеоблока, основуючись на області відеоблока, в якій виникає коефіцієнт перетворення, і засіб для ентропійного кодування коефіцієнта перетворення з використанням визначеного контексту. У іншому прикладі, зчитуваний комп'ютером носій даних має збережені інструкції, які при виконанні спонукають процесор визначати контекст для кодування коефіцієнта перетворення відеоблока, основуючись на області відеоблока, в якій виникає коефіцієнт перетворення, і ентропійно кодувати коефіцієнт перетворення з використанням визначеного контексту. У іншому прикладі, спосіб декодування відеоданих включає в себе визначення того, являє собою чи ні коефіцієнт перетворення відеоблока DC-коефіцієнт перетворення, коли визначається те, що коефіцієнт перетворення являє собою DC-коефіцієнт перетворення відеоблока, визначення контексту для декодування коефіцієнта перетворення на основі того, що коефіцієнт перетворення являє собою DC-коефіцієнт перетворення, без урахування розміру відеоблока, і ентропійне декодування коефіцієнта перетворення з використанням визначеного контексту. У іншому прикладі, пристрій для декодування відеоданих містить відеодекодер, сконфігурований з можливістю визначати те, являє собою чи ні коефіцієнт перетворення відеоблока DC-коефіцієнт перетворення, коли визначається те, що коефіцієнт перетворення являє собою DC-коефіцієнт перетворення відеоблока, визначати контекст для декодування коефіцієнта перетворення на основі того, що коефіцієнт перетворення являє собою DCкоефіцієнт перетворення, без урахування розміру відеоблока, і ентропійно декодувати коефіцієнт перетворення з використанням визначеного контексту. У іншому прикладі, пристрій для декодування відеоданих містить засіб для визначення того, являє собою чи ні коефіцієнт перетворення відеоблока DC-коефіцієнт перетворення, засіб для визначення, коли визначається те, що коефіцієнт перетворення являє собою DC-коефіцієнт перетворення відеоблока, контексту для декодування коефіцієнта перетворення на основі того, що коефіцієнт перетворення являє собою DC-коефіцієнт перетворення, без урахування розміру відеоблока, і засіб для ентропійного декодування коефіцієнта перетворення з використанням визначеного контексту. У іншому прикладі, зчитуваний комп'ютером носій даних має збережені інструкції, які при виконанні спонукають процесор визначати те, являє собою чи ні коефіцієнт перетворення відеоблока DC-коефіцієнт перетворення, коли визначається те, що коефіцієнт перетворення являє собою DC-коефіцієнт перетворення відеоблока, визначати контекст для декодування коефіцієнта перетворення на основі того, що коефіцієнт перетворення являє собою DCкоефіцієнт перетворення, без урахування розміру відеоблока, і ентропійно декодувати коефіцієнт перетворення з використанням визначеного контексту. У іншому прикладі, спосіб кодування відеоданих включає в себе визначення того, являє собою чи ні коефіцієнт перетворення відеоблока DC-коефіцієнт перетворення, коли визначається те, що коефіцієнт перетворення являє собою DC-коефіцієнт перетворення відеоблока, визначення контексту для кодування коефіцієнта перетворення на основі того, що коефіцієнт перетворення являє собою DC-коефіцієнт перетворення, без урахування розміру відеоблока, і ентропійне кодування коефіцієнта перетворення з використанням визначеного контексту. У іншому прикладі, пристрій для кодування відеоданих включає в себе відеокодер, сконфігурований з можливістю визначати те, являє собою чи ні коефіцієнт перетворення відеоблока DC-коефіцієнт перетворення, коли визначається те, що коефіцієнт перетворення являє собою DC-коефіцієнт перетворення відеоблока, визначати контекст для кодування коефіцієнта перетворення на основі того, що коефіцієнт перетворення являє собою DCкоефіцієнт перетворення, без урахування розміру відеоблока, і ентропійно кодувати коефіцієнт перетворення з використанням визначеного контексту. У іншому прикладі, пристрій для кодування відеоданих містить засіб для визначення того, являє собою чи ні коефіцієнт перетворення відеоблока DC-коефіцієнт перетворення, засіб для визначення, коли визначається те, що коефіцієнт перетворення являє собою DC-коефіцієнт перетворення відеоблока, контексту для кодування коефіцієнта перетворення на основі того, 2 UA 114418 C2 5 10 15 20 25 30 35 40 45 50 55 що коефіцієнт перетворення являє собою DC-коефіцієнт перетворення, без урахування розміру відеоблока, і засіб для ентропійного кодування коефіцієнта перетворення з використанням визначеного контексту. У іншому прикладі, зчитуваний комп'ютером носій даних має збережені інструкції, які при виконанні спонукають процесор визначати те, являє собою чи ні коефіцієнт перетворення відеоблока DC-коефіцієнт перетворення, коли визначається те, що коефіцієнт перетворення являє собою DC-коефіцієнт перетворення відеоблока, визначати контекст для кодування коефіцієнта перетворення на основі того, що коефіцієнт перетворення являє собою DCкоефіцієнт перетворення, без урахування розміру відеоблока, і ентропійно кодувати коефіцієнт перетворення з використанням визначеного контексту. У іншому прикладі, спосіб декодування відеоданих включає в себе визначення значень для прапорів кодованих субблоків одного або більше сусідніх субблоків відносно поточного субблока, визначення контексту для декодування коефіцієнта перетворення поточного субблока на основі значень для прапорів кодованих субблоків і ентропійне декодування коефіцієнта перетворення з використанням визначеного контексту. У іншому прикладі, пристрій для декодування відеоданих містить відеодекодер, сконфігурований з можливістю визначати значення для прапорів кодованих субблоків одного або більше сусідніх субблоків відносно поточного субблока, визначати контекст для декодування коефіцієнта перетворення поточного субблока на основі значень для прапорів кодованих субблоків і ентропійно декодувати коефіцієнт перетворення з використанням визначеного контексту. У іншому прикладі, пристрій для декодування відеоданих містить засіб для визначення значень для прапорів кодованих субблоків одного або більше сусідніх субблоків відносно поточного субблока, засіб для визначення контексту для декодування коефіцієнта перетворення поточного субблока на основі значень для прапорів кодованих субблоків і засіб для ентропійного декодування коефіцієнта перетворення з використанням визначеного контексту. У іншому прикладі, зчитуваний комп'ютером носій даних має збережені інструкції, які при виконанні спонукають процесор визначати значення для прапорів кодованих субблоків одного або більше сусідніх субблоків відносно поточного субблока, визначати контекст для декодування коефіцієнта перетворення поточного субблока на основі значень для прапорів кодованих субблоків і ентропійно декодувати коефіцієнт перетворення з використанням визначеного контексту. У іншому прикладі, спосіб кодування відеоданих включає в себе визначення значень для прапорів кодованих субблоків одного або більше сусідніх субблоків відносно поточного субблока, визначення контексту для кодування коефіцієнта перетворення поточного субблока на основі значень для прапорів кодованих субблоків і ентропійне кодування коефіцієнта перетворення з використанням визначеного контексту. У іншому прикладі, пристрій для кодування відеоданих містить відеокодер, сконфігурований з можливістю визначати значення для прапорів кодованих субблоків одного або більше сусідніх субблоків відносно поточного субблока, визначати контекст для кодування коефіцієнта перетворення поточного субблока на основі значень для прапорів кодованих субблоків і ентропійно кодувати коефіцієнт перетворення з використанням визначеного контексту. У іншому прикладі, пристрій для кодування відеоданих містить засіб для визначення значень для прапорів кодованих субблоків одного або більше сусідніх субблоків відносно поточного субблока, засіб для визначення контексту для кодування коефіцієнта перетворення поточного субблока на основі значень для прапорів кодованих субблоків і засіб для ентропійного кодування коефіцієнта перетворення з використанням визначеного контексту. У іншому прикладі, зчитуваний комп'ютером носій даних має збережені інструкції, які при виконанні спонукають процесор визначати значення для прапорів кодованих субблоків одного або більше сусідніх субблоків відносно поточного субблока, визначати контекст для кодування коефіцієнта перетворення поточного субблока на основі значень для прапорів кодованих субблоків і ентропійно кодувати коефіцієнт перетворення з використанням визначеного контексту. Подробиці одного або більше прикладів викладені на прикладених кресленнях і в нижченаведеному описі. Інші ознаки, цілі і переваги повинні ставати очевидними з опису і креслень і з формули винаходу. Короткий опис креслень Фіг. 1 є блок-схемою, що ілюструє зразкову систему кодування і декодування відео, яка може використовувати технології зовнішнього прогнозування, описані в цьому розкритті суті. 3 UA 114418 C2 5 10 15 20 25 30 35 40 45 50 55 Фіг. 2 є блок-схемою, що ілюструє зразковий відеокодер, який може реалізовувати технології зовнішнього прогнозування, описані в цьому розкритті суті. Фіг. 3 є блок-схемою, що ілюструє зразковий відеодекодер, який може реалізовувати технології, описані в цьому розкритті суті. Фіг. 4 є концептуальною схемою, яка ілюструє взаємозв'язок між коефіцієнтами перетворення у відеоблоці і карті значущості, асоційованій з відеоблоком. Фіг. 5A-5D є концептуальними схемами, які ілюструють приклади блоків відеоданих, сканованих з використанням зигзагоподібного порядку сканування, горизонтального порядку сканування, вертикального порядку сканування і діагонального порядку сканування. Фіг. 6 є концептуальною схемою, яка ілюструє зразковий відеоблок, розділений на субблоки для кодування коефіцієнтів перетворення. Фіг. 7 є концептуальною схемою, яка ілюструє зразкову п'ятиточкову підтримку, використовувану для того, щоб задавати контекстну модель для карти значущості коефіцієнтів у відеоблоці, сканованому з використанням зворотного діагонального порядку сканування. Фіг. 8A і 8B є концептуальними схемами, які ілюструють залежність від контексту в п'ятиточковій підтримці. Фіг. 9A і 9B є концептуальними схемами, які ілюструють зразкові розділення відеоблока на дві або більше областей. Фіг. 10 є концептуальною схемою, яка ілюструє зразкове призначення контекстів на основі оточення або позиції для кожної області відеоблока. Фіг. 11 є концептуальною схемою, яка ілюструє зразкове призначення зміщень контексту для кожної області відеоблока. Фіг. 12 є концептуальною схемою, яка ілюструє зразкове вбудоване розділення відеоблока на дві або більше областей на основі TU-розмірів, які корелюються з існуючими контекстними моделями. Фіг. 13A і 13B є концептуальними схемами, які ілюструють зразкові розділення відеоблока на дві або більше областей. Фіг. 14A і 14B є концептуальними схемами, які ілюструють зразкове призначення зміщень контексту для кожної області відеоблока. Фіг. 15 є блок-схемою послідовності операцій, що ілюструє зразковий спосіб для кодування поточного блока. Фіг. 16 є блок-схемою послідовності операцій, що ілюструє зразковий спосіб для декодування поточного блока відеоданих. Докладний опис винаходу Загалом, це розкриття суті описує технології, пов'язані з визначенням контекстів для ентропійного кодування, наприклад з використанням контекстно-адаптивного двійкового арифметичного кодування (CABAC), відеоданих. САВАС-кодування, загалом, включає в себе визначення контексту при кодуванні перетворених в двійкову форму представлень різних елементів синтаксису. Елементи синтаксису включають в себе, наприклад, дані для коефіцієнтів перетворення, наприклад дані, що вказують те, є чи ні коефіцієнти перетворення значущими, знаки коефіцієнтів перетворення, які є значущими, і значення рівня для коефіцієнтів перетворення, які є значущими. Коефіцієнти перетворення, загалом, відповідають коефіцієнтам блока перетворення, такого як одиниця перетворення (TU). Це розкриття суті описує технології для визначення контекстів для кодування коефіцієнтів перетворення, основуючись на областях блока перетворення, в яких виникають коефіцієнти перетворення. Загалом, відповідно до технологій цього розкриття суті, відеокодер може бути сконфігурований з можливістю визначати контекст для кодування коефіцієнта перетворення, основуючись на області, в якій виникає коефіцієнт перетворення, і потім ентропійно кодувати коефіцієнт перетворення з використанням визначеного контексту. Відеоблок може бути розділений на області множиною способів. Фіг. 9A і 11 ілюструють приклади, в яких відеоблок розділяється на першу область, що включає в себе один або більше верхніх лівих субблоків (наприклад, субблоків 44), і другу область, що включає в себе субблоки за межами першої області. Фіг. 9B ілюструє приклад, в якому відеоблок розділяється на області вздовж діагонального напрямку. Фіг. 10 ілюструє приклад, в якому відеоблок розділяється на квартилі, і верхній лівий квартиль додатково розділяється на першу підобласть, що включає в себе субблоки верхньої лівої частини верхнього лівого квартиля, і другу підобласть, що включає в себе субблоки верхнього лівого квартиля, зовнішнього для першої підобласті. Фіг. 12 ілюструє приклад, в якому відеоблок розділяється на області, які відповідають розмірам відеоблоків (наприклад, 44, 88, 1616 і 3232). Фіг. 13A ілюструє приклад, в якому відеоблок розділяється 4 UA 114418 C2 5 10 15 20 25 30 35 40 45 50 55 60 на горизонтальні прямокутні області. Фіг. 13B ілюструє приклад, в якому відеоблок розділяється на вертикальні прямокутні області. Ці креслення детальніше описуються нижче. У різних прикладах, відеокодер може бути сконфігурований з можливістю визначати контекст для кодування коефіцієнта перетворення різними способами, наприклад, основуючись на області, в якій виникає коефіцієнт перетворення. Наприклад, відеокодер може бути сконфігурований з можливістю визначати контекст з використанням контекстної інформації на основі позиції для деяких областей або контекстної інформації на основі оточення для інших областей. У деяких прикладах, всі коефіцієнти перетворення в конкретній області можуть бути кодовані з використанням ідентичного контексту, визначеного, основуючись на області. У інших прикладах, контексти для коефіцієнтів перетворення в області можуть бути визначені на основі оточення контексту. У ще одних інших прикладах, відеокодер може визначати зміщення, яке повинно застосовуватися до контексту, основуючись на області, в якій виникає коефіцієнт перетворення. Іншими словами, кожна з областей може бути асоційована з конкретним зміщенням, яке повинно застосовуватися до контексту. Технології цього розкриття суті можуть зменшувати споживання смуги пропускання, приводячи до економії бітів при кодуванні елементів синтаксису для коефіцієнтів перетворення. Такі елементи синтаксису можуть включати в себе будь-що з прапора значущого коефіцієнта (який вказує те, є чи ні відповідний коефіцієнт перетворення значущим, тобто ненульовим), знака значущих коефіцієнтів, індикатора відносно того, має чи ні значущий коефіцієнт абсолютне значення, що перевищує 1, індикатора відносно того, має чи ні значущий коефіцієнт з абсолютним значенням, що перевищує 1, абсолютне значення, що перевищує 2, і/або значення, що залишилося, рівня для коефіцієнтів, які мають абсолютні значення, що перевищують 2. Фіг. 1 є блок-схемою, що ілюструє зразкову систему 10 кодування і декодування відео, яка може використовувати технології, описані в цьому розкритті суті. Як показано на фіг. 1, система 10 включає в себе пристрій-джерело 12, що формує кодовані відеодані, які повинні бути декодовані надалі за допомогою пристрою-адресата 14. Пристрій-джерело 12 і пристрійадресат 14 можуть містити будь-які з широкого діапазону пристроїв, що включають в себе настільні комп'ютери, ноутбуки (тобто переносні комп'ютери), планшетні комп'ютери, абонентські приставки, телефонні трубки, наприклад так звані смартфони, так звані інтелектуальні сенсорні панелі, телевізійні приймачі, камери, пристрої відображення, цифрові мультимедійні програвачі, консолі для відеоігор, пристрої потокової передачі відео і т. п. В деяких випадках, пристрій-джерело 12 і пристрій-адресат 14 можуть бути оснащені можливостями бездротового зв'язку. Пристрій-адресат 14 може приймати кодовані відеодані, які повинні бути декодовані, через лінію 16 зв'язку. Лінія 16 зв'язку може містити будь-який тип носія або пристрою, що допускає переміщення кодованих відеоданих з пристрою-джерела 12 в пристрій-адресат 14. У одному прикладі, лінія 16 зв'язку може містити середовище зв'язку, щоб забезпечувати можливість пристрою-джерелу 12 передавати кодовані відеодані безпосередньо в пристрій-адресат 14 в реальному часі. Кодовані відеодані можуть бути модульовані згідно зі стандартом зв'язку, таким як протокол бездротового зв'язку, і передані в пристрій-адресат 14. Середовище зв'язку може містити будь-яке бездротове або дротове середовище зв'язку, таке як радіочастотний (RF) спектр або одна або більше фізичних ліній передачі. Середовище зв'язку може формувати частину мережі з комутацією пакетів, такої як локальна обчислювальна мережа, глобальна обчислювальна мережа або глобальна мережа, така як Інтернет. Середовище зв'язку може включати в себе маршрутизатори, комутатори, базові станції або будь-яке інше обладнання, яке може бути корисним для того, щоб спрощувати передачу з пристрою-джерела 12 в пристрійадресат 14. Альтернативно, кодовані дані можуть виводитися з інтерфейсу 22 виведення в пристрій 34 зберігання даних. Аналогічно, до кодованих даних може здійснюватися доступ з пристрою 34 зберігання даних за допомогою інтерфейсу введення. Пристрій 34 зберігання даних може включати в себе будь-які з множини носіїв зберігання даних з розподіленим або локальним доступом, таких як жорсткий диск, диски Blu-Ray, DVD, CD-ROM, флеш-пам'ять, енергозалежний або енергонезалежний запам'ятовуючий пристрій або будь-які інші придатні цифрові носії даних для зберігання кодованих відеоданих. У додатковому прикладі, пристрій 34 зберігання даних може відповідати файловому серверу або іншому проміжному пристрою зберігання даних, який може зберігати кодоване відео, сформоване за допомогою пристроюджерела 12. Пристрій-адресат 14 може здійснювати доступ до збережених відеоданих з пристрою 34 зберігання даних через потокову передачу або завантаження. Файловий сервер може бути будь-яким типом сервера, що допускає збереження кодованих відеоданих і передачу 5 UA 114418 C2 5 10 15 20 25 30 35 40 45 50 55 60 цих кодованих відеоданих в пристрій-адресат 14. Зразкові файлові сервери включають в себе веб-сервер (наприклад, для веб-вузла), FTP-сервер, пристрої системи зберігання даних з підключенням по мережі (NAS) або локальний накопичувач на дисках. Пристрій-адресат 14 може здійснювати доступ до кодованих відеоданих через будь-яке стандартне підключення для передачі даних, що включає в себе Інтернет-підключення. Воно може включати в себе бездротовий канал (наприклад, Wi-Fi-підключення), дротове підключення (наприклад, DSL, кабельний модем і т. д.) або комбінацію зазначеного, яка є придатною для того, щоб здійснювати доступ до кодованих відеоданих, збережених на файловому сервері. Передача кодованих відеоданих з пристрою 34 зберігання даних може являти собою потокову передачу, передачу на основі завантаження або комбінацію вищезазначеного. Технології цього розкриття суті не обов'язково обмежені додатками або настройками бездротового зв'язку. Технології можуть застосовуватися до кодування відео в підтримання будь-яких з множини мультимедійних додатків, таких як широкомовні телепередачі по радіоінтерфейсу, кабельні телепередачі, супутникові телепередачі, потокові передачі відео, наприклад через Інтернет, кодування цифрового відео для зберігання на носії зберігання даних, декодування цифрового відео, збереженого на носії зберігання даних, або інші додатки. У деяких прикладах, система 10 може бути сконфігурована з можливістю підтримувати односторонню або двосторонню передачу відео, щоб підтримувати такі додатки, як потокова передача відео, відтворення відео, широкомовна передача відео і/або відеотелефонія. У прикладі за фіг. 1, пристрій-джерело 12 включає в себе відеоджерело 18, відеокодер 20 і інтерфейс 22 виведення. У деяких випадках, інтерфейс 22 виведення може включати в себе модулятор/демодулятор (модем) і/або передавальний пристрій. У пристрої-джерелі 12 відеоджерело 18 може включати в себе джерело, таке як пристрій відеозахоплення, наприклад відеокамеру, відеоархів, що містить раніше захоплене відео, інтерфейс прямих відеотрансляцій, щоб приймати відео від постачальника відеоконтенту, і/або комп'ютерну графічну систему для формування комп'ютерних графічних даних як вихідного відео, або комбінацію таких джерел. Як один приклад, якщо відеоджерелом 18 є відеокамера, пристрійджерело 12 і пристрій-адресат 14 можуть формувати так звані камерофони або відеофони. Проте, технології, описані в цьому розкритті суті, можуть бути застосовними до кодування відео загалом і можуть застосовуватися до бездротових і/або дротових варіантів застосування. Захоплене, попередньо захоплене або машиногенероване відео може бути кодоване за допомогою відеокодера 20. Кодовані відеодані можуть бути передані безпосередньо в пристрійадресат 14 через інтерфейс 22 виведення 12. Кодовані відеодані також (або альтернативно) можуть зберігатися на пристрій 34 зберігання даних для подальшого доступу за допомогою пристрою-адресата 14 або інших пристроїв для декодування і/або відтворення. Пристрій-адресат 14 включає в себе інтерфейс 28 введення, відеодекодер 30 і пристрій 32 відображення. У деяких випадках, інтерфейс 28 введення може включати в себе приймальний пристрій і/або модем. Інтерфейс 28 введення пристрою-адресата 14 приймає кодовані відеодані по лінії 16 зв'язку. Кодовані відеодані, що передаються по лінії 16 зв'язку або надані на пристрої 34 зберігання даних, можуть включати в себе множину елементів синтаксису, сформованих за допомогою відеокодера 20 для використання за допомогою відеодекодера, такого як відеодекодер 30, при декодуванні відеоданих. Такі елементи синтаксису можуть бути включені з кодованими відеоданими, що передаються на середовищі зв'язку, зберігаються на носії зберігання даних або зберігаються на файловому сервері. Пристрій 32 відображення може бути інтегрованим або зовнішнім для пристрою-адресата 14. У деяких прикладах, пристрій-адресат 14 може включати в себе інтегрований пристрій відображення, а також сконфігурований з можливістю взаємодіяти із зовнішнім пристроєм відображення. У інших прикладах, пристрій-адресат 14 може бути пристроєм відображення. Загалом, пристрій 32 відображення відображає декодовані відеодані користувачу і може містити будь-який з множини пристроїв відображення, таких як рідкокристалічний дисплей (LCD), плазмовий дисплей, дисплей на органічних світлодіодах (OLED) або інший тип пристрою відображення. Відеокодер 20 і відеодекодер 30 можуть працювати згідно з таким стандартом стиснення відео, як стандарт високоефективного кодування відео (HEVC), розроблюваний на даний час, і можуть відповідати тестовій моделі HEVC (HM). Альтернативно, відеокодер 20 і відеодекодер 30 можуть працювати згідно з іншими власними або галузевими стандартами, такими як стандарт ITU-T H.264, альтернативно називаний "MPEG-4, частина 10, вдосконалене кодування відео (AVC)", або розширеннями таких стандартів. Розширення стандартів включають в себе, наприклад, масштабоване кодування відео (SVC), кодування багатовидового відео (MVC), тривимірний, наприклад, кодування інформації глибини і т. п. Проте, технології цього розкриття 6 UA 114418 C2 5 10 15 20 25 30 35 40 45 50 55 суті не обмежені яким-небудь конкретним стандартом або розширенням стандарту кодування. Інші приклади стандартів стиснення відео включають в себе MPEG-2 і ITU-T H.263. Хоч не показано на фіг. 1, в деяких аспектах, відеокодер 20 і відеодекодер 30 можуть бути інтегровані з аудіокодером і аудіодекодером, відповідно, і можуть включати в себе відповідні модулі мультиплексора-демультиплексора або інші апаратні засоби і програмне забезпечення для того, щоб обробляти кодування як аудіо, так і відео в загальному потоці даних або в окремих потоках даних. Якщо застосовно, в деяких прикладах блоки мультиплексорадемультиплексора можуть відповідати протоколу мультиплексора ITU H.223 або іншим протоколам, таким як протокол користувацьких дейтаграм (UDP). Відеокодер 20 і відеодекодер 30 можуть бути реалізовані як будь-яка з множини належних схем кодера, наприклад один або більше мікропроцесорів, процесори цифрових сигналів (DSP), спеціалізовані інтегральні схеми (ASIC), програмовані користувачем вентильні матриці (FPGA), дискретна логіка, програмне забезпечення, апаратні засоби, мікропрограмне забезпечення або будь-які комбінації вищезазначеного. Коли технології реалізовуються частково в програмному забезпеченні, пристрій може зберігати інструкції для програмного забезпечення на придатному енергонезалежному зчитуваному комп'ютером носії і виконувати інструкції в апаратних засобах з використанням одного або більше процесорів, щоб здійснювати технології цього розкриття суті. Кожний з відеокодера 20 і відеодекодера 30 може бути включений в один або більше кодерів або декодерів, будь-який з яких може бути інтегрований як частина комбінованого кодера/декодера (кодека) у відповідному пристрої. JCT-VC проводить роботи з розробки HEVC-стандарту. Робота по стандартизації HEVC основана на вдосконаленій моделі пристрою кодування відео, називаній "тестова модель HEVC (HM)". HM передбачає декілька додаткових можливостей пристроїв кодування відео відносно існуючих пристроїв згідно, наприклад, з ITU-T H.264/AVC. Наприклад, тоді як H.264 надає дев'ять режимів внутрішнього прогнозуючого кодування, HM може надавати цілих тридцять три режими внутрішнього прогнозуючого кодування. Загалом, робоча модель HM описує, що відеокадр або зображення може бути розділено на послідовність деревовидних блоків або найбільших одиниць кодування (LCU), які включають в себе вибірки як сигналу яскравості, так і сигналу кольоровості. Деревовидний блок має призначення, аналогічне призначенню макроблока по стандарту H.264. Слайс включає в себе визначене число послідовних деревовидних блоків в порядку кодування. Відеокадр або зображення може бути сегментовано на один або більше слайсів. Кожний деревовидний блок може розбиватися на одиниці кодування (CU) згідно з деревом квадрантів. Наприклад, деревовидний блок, як кореневий вузол дерева квадрантів, може розбиватися на чотири дочірніх вузли, і кожний дочірній вузол, в свою чергу, може бути батьківським вузлом і розбиватися ще на чотири дочірніх вузли. Кінцевий, нерозбитий дочірній вузол, як кінцевий вузол дерева квадрантів, містить вузол кодування, тобто кодований відеоблок. Синтаксичні дані, асоційовані з кодованим потоком бітів, можуть задавати максимальне число разів, яке може розбиватися деревовидний блок, і також може задавати мінімальний розмір вузлів кодування. CU включає в себе вузол кодування і одиниці прогнозування (PU) і одиниці перетворення (TU), асоційовані з вузлом кодування. Розмір CU відповідає розміру вузла кодування і повинен мати квадратну форму. Розмір CU може коливатися від 8×8 пікселів аж до розміру деревовидного блока максимум в 64×64 пікселів або більше. Кожна CU може містити одну або більше PU і одну або більше TU. Синтаксичні дані, асоційовані з CU, можуть описувати, наприклад, сегментування CU на одну або більше PU. Проте, режими сегментування можуть відрізнятися, є CU кодованою в режимі пропуску або прямому режимі, кодованою в режимі внутрішнього прогнозування або кодованою в режимі зовнішнього прогнозування. PU можуть бути сегментовані таким чином, що вони мають неквадратну форму. Синтаксичні дані, асоційовані з CU, також можуть описувати, наприклад, сегментування CU на одну або більше TU, згідно з деревом квадрантів. TU може мати квадратну або неквадратну форму. HEVC-стандарт забезпечує можливість перетворень згідно з TU, які можуть відрізнятися для різних CU. Розміри NU типово задаються на основі розміру PU в даній CU, заданого для сегментованої LCU, хоч це може не завжди мати місце. TU типово має ідентичний розмір або менше, ніж PU. У деяких прикладах, залишкові вибірки, відповідні CU, можуть підрозділятися на менші одиниці з використанням структури у вигляді дерева квадрантів, відомої як "залишкове дерево квадрантів" (RQT). Кінцеві вузли RQT можуть називатися "одиницями перетворення (TU)". Значення пікселних різниць, асоційовані з TU, можуть бути перетворені, щоб формувати коефіцієнти перетворення, які можуть бути квантовані. 7 UA 114418 C2 5 10 15 20 25 30 35 40 45 50 55 60 Загалом, PU включає в себе дані, пов'язані з процесом прогнозування. Наприклад, коли PU кодується у внутрішньому режимі, PU може включати в себе дані, що описують режим внутрішнього прогнозування для PU. Як інший приклад, коли PU кодується у зовнішньому режимі, PU може включати в себе дані, що задають вектор руху для PU. Дані, що задають вектор руху для PU, можуть описувати, наприклад, горизонтальний компонент вектора руху, вертикальний компонент вектора руху, розрізнення для вектора руху (наприклад, точність в одну чверть піксела або точність в одну восьму піксела), опорне зображення, на яке вказує вектор руху, і/або список опорних зображень для вектора руху. Загалом, TU використовується для процесів перетворення і квантування. Дана CU, що має одну або більше PU, також може включати в себе одну або більше TU. Після прогнозування відеокодер 20 може обчислювати залишкові значення, відповідні PU. Залишкові значення містять значення пікселних різниць, які можуть бути перетворені в коефіцієнти перетворення, квантовані і скановані з використанням TU, щоб формувати перетворені в послідовну форму коефіцієнти перетворення для ентропійного кодування. Це розкриття суті типово використовує термін "відеоблок" для того, щоб позначати вузол кодування CU. У деяких конкретних випадках це розкриття суті також може використовувати термін "відеоблок" для того, щоб позначати деревовидний блок, тобто LCU або CU, яка включає в себе вузол кодування і PU, і TU. Відеопослідовність типово включає в себе серії відеокадрів або зображень. Група зображень (GOP), загалом, містить послідовність з одного або більше відеозображень. GOP може включати в себе в заголовку GOP, в заголовку одного або більше зображень або в іншому місці синтаксичні дані, які описують число зображень, включених в GOP. Кожний слайс зображення може включати в себе синтаксичні дані слайсу, які описують режим кодування для відповідного слайсу. Відеокодер 20 типово оперує з відеоблоками в межах окремих слайсів, щоб кодувати відеодані. Відеоблок може відповідати вузлу кодування в CU. Відеоблоки можуть мати фіксовані або варійовані розміри і можуть відрізнятися за розміром згідно з вказаним стандартом кодування. Як приклад, HM підтримує прогнозування для різних PU-розмірів. За умови, що розмір конкретної CU становить 2N×2N, HM підтримує внутрішнє прогнозування для PU-розмірів 2N×2N або N×N і зовнішнє прогнозування для симетричних PU-розмірів 2N×2N, 2N×N, N×2N або N×N. HM також підтримує асиметричне сегментування для зовнішнього прогнозування для PUрозмірів 2N×nU, 2N×nD, nL×2N і nR×2N. При асиметричному сегментуванні один напрямок CU не сегментується, в той час як інший напрямок сегментується на 25 % і 75 %. Частина CU, відповідна 25 %-ому сегменту, вказується за допомогою "n", після чого йде індикатор відносно "вверх (Up)", "вниз (Down)", "ліворуч (Left)" або "праворуч (Right)". Таким чином, наприклад, "2N×nU" посилається на CU 2N×2N, яка сегментується горизонтально з PU 2N×0,5N вверху і PU 2N×1,5N внизу. У цьому розкритті суті, "N×N" і "N на N" можуть бути використані взаємозамінно для того, щоб позначати розміри в пікселах відеоблока з точки зору розмірів по вертикалі і горизонталі, наприклад 16×16 пікселів або 16 на 16 пікселів. Загалом, блок 16×16 повинен мати 16 пікселів у вертикальному напрямку (у=16) і 16 пікселів в горизонтальному напрямку (х=16). Аналогічно, блок N×N, загалом, має N пікселів у вертикальному напрямку і N пікселів в горизонтальному напрямку, при цьому N представляє ненегативне цілочислове значення. Піксели в блоці можуть розміщуватися в рядках і стовпцях. Крім того, блок не обов'язково повинен мати співпадаюче число пікселів в горизонтальному напрямку і у вертикальному напрямку. Наприклад, блоки можуть містити N×M пікселів, причому M не обов'язково дорівнює N. Після внутрішнього прогнозуючого кодування або зовнішнього прогнозуючого кодування з використанням PU CU, відеокодер 20 може обчислювати залишкові дані для TU CU. PU можуть містити пікселні дані в просторовій області (також називаній "пікселною областю"), і TU можуть містити коефіцієнти в області перетворення після застосування перетворення, наприклад дискретного косинусного перетворення (DCT), цілочислового перетворення, вейвлетперетворення або концептуально аналогічного перетворення, до залишкових відеоданих. Залишкові дані можуть відповідати пікселним різницям між пікселами некодованого зображення і прогнозними значеннями, відповідними PU. Відеокодер 20 може формувати TU, що включає в себе залишкові дані для CU, і потім перетворювати TU таким чином, щоб формувати коефіцієнти перетворення для CU. Після перетворень, щоб формувати коефіцієнти перетворення, відеокодер 20 може виконувати квантування коефіцієнтів перетворення. Квантування, загалом, означає процес, в якому коефіцієнти перетворення квантуються, щоб, можливо, зменшувати об'єм даних, використовуваних для того, щоб представляти коефіцієнти, забезпечуючи додаткове стиснення. Процес квантування може зменшувати бітову глибину, асоційовану з деякими або всіма 8 UA 114418 C2 5 10 15 20 25 30 35 40 45 50 55 коефіцієнтами. Наприклад, n-бітове значення може бути округлене в меншу сторону до mбітового значення в ході квантування, при цьому n більше m. У деяких прикладах, відеокодер 20 і відеодекодер 30 можуть використовувати попередньо заданий порядок сканування для того, щоб сканувати квантовані коефіцієнти перетворення, так щоб формувати перетворений в послідовну форму вектор, який може ентропійно кодуватися. У інших прикладах, відеокодер 20 і відеодекодер 30 можуть виконувати адаптивне сканування. Після сканування квантованих коефіцієнтів перетворення, щоб формувати одновимірний вектор, або в ході сканування, відеокодер 20 може ентропійно кодувати одновимірний вектор, наприклад, згідно з контекстно-адаптивним кодуванням змінної довжини (CAVLC), контекстноадаптивним двійковим арифметичним кодуванням (CABAC), синтаксичним контекстноадаптивним двійковим арифметичним кодуванням (SBAC), ентропійним кодуванням на основі сегментування на інтервали імовірності (PIPE) або іншою технологією ентропійного кодування. Відеодекодер 30 може ентропійно декодувати коефіцієнти, виконувати процес зворотного квантування і процес зворотного перетворення, щоб відтворювати залишкові дані, і комбінувати залишкові дані з прогнозуючими даними, щоб формувати декодовані відеодані. Відеокодер 20 також може ентропійно кодувати елементи синтаксису, асоційовані з кодованими відеоданими, для використання за допомогою відеодекодера 30 при декодуванні відеоданих. Щоб виконувати CABAC, відеокодер 20 і відеодекодер 30 можуть призначати контекст в контекстній моделі символу, який повинен бути кодований. Контекст може бути пов'язаний, наприклад, з тим, є сусідні значення символу ненульовими чи ні. Відповідно до технологій цього розкриття суті, відеокодер 20 і/або відеодекодер 30 можуть бути сконфігуровані з можливістю визначати контекст для ентропійного кодування (наприклад, ентропійного кодування або ентропійного декодування) коефіцієнта перетворення, основуючись на області відеоблока, в якій виникає коефіцієнт перетворення. Відеокодер 20 і відеодекодер 30 можуть бути сконфігуровані із задаваннями різних областей для відеоблоків (наприклад, одиниць перетворення). Наприклад, відеокодер 20 і відеодекодер 30 можуть бути сконфігуровані із задаваннями областей для різних розмірів відеоблоків. У деяких прикладах, відеокодер 20 може визначати спосіб, за допомогою якого можна розділяти відеоблок на області і кодувати дані, що представляють те, як повинен бути розділений блок. Кожна з областей може бути асоційована з відповідним значенням і/або технологією для визначення контексту для коефіцієнтів перетворення, виникаючих у відповідній області. Наприклад, конкретна область відеоблока може бути асоційована зі схемою визначення контекстів на основі оточення, в той час як інша область відеоблока може бути асоційована зі схемою визначення контекстів на основі позиції. Як інший приклад, область відеоблока може бути асоційована зі зміщенням, яке повинно застосовуватися до контексту, визначеного для коефіцієнтів перетворення, розташованих в цій області. Різні області ідентичного відеоблока можуть бути асоційовані з різними значеннями зміщення і/або різними технологіями для обчислення контексту. Як один приклад, відеоблок може включати в себе дві різних області: першу область, що включає в себе один або більше субблоків (наприклад, субблоків коефіцієнтів перетворення 4×4) у верхньому лівому куті відеоблока, і другу область, що включає в себе інші субблоки відеоблока, які не включаються в першу область. Більш конкретно, відеокодер 20 і відеодекодер 30 можуть визначати координати X і Y субблока і визначати те, знаходиться субблок в першій області або у другій області, за допомогою порівняння суми X і Y з пороговим значенням. Якщо сума X і Y менше порогового значення, відеокодер 20 і відеодекодер 30 можуть визначати те, що субблок знаходиться в першій області, а в іншому випадку, відеокодер 20 і відеодекодер 30 можуть визначати те, що субблок знаходиться у другій області. Відеокодер 20 і відеодекодер 30 можуть визначати контекст для коефіцієнтів відеоблока на основі того, знаходяться коефіцієнти в субблоці першої області або субблоці другої області. Наприклад, в деяких областях, контекст може бути фіксованим контекстом, в якому відеокодер 20 і відеодекодер 30 кодують коефіцієнти перетворення в таких областях з використанням фіксованого контексту. Іншими словами, відеокодер 20 і відеодекодер 30 можуть застосовувати ідентичний контекст до всіх коефіцієнтів перетворення в області. Альтернативно, кожний з субблоків в області може бути асоційований з ідентичним способом визначення контексту (наприклад, способом на основі фіксованих контекстів), але різні субблоки в області можуть мати різні фіксовані контексти. Відеокодер 20 і відеодекодер 30 можуть визначати фіксований контекст для субблока на основі позиції субблока в області. Як ще один інший приклад, фіксовані контексти можуть призначатися окремим позиціям коефіцієнтів перетворення в області. Іншими словами, відеокодер 20 і відеодекодер 30 можуть визначати 9 UA 114418 C2 5 10 15 20 25 30 35 40 45 50 55 60 контекст для кодування коефіцієнта перетворення в області на основі позиції коефіцієнта перетворення у відеоблоці, субблоці і/або області. Як інший приклад, в деяких областях, контекстна модель може бути задана згідно з сусідніми субблоками. Наприклад, відеокодер 20 і відеодекодер 30 можуть бути сконфігуровані з наборами контекстів для кожного субблока в конкретній області. Іншими словами, кожним субблок в області може бути асоційований з відповідним набором контекстів. Відеокодер 20 і відеодекодер 30 можуть вибирати належний контекст з набору контекстів для кожного коефіцієнта перетворення у відповідному субблоці. Набір контекстів для одного субблока може відрізнятися від набору контекстів для іншого субблока. Як ще один інший приклад, для кожного субблока в області можуть бути кодовані окремі прапори, що представляють те, існують чи ні які-небудь значущі (тобто ненульові) коефіцієнти у відповідному субблоці. Ці прапори можуть згадуватися як "прапори кодованих субблоків". Такі прапори можуть бути використані для вибору контексту для кодування коефіцієнтів перетворення в субблоках. Наприклад, відеокодер 20 і відеодекодер 30 можуть визначати контекст для кодування коефіцієнтів перетворення в субблоці на основі значень прапорів одного або більше сусідніх субблоків. Наприклад, прапори можуть мати двійкові значення в 0 або 1, і відеокодер 20 і відеодекодер 30 можуть визначати контекст для кодування коефіцієнтів перетворення в поточному субблоці на основі суми значень прапора для правого сусіднього субблока і нижнього сусіднього субблока (також званого "нижнім сусіднім субблоком"). Інші формули також можуть бути використані для обчислення контексту для субблока. Відеокодер 20 і відеодекодер 30 можуть бути сконфігуровані з можливістю реалізовувати будь-які з технологій цього розкриття суті, окремо або в будь-якій комбінації. Одна зразкова комбінація цих технологій полягає в тому, що відеокодер 20 і відеодекодер 30 можуть бути сконфігуровані з можливістю розділяти одиницю перетворення на субблоки (наприклад, пікселні субблоки 4×4) і потім визначати контекст для кодування даних конкретного коефіцієнта перетворення субблока як на основі позиції коефіцієнта перетворення в субблоці, так і на основі прапорів кодованих блоків для одного або більше сусідніх субблоків, наприклад лівого сусіднього субблока і нижнього сусіднього субблока. Відеокодер 20 і відеодекодер 30 можуть бути сконфігуровані з можливістю кодувати один або більше елементів синтаксису, що представляють коефіцієнти перетворення, з використанням контекстів, визначених в цих різних прикладах. Коефіцієнти перетворення можуть включати в себе різні типи елементів синтаксису. Наприклад, коефіцієнт перетворення може включати в себе прапор значущого коефіцієнта (significant_coeff_flag), що вказує те, має чи ні коефіцієнт перетворення ненульове значення (тобто є чи ні значущим). Якщо коефіцієнт перетворення є значущим, коефіцієнт перетворення може включати в себе значення знака (наприклад, coeff_sign_flag), що вказує те, значення коефіцієнта перетворення більше або менше 0, і значення, що вказує те, перевищує чи ні абсолютне значення коефіцієнта перетворення 1 (наприклад, coeff_abs_level_greater1_flag). Якщо коефіцієнт перетворення має абсолютне значення, що перевищує 1, коефіцієнт перетворення може включати в себе значення, що вказує те, має чи ні коефіцієнт перетворення абсолютне значення, що перевищує 2 (наприклад, coeff_abs_level_greater2_flag). Якщо коефіцієнт перетворення має абсолютне значення, що перевищує 2, коефіцієнт перетворення може включати в себе значення, що вказує абсолютне значення коефіцієнта перетворення мінус два (наприклад, coeff_abs_level_remaining). САВАС-кодер відеокодера 20 і відеодекодера 30 може кодувати будь-які з цих значень з використанням контекстів, визначених відповідно до технологій цього розкриття суті. Крім цього або альтернативно, відеокодер 20 і відеодекодер 30 можуть кодувати дані, що вказують позицію останнього значущого коефіцієнта (наприклад, last_significant_coeff_x_prefix, last_significant_coeff_x_suffix, last_significant_coeff_y_prefix і last_significant_coeff_y_suffix), з використанням контексту, визначеного відповідно до технологій цього розкриття суті. Відеокодер 20 і відеодекодер 30 можуть бути сконфігуровані з можливістю здійснювати будь-яку одну або більше технологій, описаних в цьому розкритті суті, окремо або в будь-якій комбінації. Нижче описуються різні технології для визначення контексту для кодування коефіцієнта перетворення відеоблока, основуючись на області відеоблока, в якій виникає коефіцієнт перетворення, і ентропійного кодування коефіцієнта перетворення з використанням визначеного контексту. Приклади таких технологій описуються відносно фіг. 9-14 нижче. Загалом, кодування коефіцієнта перетворення з використанням визначеного контексту включає в себе кодування одного або більше елементів синтаксису коефіцієнта перетворення з використанням визначеного контексту. Визначення контексту, загалом, включає в себе визначення області, в якій виникає коефіцієнт перетворення, і визначення контексту, 10 UA 114418 C2 5 10 15 20 25 30 35 40 45 50 55 60 основуючись на області. Наприклад, область може бути асоційована з конкретним контекстом або набором контекстів і/або асоційована з однією або більше технологіями для визначення контексту. Фіг. 2 є блок-схемою, що ілюструє зразковий відеокодер 20, який може реалізовувати технології, описані в цьому розкритті суті. Відеокодер 20 може виконувати внутрішнє і зовнішнє кодування відеоблоків в слайсах. Внутрішнє кодування основане на просторовому прогнозуванні, щоб зменшувати або видаляти просторову надмірність відео в даному відеокадрі або зображенні. Зовнішнє кодування основане на часовому прогнозуванні, щоб зменшувати або видаляти часову надмірність відео в суміжних кадрах або зображеннях відеопослідовності. Внутрішній режим (I-режим) може означати будь-який з декількох режимів просторового стиснення. Зовнішні режими, наприклад однонаправлене прогнозування (Р-режим) або біпрогнозування (В-режим), можуть означати будь-який з декількох режимів часового стиснення. У прикладі за фіг. 2, відеокодер 20 включає в себе модуль 35 вибору режиму, процесор 41 прогнозування, запам'ятовуючий пристрій 64 опорних зображень, суматор 50, процесор 52 перетворення, модуль 54 квантування і модуль 56 ентропійного кодування. Процесор 41 прогнозування включає в себе модуль 42 оцінки руху, модуль 44 компенсації руху і модуль 46 внутрішнього прогнозування. Для відновлення відеоблоків відеокодер 20 також включає в себе модуль 58 зворотного квантування, модуль 60 зворотного перетворення і суматор 62. Фільтр видалення блоковості (не показаний на фіг. 2) також може бути включений з можливістю фільтрувати границі блоків, щоб видаляти артефакти блоковості з відновленого відео. Якщо потрібно, фільтр видалення блоковості типово повинен фільтрувати виведення суматора 62. Додаткові контурні фільтри (внутрішньоконтурні або постконтурні) також можуть бути використані на доповнення до фільтра видалення блоковості. Як показано на фіг. 2, відеокодер 20 приймає відеодані, і модуль 35 вибору режиму сегментує дані на відеоблоки. Це сегментування також може включати в себе сегментування на слайси, плитки або інші більші одиниці, а також сегментування відеоблока, наприклад, згідно зі структурою у вигляді дерева квадрантів LCU і CU. Відеокодер 20, загалом, ілюструє компоненти, які кодують відеоблоки у відеослайсі, який повинен бути кодований. Слайс може бути розділений на декілька відеоблоків (і можливо на набори відеоблоків, називаних "плитками"). Процесор 41 прогнозування може вибирати один з множини можливих режимів кодування, наприклад один з множини режимів внутрішнього кодування або один з множини режимів зовнішнього кодування, для поточного відеоблока на основі результатів помилки (наприклад, швидкості кодування і рівня спотворення). Процесор 41 прогнозування може надавати результуючий кодований внутрішньо або зовнішньо блок в суматор 50, щоб формувати залишкові блокові дані, і в суматор 62, щоб відновлювати кодований блок для використання як опорного зображення. Модуль 46 внутрішнього прогнозування в процесорі 41 прогнозування може виконувати внутрішнє прогнозуюче кодування поточного відеоблока відносно одного або більше сусідніх блоків в кадрі або слайсі, ідентичному кадру або слайсу поточного блока, який повинен бути кодований, щоб надавати просторове стиснення. Модуль 42 оцінки руху і модуль 44 компенсації руху в процесорі 41 прогнозування виконують зовнішнє прогнозуюче кодування поточного відеоблока відносно одного або більше прогнозних блоків в одному або більше опорних зображень, щоб надавати часове стиснення. Модуль 42 оцінки руху може бути сконфігурований з можливістю визначати режим зовнішнього прогнозування для відеослайсу згідно із попередньо визначеним шаблоном для відеопослідовності. Попередньо визначений шаблон може позначати слайси в послідовності як Р-слайси, В-слайси або GPB-слайси. Модуль 42 оцінки руху і модуль 44 компенсації руху можуть мати високу міру інтеграції, але проілюстровані окремо в концептуальних цілях. Оцінка руху, виконувана за допомогою модуля 42 оцінки руху, є процесом формування векторів руху, які оцінюють рух для відеоблоків. Вектор руху, наприклад, може вказувати зміщення PU відеоблока в поточному відеокадрі або зображенні відносно прогнозного блока в опорному зображенні. Прогнозний блок є блоком, для якого виявляється, що він практично співпадає з відеоблоком, який повинен бути кодований, з точки зору пікселної різниці, яка може бути визначена за допомогою суми абсолютних різниць (SAD), суми квадратів різниць (SSD) або інших різницевих показників. У деяких прикладах, відеокодер 20 може обчислювати значення для субцілочислових піксельних позицій опорних зображень, збережених в запам'ятовуючому пристрої 64 опорних зображень. Наприклад, відеокодер 20 може інтерполювати значення позицій в одну чверть піксела, позицій в одну восьму піксела або інших дробовопікселних позицій опорного зображення. Отже, модуль 42 оцінки руху може виконувати пошук руху 11 UA 114418 C2 5 10 15 20 25 30 35 40 45 50 55 відносно повнопікселних позицій і дробовопікселних позицій і виводити вектор руху з дробовопікселною точністю. Модуль 42 оцінки руху обчислює вектор руху для PU відеоблока у кодованому зовнішньо слайсі за допомогою порівняння позиції PU з позицією прогнозного блока опорного зображення. Опорне зображення може бути вибране з першого списку опорних зображень (списку 0) або другого списку опорних зображень (списку 1), кожний з яких ідентифікує одне або більше опорних зображень, збережених в запам'ятовуючому пристрої 64 опорних зображень. Модуль 42 оцінки руху відправляє обчислений вектор руху в модуль 56 ентропійного кодування і модуль 44 компенсації руху. Компенсація руху, виконувана за допомогою модуля 44 компенсації руху, може включати в себе вибірку або формування прогнозного блока на основі вектора руху, визначеного за допомогою оцінки руху, можливо виконання інтерполяції в субпікселну точність. При прийомі вектора руху для PU поточного відеоблока модуль 44 компенсації руху може знаходити прогнозний блок, на який вказує вектор руху в одному зі списків опорних зображень. Модуль 44 компенсації руху також може формувати елементи синтаксису, асоційовані з відеоблоками і відеослайсом, для використання за допомогою відеодекодера 30 при декодуванні відеоблоків відеослайсу. Модуль 46 внутрішнього прогнозування може внутрішньо прогнозувати поточний блок, як альтернативу зовнішньому прогнозуванню, виконуваному за допомогою модуля 42 оцінки руху і модуля 44 компенсації руху, як описано вище. Зокрема, модуль 46 внутрішнього прогнозування може визначати режим внутрішнього прогнозування для використання для того, щоб кодувати поточний блок. У деяких прикладах, модуль 46 внутрішнього прогнозування може кодувати поточний блок з використанням різних режимів внутрішнього прогнозування, наприклад під час окремих проходів кодування, і модуль 46 внутрішнього прогнозування (або модуль 35 вибору режиму в деяких прикладах) може вибирати належний режим внутрішнього прогнозування для використання з тестованих режимів. Наприклад, модуль 46 внутрішнього прогнозування може обчислювати значення спотворення залежно від швидкості передачі з використанням аналізу спотворення залежно від швидкості передачі для різних тестованих режимів внутрішнього прогнозування і вибирати режим внутрішнього прогнозування, що має найкращі характеристики спотворення залежно від швидкості передачі, з тестованих режимів. Аналіз спотворення залежно від швидкості передачі, загалом, визначає величину спотворення (або помилки) між кодованим блоком і вихідним некодованим блоком, який кодований для того, щоб формувати кодований блок, а також швидкість передачі бітів (тобто число бітів), використовувану для того, щоб формувати кодований блок. Модуль 46 внутрішнього прогнозування може обчислювати відношення зі спотворень і швидкостей для різних кодованих блоків, щоб визначати те, який режим внутрішнього прогнозування демонструє найкраще значення спотворення залежно від швидкості передачі для блока. У будь-якому випадку, після вибору режиму внутрішнього прогнозування для блока, модуль 46 внутрішнього прогнозування може надавати інформацію, що вказує вибраний режим внутрішнього прогнозування для блока, в модуль 56 ентропійного кодування. Модуль 56 ентропійного кодування може кодувати інформацію, що вказує вибраний режим внутрішнього прогнозування, відповідно до технологій цього розкриття суті. Відеокодер 20 може включати в потік бітів, що передається, конфігураційні дані, які можуть включати в себе множину індексних таблиць режиму внутрішнього прогнозування і множину модифікованих індексних таблиць режиму внутрішнього прогнозування (також називаних "таблицями відображення кодових слів"), визначення контекстів кодування для різних блоків і індикатори відносно найбільш імовірного режиму внутрішнього прогнозування, індексної таблиці режиму внутрішнього прогнозування і модифікованої індексної таблиці режиму внутрішнього прогнозування, які потрібно використовувати для кожного з контекстів. Після того, як процесор 41 прогнозування формує прогнозний блок для поточного відеоблока через зовнішнє прогнозування або внутрішнє прогнозування, відеокодер 20 формує залишковий відеоблок за допомогою віднімання прогнозного блока з поточного відеоблока. Суматор 50 представляє модуль, який виконує це обчислення. Залишкові відеодані в залишковому блоці можуть включатися в одну або більше TU і застосовуватися до процесора 52 перетворення. Процесор 52 перетворення, загалом, перетворює залишкові відеодані з пікселної області в область перетворення, наприклад в частотну область. Процесор 52 перетворення може перетворювати залишкові відеодані в залишкові коефіцієнти перетворення з використанням перетворення, такого як дискретне косинусне перетворення (DCT) або концептуально аналогічне перетворення. Альтернативно, процесор 52 перетворення може 12 UA 114418 C2 5 10 15 20 25 30 35 40 45 50 55 застосовувати двовимірне перетворення (в горизонтальному і вертикальному напрямку) до залишкових даних в TU. Процесор 52 перетворення може відправляти результуючі коефіцієнти перетворення в модуль 54 квантування. Модуль 54 квантування квантує коефіцієнти перетворення, щоб додатково зменшувати швидкість передачі бітів. Процес квантування може зменшувати бітову глибину, асоційовану з деякими або всіма коефіцієнтами. Міра квантування може бути модифікована за допомогою регулювання параметра квантування. Після квантування, модуль 56 ентропійного кодування ентропійно кодує квантовані коефіцієнти перетворення. Наприклад, модуль 56 ентропійного кодування може виконувати контекстно-адаптивне кодування змінної довжини (CAVLC), контекстно-адаптивне двійкове арифметичне кодування (CABAC), синтаксичне контекстно-адаптивне двійкове арифметичне кодування (SBAC), ентропійне кодування на основі сегментування на інтервали імовірності (PIPE) або іншу технологію ентропійного кодування. Таке ентропійне кодування, загалом, включає в себе сканування квантованих коефіцієнтів перетворення (загалом, називаних в даному документі просто "коефіцієнтами перетворення" скорочено) один або більше разів і ентропійне кодування елементів синтаксису для коефіцієнтів перетворення в ході кожного сканування, наприклад елементів синтаксису, що вказують те, є чи ні відповідні коефіцієнти перетворення значущими, мають абсолютне значення, що перевищує 1 або 2, абсолютне значення (або його частину, наприклад, частину, що перевищує 2) і знак значущих коефіцієнтів. Відповідно до технологій цього розкриття суті, модуль 56 ентропійного кодування може визначати контекст для кодування (тобто ентропійного кодування) коефіцієнта перетворення відеоблока (наприклад, одиниці перетворення), основуючись на області відеоблока, в якій виникає коефіцієнт перетворення. Наприклад, в ході сканування, модуль 56 ентропійного кодування може визначати позицію коефіцієнта перетворення у відеоблоці і визначати те, в якій області виникає позиція. Крім цього, модуль 56 ентропійного кодування може включати в себе області задавання конфігураційних даних для відеоблока. Наприклад, модуль 56 ентропійного кодування може бути сконфігурований з пороговим значенням. У цьому прикладі, модуль 56 ентропійного кодування може визначати те, мають чи ні координати X і Y, що задають позицію коефіцієнта перетворення, суму (тобто X+Y), яка перевищує порогове значення. Перша область, в цьому прикладі, відповідає коефіцієнтам перетворення, для яких сума значень координат X і Y менше порогового значення, і друга область відповідає коефіцієнтам перетворення, для яких сума значень координат X і Y перевищує або дорівнює пороговому значенню. Альтернативно, декілька порогових значень можуть бути використані для того, щоб задавати декілька областей. Приклад областей, заданих таким чином, показується на фіг. 9B, що детальніше описується нижче. Як інший приклад, модуль 56 ентропійного кодування може бути сконфігурований з можливістю визначати позицію субблока, що включає в себе коефіцієнт перетворення, у відеоблоці. Субблок може відповідати субблоку коефіцієнтів перетворення 4×4. Іншими словами, відеоблок може включати в себе множину субблоків, що не перекриваються, які мають ідентичний розмір, наприклад, коефіцієнтів перетворення 4×4. Щоб визначати область для субблока, модуль 56 ентропійного кодування може порівнювати суму координат X і Y субблока (наприклад, конкретний коефіцієнт перетворення субблока, наприклад верхній лівий коефіцієнт перетворення субблока) з пороговим значенням. Те, менше чи ні сума координат X і Y порогового значення, може служити ознакою того, включаються коефіцієнти перетворення субблока в першу область або у другу область. Наприклад, нехай Cij представляє позицію субблока, що має верхній лівий коефіцієнт перетворення в позиції (i, j), де х=i і у=j. Додатково, нехай Т задає порогове значення. Модуль 56 ентропійного кодування може визначати область, в якій виникають коефіцієнти перетворення субблока, з використанням наступного псевдокоду: (i+j=порогове значення) є істинною, то відеокодер може визначати те, що відповідний коефіцієнт виникає в області R2; в іншому випадку, якщо умова не є істинною, відеокодер визначає те, що відповідний коефіцієнт виникає в області R1. Аналогічно, координати можуть призначатися областям на основі субблоків 4×4. Для субблока з координатами (X, Y), області можуть бути задані згідно з позицією субблока 4×4. Наприклад, якщо умова (X+Y>=порогове значення) є істинною, то відеокодер може визначати те, що відповідний коефіцієнт виникає в області R2; в іншому випадку відеокодер може визначати те, що відповідний коефіцієнт виникає в області R1. Порогове значення може задаватися фіксовано рівним деякому попередньо заданому значенню, наприклад цілому числу, що дорівнює 4, 5, 6, 7 або 8, або може залежати від розміру відеоблока, наприклад TU. Таким чином, фіг. 10 представляє приклад, в якому відеокодер може бути сконфігурований з можливістю визначати контекст для кодування коефіцієнта перетворення, основуючись на області, в якій виникає коефіцієнт перетворення, з використанням однієї з контекстної інформації на основі позиції і контекстній інформації на основі оточення, основуючись на області. Зокрема, якщо коефіцієнт перетворення знаходиться в першій області, відеокодер може використовувати перший підхід до визначення контекстів для того, щоб визначати контекст для кодування коефіцієнта перетворення. Якщо коефіцієнт перетворення знаходиться у другій області, відеокодер може використовувати другий підхід до визначення контекстів для того, щоб визначати контекст для кодування коефіцієнта перетворення, при цьому другий підхід до визначення контекстів відрізняється від першого підходу до визначення контекстів, а перша область відрізняється від другої області. У прикладі, перша і друга області не перекриваються. З іншого боку, приклади першого і другого підходів до визначення контекстів включають в себе 20 UA 114418 C2 5 10 15 використання контекстної інформації на основі позиції і контекстної інформації на основі оточення. Фіг. 11 є концептуальною схемою, яка ілюструє зразкове призначення зміщень контексту для кожної області відеоблока. Контекстна модель може бути окремою для різних областей, але як і раніше використовувати ідентичний спосіб для обчислення контекстів. Іншими словами, відеокодер може бути сконфігурований за допомогою одного способу для обчислення контексту для кодування коефіцієнта перетворення, але може включати в себе різні контекстні моделі, визначені, основуючись на області, в якій виникає коефіцієнт перетворення. Наприклад, контекст може бути обчислений на основі оточення, але для інших областей він використовує зміщення. Зміщення для кожної області може бути фіксованим або залежним від одного або більше з розміру відеоблока, позиції коефіцієнта у відеоблоці або субблоці і позиції субблока у відеоблоці. Область R1 за фіг. 11 представляє інший приклад області, що включає в себе один або більше верхніх лівих субблоків 4×4 коефіцієнтів перетворення відеоблока, тоді як область R2 за фіг. 11 представляє інший приклад області, що включає в себе коефіцієнти перетворення відеоблока за межами області R1. Фіг. 11 також представляє приклад, в якому множина областей містить відповідні набори з одного або більше субблоків. Для зміщення, контекст може бути обчислений згідно з рівнянням (2): Ctx  offset(region )   (coefp !  0). (2) pS 20 25 30 35 40 45 50 55 Альтернативно, відеокодер може обчислювати контекст згідно з функцією з використанням Ctx як введення, наприклад Ctx=(Ctx+1)>>1. Один приклад основаних на області зміщень показується на фіг. 11, при цьому області R1 і R2 задаються на основі субблоків 4×4, і зміщення відрізняються для областей R1 і R2. Значення offset1 і offset2 зміщення можуть бути будь-якими цілими числами, наприклад offset1=0, offset2=3. В іншому прикладі, інші розділення на області також є можливими, і розділення більше ніж на дві області також є можливими. Фіг. 12 є концептуальною схемою, яка ілюструє зразкове вбудоване розділення відеоблока на дві або більше областей на основі TU-розмірів, які корелюються з існуючими контекстними моделями. Оскільки існує декілька розмірів TU в поточній HM (4×4, 8×8, 16×16 і 32×32), розділення великих блоків може виконуватися для менших TU-розмірів з використанням вбудованого стилю розділення, як проілюстровано на фіг. 12. Для вбудованого розділення може бути спільно використаний спосіб обчислення контекстів, і може бути спільно використана сама контекстна модель. Наприклад, для TU-розміру 32×32, в області R1, що представляє TU 4×4, обчислення контекстів може використовувати ідентичний спосіб для обчислення контекстів, що і для фактичної TU розміру 4×4. Крім цього, контекстна модель може бути спільно використана TU розміру 4×4 і R1 TU розміру 32×32, або зміщення може застосовуватися до контекстної моделі для TU розміру 4×4. Що стосується R2, спосіб обчислення контекстів може бути спільно використаний TU розміру 8×8 і R2 TU розміру 32×32. R3 представляє область TU 16×16, в той час як R4 представляє область TU 32×32. Потенційна перевага цього способу полягає в тому, що ідентичні одиниці можуть бути використані для обчислень контекстів, і може враховуватися додаткова кореляція між вбудованими областями і TU. Альтернативно, з використанням вбудованого розділення стилю, деякі контекстні моделі карти значущості можуть бути спільно використані для виділених позицій всіма TU або деякою групою TU. Наприклад, контекстна модель, відповідна DC-коефіцієнтам, може бути спільно використана всіма TU з розмірами від 4×4 до 32×32. Як інший приклад, контекстна модель, пов'язана з високочастотними коефіцієнтами, може бути спільно використана всіма TU. У цих випадках, область R1, що представляє TU 4×4, в TU розміру 32×32 може використовувати ідентичну контекстну модель для DC-коефіцієнтів і/або високочастотних коефіцієнтів як TU, що мають будь-який з розмірів в 4×4, 8×8, 16×16, 32×32 і т. п. Як додатковий приклад, замість спільного використання всіма TU, контекстна модель коефіцієнтів, описаних вище (наприклад, DC- і/або високочастотних коефіцієнтів), може бути спільно використана тільки піднабором або групою всіх TU. Наприклад, контекстна модель коефіцієнта може бути спільно використана тільки двома розмірами TU, наприклад TU 4×4 і 8×8. У цьому випадку, область R1, що представляє TU 4×4, в TU розміру 32×32 може використовувати ідентичну контекстну модель для DC-коефіцієнтів і/або високочастотних коефіцієнтів як TU, що мають розмір 4×4 і 8×8. Таким чином, приклад за фіг. 12 представляє приклад, в якому відеокодер, наприклад відеокодер 20 або відеодекодер 30, може бути сконфігурований з можливістю визначати область, в якій виникає коефіцієнт перетворення, з множини областей відеоблока, при цьому 21 UA 114418 C2 5 10 15 20 25 30 35 40 45 50 55 60 кожна з областей відповідає відповідному одному з множини розмірів одиниць перетворення (TU), при цьому відеокодер визначає контекст за допомогою вибору контексту, який спільно використовується областю і TU, що має розмір, ідентичний розміру області. Фіг. 12 також представляє приклад, в якому відеокодер, наприклад відеокодер 20 або відеодекодер 30, може бути сконфігурований з можливістю визначати область, в якій виникає коефіцієнт перетворення, з множини областей відеоблока, при цьому кожна з областей відповідає відповідному одному з множини розмірів одиниць перетворення (TU), при цьому для того, щоб визначати контекст, відеокодер вибирає спільно використовуваний контекст для виділених позицій коефіцієнтів перетворення між двома або більше TU різних розмірів, при цьому область має розмір, ідентичний розміру однієї з двох або більше TU різних розмірів. Спільно використовуваний контекст для виділених позицій коефіцієнтів перетворення може містити контекст для одного з DC-коефіцієнтів і високочастотних коефіцієнтів, спільно використовуваних двома або більше TU різних розмірів. Додатково або альтернативно, спільно використовуваний контекст для виділених позицій коефіцієнтів перетворення може містити спільно використовуваний контекст між першою TU, що має розмір коефіцієнтів перетворення 4×4, і другою TU, що має розмір коефіцієнтів перетворення 8×8. Фіг. 13A і 13B є концептуальними схемами, які ілюструють зразкові розділення відеоблока на дві або більше областей. Аналогічно описаному вище відносно прикладів, в яких області основані на квадратних субблоках, наприклад 4×4, технології цього розкриття суті також описують спосіб класифікації, щоб розділяти відеоблок, наприклад TU, на двіабо більше областей на основі субблоків прямокутної форми. Наприклад, субблоки 2×8 і 8×2 можуть бути використані для відеоблока 8×8 залежно від сканування коефіцієнтів, як показано на фіг. 13A і 13B. У цьому прикладі, відеокодер застосовує горизонтальне сканування для коефіцієнтів в блоці, показаному на фіг. 13A, і вертикальне сканування до блока, показаного на фіг. 13B. В прикладах, проілюстрованих на фіг. 13A і 13B, один квадратний блок представляє усього один коефіцієнт, і розмір всього відеоблока становить 8×8. Згідно з технологіями цього розкриття суті, відеоблок може бути розділений на різні прямокутні області, наприклад R1, R2, R3 і R4. Кожна з різних прямокутних областей може мати різне призначення контексту. Наприклад, для деяких областей, може бути використаний фіксований контекст. Ці області можуть формуватися на основі прямокутних субблоків (наприклад, 2×8 або 8×2), описаних вище і показаних на фіг. 13A і 13B. Наприклад, контекст може бути заданий згідно з позицією коефіцієнта у відеоблоці або згідно з позицією прямокутного субблока, який містить цей коефіцієнт. Альтернативно, контекстна модель може бути задана згідно з сусідніми субблоками прямокутної форми. Наприклад, кожний коефіцієнт в ідентичному прямокутному субблоці може використовувати один або декілька контекстів. Крім цього, коефіцієнти сусіднього прямокутного субблока також можуть використовувати один або декілька контекстів. Проте, контексти одного прямокутного субблока можуть відрізнятися від попередніх контекстів на основі прямокутних субблоків. Також може бути використаний гібридний тип контекстів, наприклад для деяких областей контексти можуть бути основані на оточенні і для деяких областей ідентичного відеоблока вони можуть бути фіксованими або основаними на позиції. Перевага підходу на основі позиції полягає в тому, що необов'язково обчислювати контекст на основі коефіцієнтів, це може виконуватися один раз для області. Крім того, розділення може залежати від позицій коефіцієнтів або позиції прямокутного субблока, що містить цей коефіцієнт. Для коефіцієнта з координатами (X, Y), області можуть бути задані згідно з позицією коефіцієнта. Наприклад, якщо умова (X+Y>=порогове значення) є істинною, то цей коефіцієнт може призначатися області R2; в іншому випадку, він може призначатися області R1. Аналогічним чином, це може виконуватися на основі субблока прямокутної форми, для субблока з координатами (X, Y), області можуть бути задані згідно з позицією прямокутного субблока. Наприклад, якщо умова (X+Y>=порогове значення) є істинною, то цей коефіцієнт може призначатися області R2, в іншому випадку, він може призначатися R1. Порогове значення може задаватися фіксовано рівним деякому попередньо заданому значенню, наприклад цілому числу (наприклад, рівному 0 або 1) або може залежати від TU-розміру. Альтернативно, контекстна модель може відрізнятися для різних областей, але як і раніше використовувати ідентичний спосіб для обчислення контекстів. Наприклад, контекст може бути обчислений на основі оточення, але для інших областей він використовує зміщення. Зміщення може бути фіксованим, залежним від розміру відеоблока або залежним від одного або більше з наступного: позиція коефіцієнта у відеоблоці і/або прямокутному субблоці, позиція прямокутного субблока, що містить поточний коефіцієнт у відеоблоці, або будь-яка комбінація цих умов. Для зміщення, контекст може бути обчислений згідно з рівнянням (3): 22 UA 114418 C2 Ctx  offset(region )   (coefp !  0). (3) pS 5 10 15 20 25 30 35 40 45 50 55 Альтернативно, контекст може бути обчислений згідно з функцією з використанням Ctx як введення, наприклад Ctx=(Ctx+1)>>1. Фіг. 14A і 14B є концептуальними схемами, які ілюструють зразкове призначення зміщень контексту для кожної області відеоблока. У цих прикладах, області R1 і R2 задаються на основі прямокутних субблоків і напрямку сканування, і зміщення відрізняються для областей R1 і R2. Значення зміщення offset1 і offset2 можуть бути будь-якими цілими числами, наприклад offset1=0, offset2=3. Інші розділення на області також є можливими. Наприклад, число областей може перевищувати два. Потрібно зазначити, що прямокутні субблоки 2×8 і 8×2, залежно від напрямків сканування коефіцієнтів, використані в цьому розкритті суті як приклад. Аналогічні способи можуть бути використані для інших субблоків прямокутної форми з розміром M×N без обмеження. Загалом, це розкриття суті описує діагональне розділення відеоблоків, розділення відеоблоків на основі квадратних, наприклад 4×4, субблоків і розділення відеоблоків на основі прямокутних, наприклад 2×8 і 8×2, субблоків. У інших прикладах, інші типи розділення є можливими, і розділення може бути гнучким на основі різних форм, наприклад прямокутної, квадратної, трикутної і т. п., з різними розмірами. Це розкриття суті також описує розділення відеоблоків на будь-яке число областей. Це розкриття суті додатково описує угрупування коефіцієнтів в області на основі квадратного субблока, прямокутних субблоків або на основі інших угрупувань, наприклад діагональних розділень відеоблока. Порогові значення і зміщення, описані вище, також надаються як приклад, інші значення або сусідні залежності можуть бути використані. Аналогічні технології, як описано в цьому розкритті суті, можуть бути використані для неквадратних одиниць перетворення або інших форм одиниць. Описані технології можуть застосовуватися до кодування на основі карти значущості і до іншого синтаксичного кодування і кодування на основі елементів вибірки коефіцієнтів перетворення без обмеження. Крім цього, це розкриття суті типово згадує відеоблоки як TU-блоки, але технології можуть застосовуватися до будь-якої з TU, PU, CU, LCU або інших груп блоків. Фіг. 15 є блок-схемою послідовності операцій, що ілюструє зразковий спосіб для кодування поточного блока. Поточний блок може містити поточну CU або частину поточної CU. Хоч описується відносно відеокодера 20 (фіг. 1 і 2), потрібно розуміти, що інші пристрої можуть бути сконфігуровані з можливістю здійснювати спосіб, аналогічний способу за фіг. 15. У цьому прикладі, відеокодер 20 спочатку прогнозує поточний блок (150). Наприклад, відеокодер 20 може обчислювати одну або більше одиниць прогнозування (PU) для поточного блока. Відеокодер 20 потім може обчислювати залишковий блок для поточного блока, наприклад, щоб формувати одиницю перетворення (TU) (152). Щоб обчислювати залишковий блок, відеокодер 20 може обчислювати різницю (тобто попіксельні різниці) між вихідним некодованим блоком і прогнозованим блоком для поточного блока. Відеокодер 20 потім може перетворювати і квантувати коефіцієнти залишкового блока (154). Потім, відеокодер 20 може сканувати квантовані коефіцієнти перетворення залишкового блока (156). У ході сканування, відеокодер 20 може визначати область, в якій виникає поточний коефіцієнт, і за рахунок цього відеокодер 20 може визначати області, в яких виникають різні коефіцієнти (158). Відповідно до технологій цього розкриття суті, відеокодер 20 може визначати області, в яких виникають коефіцієнти, на основі, наприклад, позицій коефіцієнтів або позицій субблоків, в яких виникають коефіцієнти. Відеокодер 20 може визначати області з використанням будь-якої з технологій, описаних відносно фіг. 9-14, або інших аналогічних технологій. Наприклад, як показано на фіг. 9A, відеокодер 20 може бути сконфігурований з можливістю визначати те, виникає коефіцієнт в першій області, що включає в себе один або більше субблоків, або у другій області, що включає в себе субблоки за межами першої області. Відеокодер 20 додатково може визначати контексти для ентропійного кодування коефіцієнтів, основуючись на областях (160). Іншими словами, відеокодер 20 може визначати, для кожного коефіцієнта, контекст для кодування коефіцієнта, основуючись на області, в якій виникає коефіцієнт. Наприклад, як пояснено вище, відеокодер 20 може визначати контекст на основі позиції коефіцієнта в блоці, позиції субблока, що включає в себе коефіцієнт, в блоці, зміщення, яке повинно застосовуватися до обчисленого контексту, і т. п., основуючись на області, в якій виникає коефіцієнт. Аналогічно, відеокодер 20 може ентропійно кодувати коефіцієнти з використанням визначених контекстів (162). Зокрема, відеокодер 20 може ентропійно кодувати один або більше елементів синтаксису, що представляють коефіцієнти, з використанням контексту. Наприклад, 23 UA 114418 C2 5 10 15 20 25 30 35 40 45 50 55 60 відеокодер 20 може ентропійно кодувати одне або більше з інформації значущості для коефіцієнтів, інформації рівня для значущих коефіцієнтів і/або інформації знака для значущих коефіцієнтів. Інформація значущості може містити дані significant_coeff_flag. Інформація рівня може містити coeff_abs_level_greater1_flag, coeff_abs_level_greater2_flag і coeff_abs_level_remaining. Інформація знака може містити coeff_sign_flag. Відеокодер 20 потім може виводити ентропійно кодовані дані для коефіцієнтів (164). Таким чином, спосіб за фіг. 15 представляє приклад способу, що включає в себе визначення контексту для кодування коефіцієнта перетворення відеоблока, основуючись на області відеоблока, в якій виникає коефіцієнт перетворення, і ентропійне кодування коефіцієнта перетворення з використанням визначеного контексту. Крім того, область може містити одну з першої області, що містить один або більше верхніх лівих субблоків 4×4 коефіцієнтів перетворення відеоблока, і другої області, що містить коефіцієнти перетворення відеоблока за межами першої області. Фіг. 16 є блок-схемою послідовності операцій, що ілюструє зразковий спосіб для декодування поточного блока відеоданих. Поточний блок може містити поточну CU або частину поточної CU. Хоч описується відносно відеокодера 30 (фіг. 1 і 3), потрібно розуміти, що інші пристрої можуть бути сконфігуровані з можливістю здійснювати спосіб, аналогічний способу за фіг. 16. Відеодекодер 30 може прогнозувати поточний блок (200), наприклад, з використанням режиму внутрішнього або зовнішнього прогнозування для того, щоб обчислювати прогнозований блок для поточного блока. Відеодекодер 30 також може приймати ентропійно кодовані дані для поточного блока, наприклад ентропійно кодовані дані для коефіцієнтів залишкового блока, відповідного поточному блоку (202). Відповідно до технологій цього розкриття суті, відеодекодер 30 може визначати області, в яких виникають коефіцієнти (204), наприклад, в ході процесу зворотного сканування і ентропійного декодування. Іншими словами, відеодекодер 30 може визначати позицію наступного коефіцієнта перетворення на основі позиції раніше декодованого коефіцієнта перетворення і наступного значущого коефіцієнта перетворення в порядку сканування. Відеодекодер 30 додатково може визначати область блока, в якій виникає ця позиція. Відеодекодер 30 може аналогічно визначати області для кожного з коефіцієнтів аналогічним чином. Крім того, відеодекодер 30 може визначати області, в яких виникають коефіцієнти, на основі, наприклад, позицій коефіцієнтів або позицій субблоків, в яких виникають коефіцієнти. Відеодекодер 30 може визначати області з використанням будь-якої з технологій, описаних відносно фіг. 9-14, або інших аналогічних технологій. Наприклад, як показано на фіг. 9A, відеодекодер 30 може бути сконфігурований з можливістю визначати те, виникає коефіцієнт в першій області, що включає в себе один або більше субблоків, або у другій області, що включає в себе субблоки за межами першої області. Крім того, відеодекодер 30 може визначати контексти для декодування коефіцієнтів на основі визначених областей (206). Іншими словами, відеодекодер 30 може визначати, для кожного коефіцієнта, контекст для декодування коефіцієнта, основуючись на області, в якій виникає коефіцієнт. Наприклад, як пояснено вище, відеодекодер 30 може визначати контекст на основі позиції коефіцієнта в блоці, позиції субблока, що включає в себе коефіцієнт, в блоці, зміщення, яке повинно застосовуватися до обчисленого контексту, і т. п., основуючись на області, в якій виникає коефіцієнт. Відеодекодер 30 може ентропійно декодувати ентропійно кодовані дані, щоб відтворювати коефіцієнти блока з використанням визначених контекстів (208). Зокрема, відеодекодер 30 може ентропійно декодувати один або більше елементів синтаксису, що представляють коефіцієнти, з використанням контексту. Наприклад, відеодекодер 30 може ентропійно декодувати одне або більше з інформації значущості для коефіцієнтів, інформації рівня для значущих коефіцієнтів і/або інформації знака для значущих коефіцієнтів. Інформація значущості може містити дані significant_coeff_flag. Інформація рівня може містити coeff_abs_level_greater1_flag, coeff_abs_level_greater2_flag і coeff_abs_level_remaining. Інформація знака може містити coeff_sign_flag. Відеодекодер 30 потім може повторно формувати блок (наприклад, TU), який включає в себе декодовані коефіцієнти перетворення у відповідних позиціях (210). Іншими словами, як пояснено вище, відеодекодер 30 може зворотно сканувати відтворені коефіцієнти, щоб створювати блок квантованих коефіцієнтів перетворення. Відеодекодер 30 потім може зворотно квантувати і зворотно перетворювати коефіцієнти, щоб формувати залишковий блок (212). Відеодекодер 30 може, зрештою, декодувати поточний блок за допомогою комбінування прогнозованого блока і залишкового блока (214). Іншими 24 UA 114418 C2 5 10 15 20 25 30 35 40 45 50 55 60 словами, відеодекодер 30 може математично комбінувати пікселні значення прогнозованого блока зі спільно розміщеними пікселними значеннями залишкового блока, щоб декодувати і відтворювати вихідний блок. Таким чином, спосіб за фіг. 16 представляє приклад способу, що включає в себе визначення контексту для кодування коефіцієнта перетворення відеоблока, основуючись на області відеоблока, в якій виникає коефіцієнт перетворення, і ентропійне кодування коефіцієнта перетворення з використанням визначеного контексту. Крім того, область може містити одну з першої області, що містить один або більше верхніх лівих субблоків 4×4 коефіцієнтів перетворення відеоблока, і другої області, що містить коефіцієнти перетворення відеоблока за межами першої області. У одному або більше прикладах, описані функції можуть бути реалізовані в апаратних засобах, програмному забезпеченні, мікропрограмному забезпеченні або будь-якій комбінації вищезазначеного. При реалізації в програмному забезпеченні, функції можуть бути збережені або передані, як одна або більше інструкцій або код, по зчитуваному комп'ютером носію і виконані за допомогою апаратного процесора. Зчитувані комп'ютером носії можуть включати в себе зчитувані комп'ютером носії даних, які відповідають матеріальному носію, такі як носії даних, або середовища зв'язку, що включають в себе будь-який носій, який спрощує перенесення комп'ютерної програми з одного місця в інше, наприклад, згідно з протоколом зв'язку. Таким чином, зчитувані комп'ютером носії, загалом, можуть відповідати (1) матеріальному зчитуваному комп'ютером носію зберігання даних, який є енергонезалежним, або (2) середовищу зв'язку, такому як сигнал або несуча. Носії даних можуть бути будь-якими доступними носіями, до яких може здійснюватися доступ за допомогою одного або більше комп'ютерів або одного або більше процесорів з тим, щоб витягувати інструкції, код і/або структури даних для реалізації технологій, описаних в цьому розкритті суті. Комп'ютерний програмний продукт може включати в себе зчитуваний комп'ютером носій. Як приклад, а не обмеження, ці зчитувані комп'ютером носії даних можуть містити RAM, ROM, EEPROM, CD-ROM або інший пристрій зберігання на оптичних дисках, пристрій зберігання на магнітних дисках або інші магнітні пристрої зберігання, флеш-пам'ять або будьякий інший носій, який може бути використаний для того, щоб зберігати необхідний програмний код в формі інструкцій або структур даних і до якого можна здійснювати доступ за допомогою комп'ютера. Так само, будь-яке підключення коректно називати зчитуваним комп'ютером носієм. Наприклад, якщо інструкції передаються з веб-вузла, сервера або іншого віддаленого джерела за допомогою коаксіального кабелю, оптоволоконного кабелю, "витої пари", цифрової абонентської лінії (DSL) або бездротових технологій, таких як інфрачервоні, радіопередавальні і мікрохвильові середовища, то коаксіальний кабель, оптоволоконний кабель, "вита пара", DSL або бездротові технології, такі як інфрачервоні, радіопередавальні і мікрохвильові середовища, включаються у визначення носія. Проте, потрібно розуміти, що зчитувані комп'ютером носії даних і носії даних не включають в себе з'єднання, несучі, сигнали або інші енергозалежні носії, а замість цього направлені на енергонезалежні матеріальні носії даних. Диск (disk) і диск (disc) при використанні в даному документі включають в себе компакт-диск (CD), лазерний диск, оптичний диск, універсальний цифровий диск (DVD), гнучкий диск і диск Blu-Ray, при цьому диски (disk) звичайно відтворюють дані магнітно, тоді як диски (disc) звичайно відтворюють дані оптично за допомогою лазерів. Комбінації вищепереліченого також потрібно включати в число зчитуваних комп'ютером носіїв. Інструкції можуть виконуватися за допомогою одного або більше процесорів, наприклад одного або більше процесорів цифрових сигналів (DSP), мікропроцесорів загального призначення, спеціалізованих інтегральних схем (ASIC), програмованих користувачем вентильних матриць (FPGA) або інших еквівалентних інтегральних або дискретних логічних схем. Відповідно, термін "процесор" при використанні в даному документі може означати будьяку вищезгадану структуру або іншу структуру, придатну для реалізації технологій, описаних в даному документі. Крім цього, в деяких аспектах функціональність, описана в даному документі, може бути надана в межах спеціалізованих програмних і/або апаратних модулів, сконфігурованих з можливістю кодування або декодування або вбудованих в комбінований кодек. Крім того, технології можуть бути повністю реалізовані в одній або більше схемах або логічних елементах. Технології цього розкриття суті можуть бути реалізовані в широкому спектрі пристроїв або приладів, в тому числі в бездротовому переносному телефоні, в інтегральній схемі (IC) або в наборі IC (наприклад, в наборі мікросхем). Різні компоненти, модулі або блоки описуються в цьому розкритті суті для того, щоб підкреслювати функціональні аспекти пристроїв, сконфігурованих з можливістю здійснювати розкриті технології, але необов'язково вимагають 25 UA 114418 C2 5 реалізації за допомогою різних апаратних модулів. Навпаки, як описано вище, різні модулі можуть бути комбіновані в апаратний модуль кодека або надані за допомогою набору взаємодіючих апаратних модулів, що включають в себе один або більше процесорів, як описано вище, в поєднанні з належним програмним забезпеченням і/або мікропрограмним забезпеченням. Описані різні приклади. Ці і інші приклади знаходяться в межах обсягу прикладеної формули винаходу. ФОРМУЛА ВИНАХОДУ 10 15 20 25 30 35 40 45 50 55 1. Спосіб декодування відеоданих, при цьому спосіб містить етапи, на яких: визначають значення для прапорів кодованих субблоків одного або більше сусідніх субблоків відносно поточного субблока; визначають, що прапор кодованого субблока поточного субблока вказує, що поточний субблок включає в себе щонайменше один ненульовий коефіцієнт перетворення; у відповідь на визначення, що прапор кодованого субблока поточного субблока вказує, що поточний субблок включає в себе згаданий щонайменше один ненульовий коефіцієнт перетворення, використовують значення для прапорів кодованих субблоків сусідніх субблоків для визначення контексту для ентропійного декодування одного або більше синтаксичних елементів згаданого щонайменше одного ненульового коефіцієнта перетворення поточного субблока, причому використання значень містить: визначення першого контексту для ентропійного декодування згаданого одного або більше синтаксичних елементів згаданого щонайменше одного ненульового коефіцієнта перетворення, коли значення для прапорів кодованих субблоків сусідніх субблоків мають перший набір значень; і визначення другого контексту для ентропійного декодування згаданого одного або більше синтаксичних елементів згаданого щонайменше одного ненульового коефіцієнта перетворення, коли значення для прапорів кодованих субблоків сусідніх субблоків мають другий набір значень, причому перший контекст відрізняється від другого контексту і перший набір значень відрізняється від другого набору значень; і ентропійно декодують згаданий один або більше синтаксичних елементів цього окремого коефіцієнта перетворення з використанням визначеного контексту. 2. Спосіб за п. 1, в якому один або більше сусідніх субблоків містять правий сусідній субблок і нижній сусідній субблок. 3. Спосіб за п. 2, в якому визначення контексту містить етап, на якому обчислюють суму значення для прапора кодованого субблока правого сусіднього субблока і значення для прапора кодованого субблока нижнього сусіднього субблока і використовують обчислену суму для того, щоб визначати контекст. 4. Спосіб за п. 1, в якому прапори кодованих субблоків представляють те, чи включають, чи ні відповідні з сусідніх субблоків в себе щонайменше один ненульовий коефіцієнт перетворення. 5. Спосіб за п. 1, в якому кожний з субблоків відповідає відповідному блоку 4×4 коефіцієнтів перетворення, і при цьому прапори кодованих субблоків вказують те, чи має, чи ні щонайменше один з коефіцієнтів перетворення у відповідному блоці 4×4 ненульове значення. 6. Спосіб за п. 1, в якому поточний субблок має розмір 4×4 пікселів, і при цьому поточний субблок знаходиться в поточній одиниці перетворення, яка має розмір, що перевищує 4×4 пікселів. 7. Спосіб за п. 1, в якому визначення контексту додатково містить етап, на якому визначають контекст для декодування коефіцієнта перетворення на основі позиції коефіцієнта перетворення в поточному субблоці. 8. Спосіб за п. 1, в якому ентропійне декодування коефіцієнта перетворення містить етап, на якому ентропійно декодують коефіцієнт перетворення згідно з контекстно-адаптивним двійковим арифметичним кодуванням (САВАС). 9. Спосіб за п. 1, в якому один або більше синтаксичних елементів містять прапор значущого коефіцієнта окремого коефіцієнта перетворення, який представляє те, чи має згаданий окремий коефіцієнт перетворення ненульове значення. 10. Спосіб за п. 1, причому спосіб виконується в пристрої бездротового зв'язку, при цьому пристрій містить: пам'ять, сконфігуровану з можливістю збереження відеоданих, які включають в себе прапори кодованих субблоків, сусідні субблоки і поточний блок; 26 UA 114418 C2 5 10 15 20 25 30 35 40 45 50 55 60 процесор, сконфігурований з можливістю виконання інструкцій для обробки відеоданих, які зберігаються в згаданій пам'яті; і приймач, сконфігурований з можливістю прийому відеоданих. 11. Спосіб за п. 10, при цьому пристроєм бездротового зв'язку є стільниковий телефон, а відеодані приймають передавачем і модулюють згідно зі стандартом стільникового зв'язку. 12. Пристрій для декодування відеоданих, причому пристрій містить: пам'ять, сконфігуровану з можливістю зберігання відеоданих; і відеодекодер, сконфігурований з можливістю: визначати значення для прапорів кодованих субблоків одного або більше сусідніх субблоків відносно поточного субблока відеоданих; визначати, що прапор кодованого субблока поточного субблока вказує, що поточний субблок включає в себе щонайменше один ненульовий коефіцієнт перетворення; у відповідь на визначення, що прапор кодованого субблока поточного субблока вказує, що поточний субблок включає в себе згаданий щонайменше один ненульовий коефіцієнт перетворення, використовувати значення для прапорів кодованих субблоків сусідніх субблоків для визначення контексту для ентропійного декодування одного або більше синтаксичних елементів згаданого щонайменше одного ненульового коефіцієнта перетворення поточного субблока, при цьому відеодекодер сконфігурований з можливістю: визначати перший контекст для ентропійного декодування згаданого одного або більше синтаксичних елементів згаданого щонайменше одного ненульового коефіцієнта перетворення, коли значення для прапорів кодованих субблоків сусідніх субблоків мають перший набір значень; і визначати другий контекст для ентропійного декодування згаданого одного або більше синтаксичних елементів згаданого щонайменше одного ненульового коефіцієнта перетворення, коли значення для прапорів кодованих субблоків сусідніх субблоків мають другий набір значень, причому перший контекст відрізняється від другого контексту і перший набір значень відрізняється від другого набору значень; і ентропійно декодувати згаданий один або більше синтаксичних елементів цього окремого коефіцієнта перетворення з використанням визначеного контексту. 13. Пристрій за п. 12, в якому один або більше сусідніх субблоків містять правий сусідній субблок і нижній сусідній субблок. 14. Пристрій за п. 13, в якому для того, щоб визначати контекст, відеодекодер сконфігурований з можливістю обчислювати суму значення для прапора кодованого субблока правого сусіднього субблока і значення для прапора кодованого субблока нижнього сусіднього субблока і використовувати обчислену суму для того, щоб визначати контекст. 15. Пристрій за п. 12, в якому прапори кодованих субблоків представляють те, чи включають, чи ні відповідні з сусідніх субблоків в себе щонайменше один ненульовий коефіцієнт перетворення. 16. Пристрій за п. 12, в якому відеодекодер додатково сконфігурований з можливістю визначати контекст для декодування коефіцієнта перетворення на основі позиції коефіцієнта перетворення в поточному субблоці. 17. Пристрій за п. 12, в якому відеодекодер сконфігурований з можливістю ентропійно декодувати коефіцієнт перетворення згідно з контекстно-адаптивним двійковим арифметичним кодуванням (САВАС). 18. Пристрій за п. 12, в якому один або більше синтаксичних елементів містять прапор значущого коефіцієнта окремого коефіцієнта перетворення, який представляє те, чи має згаданий окремий коефіцієнт перетворення ненульове значення. 19. Пристрій за п. 12, при цьому пристроєм є пристрій бездротового зв'язку, який додатково містить приймач, сконфігурований з можливістю прийому відеоданих. 20. Пристрій за п. 19, при цьому пристроєм бездротового зв'язку є стільниковий телефон, а відеодані приймаються приймачем і модулюються згідно зі стандартом стільникового зв'язку. 21. Пристрій для декодування відеоданих, при цьому пристрій містить: засіб для визначення значень для прапорів кодованих субблоків одного або більше сусідніх субблоків відносно поточного субблока; засіб для визначення, що прапор кодованого субблока поточного субблока вказує, що поточний субблок включає в себе щонайменше один ненульовий коефіцієнт перетворення; засіб для використання, у відповідь на визначення, що прапор кодованого субблока поточного субблока вказує, що поточний субблок включає в себе згаданий щонайменше один ненульовий коефіцієнт перетворення, значень для прапорів кодованих субблоків сусідніх субблоків для визначення контексту для ентропійного декодування одного або більше синтаксичних елементів 27 UA 114418 C2 5 10 15 20 25 30 35 40 45 50 55 60 згаданого щонайменше одного ненульового коефіцієнта перетворення поточного субблока, при цьому засіб для використання значень містить:засіб для визначення першого контексту для ентропійного декодування згаданого одного або більше синтаксичних елементів згаданого щонайменше одного ненульового коефіцієнта перетворення, коли значення для прапорів кодованих субблоків сусідніх субблоків мають перший набір значень; і засіб для визначення другого контексту для ентропійного декодування згаданого одного або більше синтаксичних елементів згаданого щонайменше одного ненульового коефіцієнта перетворення, коли значення для прапорів кодованих субблоків сусідніх субблоків мають другий набір значень, причому перший контекст відрізняється від другого контексту і перший набір значень відрізняється від другого набору значень; і засіб для ентропійного декодування згаданого одного або більше синтаксичних елементів окремого коефіцієнта перетворення з використанням визначеного контексту. 22. Пристрій за п. 21, в якому один або більше сусідніх субблоків містять правий сусідній субблок і нижній сусідній субблок. 23. Пристрій за п. 22, в якому засіб для визначення контексту містить засіб для обчислення суми значення для прапора кодованого субблока правого сусіднього субблока і значення для прапора кодованого субблока нижнього сусіднього субблока, і засіб для використання обчисленої суми для того, щоб визначати контекст. 24. Пристрій за п. 21, в якому прапори кодованих субблоків представляють те, чи включають, чи ні відповідні з сусідніх субблоків в себе щонайменше один ненульовий коефіцієнт перетворення. 25. Пристрій за п. 21, в якому засіб для визначення контексту додатково містить засіб для визначення контексту для декодування коефіцієнта перетворення на основі позиції коефіцієнта перетворення в поточному субблоці. 26. Пристрій за п. 21, в якому засіб для ентропійного декодування коефіцієнта перетворення містить засіб для ентропійного декодування коефіцієнта перетворення згідно з контекстноадаптивним двійковим арифметичним кодуванням (CABAC). 27. Пристрій за п. 21, в якому один або більше синтаксичних елементів містять прапор значущого коефіцієнта окремого коефіцієнта перетворення, що представляє те, чи має згаданий окремий коефіцієнт перетворення ненульове значення. 28. Зчитуваний комп'ютером носій даних, який зберігає інструкції, що при виконанні спонукають процесор: визначати значення для прапорів кодованих субблоків одного або більше сусідніх субблоків відносно поточного субблока відеоданих; визначати, що прапор кодованого субблока поточного субблока вказує, що поточний субблок включає в себе щонайменше один ненульовий коефіцієнт перетворення, у відповідь на визначення, що прапор кодованого субблока поточного субблока вказує, що поточний субблок включає в себе згаданий щонайменше один ненульовий коефіцієнт перетворення; використовувати значення для прапорів кодованих субблоків сусідніх блоків для визначення контексту для ентропійного декодування одного або більше синтаксичних елементів згаданого щонайменше одного ненульового коефіцієнта перетворення поточного субблока, при цьому інструкції, які спонукають процесор використовувати значення, містять інструкції, які спонукають процесор: визначати перший контекст для ентропійного декодування згаданого одного або більше синтаксичних елементів згаданого щонайменше одного ненульового коефіцієнта перетворення, коли значення для прапорів кодованих субблоків сусідніх субблоків мають перший набір значень; і визначати другий контекст для ентропійного декодування згаданого одного або більше синтаксичних елементів згаданого щонайменше одного ненульового коефіцієнта перетворення, коли значення для прапорів кодованих субблоків сусідніх субблоків мають другий набір значень, причому перший контекст відрізняється від другого контексту і перший набір значень відрізняється від другого набору значень; і ентропійно декодувати згаданий один або більше синтаксичних елементів цього окремого коефіцієнта перетворення з використанням визначеного контексту. 29. Спосіб кодування відеоданих, при цьому спосіб містить етапи, на яких: визначають значення для прапорів кодованих субблоків одного або більше сусідніх субблоків відносно поточного субблока; кодують значення для прапора кодованого субблока поточного субблока, яке вказує, що поточний субблок включає в себе щонайменше один ненульовий коефіцієнт перетворення; 28

Дивитися

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

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

Seregin, Vadim, Sole Rojals, Joel, Karczewicz, Marta

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

Серёгин Вадим, Соле Рохальс Хоель, Карчевич Марта

МПК / Мітки

МПК: H04N 7/00

Мітки: кодуванні, визначення, коефіцієнтів, даних, контекстів, перетворення, відео, кодування

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

<a href="https://ua.patents.su/43-114418-viznachennya-kontekstiv-dlya-koduvannya-danikh-koeficiehntiv-peretvorennya-pri-koduvanni-video.html" target="_blank" rel="follow" title="База патентів України">Визначення контекстів для кодування даних коефіцієнтів перетворення при кодуванні відео</a>

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