Кодування позиції останнього значущого коефіцієнта у відеоблоці на основі порядку сканування для блока при кодуванні відео
Номер патенту: 106162
Опубліковано: 25.07.2014
Автори: Соле Рохальс Хоель, Чжен Юньфей, Джоши Раджан Лаксман, Кобан Мухаммед Зейд, Карчевіч Марта
Формула / Реферат
1. Спосіб кодування коефіцієнтів, асоційованих з блоком відеоданих, під час процесу кодування відео, при цьому спосіб включає етапи, на яких:
визначають статистику, яка вказує імовірність того, що кожна з координат X і Y містить дане значення, коли порядок сканування, асоційований з блоком, містить перший порядок сканування, при цьому координати X і Y вказують горизонтальну позицію і вертикальну позицію, відповідно, останнього ненульового коефіцієнта в блоці згідно з порядком сканування, причому порядок сканування містить один з першого порядку сканування і другого порядку сканування, який відрізняється від першого порядку сканування; і
кодують координати X і Y на основі статистики, коли порядок сканування містить перший порядок сканування, і переставляють координати X і Y і кодують переставлені координати X і Y на основі статистики, коли порядок сканування містить другий порядок сканування,
при цьому кодування координат X і Y і переставлених координат X і Y на основі статистики включає етап, на якому використовують імовірність того, що координата X містить дане значення, коли порядок сканування містить перший порядок сканування для того, щоб кодувати координату X і переставлену координату Y, і використовують імовірність того, що координата Y містить дане значення, коли порядок сканування містить перший порядок сканування для того, щоб кодувати координату Y і переставлену координату X.
2. Спосіб за п. 1, в якому перший порядок сканування і другий порядок сканування є симетричними один відносно одного.
3. Спосіб за п. 1, в якому перший порядок сканування містить горизонтальний порядок сканування, а другий порядок сканування містить вертикальний порядок сканування, при цьому горизонтальний порядок сканування і вертикальний порядок сканування беруть початок в загальній позиції в блоці.
4. Спосіб за п. 1, в якому порядок сканування додатково містить один з першого порядку сканування, другого порядку сканування і третього порядку сканування, який відрізняється від першого порядку сканування і другого порядку сканування, причому спосіб додатково включає етап, на якому:
коли порядок сканування містить третій порядок сканування, кодують координати X і Y на основі статистики, яка вказує імовірність того, що кожна з координат X і Y містить дане значення, коли порядок сканування містить перший порядок сканування.
5. Спосіб за п. 4, в якому перший порядок сканування містить горизонтальний порядок сканування, другий порядок сканування містить вертикальний порядок сканування, а третій порядок сканування містить зигзагоподібний порядок сканування, при цьому горизонтальний порядок сканування, вертикальний порядок сканування і зигзагоподібний порядок сканування беруть початок в загальній позиції в блоці.
6. Спосіб за п. 1, який додатково включає етап, на якому:
оновлюють статистику на основі координат X і Y і переставлених координат X і Y, що включає в себе оновлення імовірності того, що координата X містить дане значення, коли порядок сканування містить перший порядок сканування, з використанням координати X і переставленої координати Y, і оновлення імовірності того, що координата Y містить дане значення, коли порядок сканування містить перший порядок сканування, з використанням координати Y і переставленої координати X.
7. Спосіб за п. 1, в якому кодування кожної з координат X і Y і переставлених координат X і Y на основі статистики додатково включає етап, на якому виконують процес контекстно-адаптивного ентропійного кодування, який включає в себе застосування контекстної моделі, що включає в себе статистику на основі щонайменше одного контексту, при цьому щонайменше один контекст включає в себе одне з іншої з координат X і Y, іншої з переставлених координат X і Y і порядку сканування.
8. Спосіб за п. 7, в якому кожна з координат X і Y і переставлених координат X і Y містить послідовність з одного або більше елементів вибірки, при цьому кодування кожної з координат X і Y і переставлених координат X і Y за допомогою виконання процесу контекстно-адаптивного ентропійного кодування, який включає в себе застосування контекстної моделі, що включає в себе статистику на основі іншої з координат X і Y і іншої з переставлених координат X і Y, включає етап, на якому:
кодують щонайменше один елемент вибірки послідовності, що відповідає належній координаті, за допомогою вибору статистики з контекстної моделі, щонайменше частково, на основі значення щонайменше одного елемента вибірки послідовності, відповідної іншій з координат X і Y або іншій з переставлених координат X і Y.
9. Спосіб за п. 1, в якому кожна з координат X і Y і переставлених координат X і Y містить послідовність з одного або більше елементів вибірки, причому спосіб додатково включає етап, на якому кодують один або більше елементів вибірки послідовності, відповідної одній з координат, і один або більше елементів вибірки послідовності, що відповідає іншій координаті, перемежованим способом.
10. Спосіб за п. 1, який додатково включає етап, на якому:
кодують інформацію, яка ідентифікує порядок сканування.
11. Спосіб за п. 10, який додатково включає етап, на якому:
кодують інформацію, яка ідентифікує позиції інших ненульових коефіцієнтів в блоці.
12. Спосіб за п. 1, в якому кодування включає етап, на якому виконують кодування, причому спосіб додатково включає етапи, на яких:
кодують значення ненульових коефіцієнтів, асоційованих з блоком відеоданих, на основі відповідних координат X і Y і переставлених координат X і Y;i
виводять кодовані значення ненульових коефіцієнтів в потоці бітів.
13. Спосіб за п. 1, в якому кодування включає етап, на якому виконують декодування, причому спосіб додатково включає етапи, на яких:
приймають кодовані значення ненульових коефіцієнтів, асоційованих з блоком відеоданих, в потоці бітів; і
декодують кодовані значення ненульових коефіцієнтів на основі відповідних координат X і Y і переставлених координат X і Y.
14. Спосіб кодування коефіцієнтів, асоційованих з блоком відеоданих, під час процесу кодування відео, при цьому спосіб включає етапи, на яких:
кодують координати X і Y, які вказують горизонтальну позицію і вертикальну позицію, відповідно, останнього ненульового коефіцієнта в блоці згідно з порядком сканування, асоційованим з блоком, причому порядок сканування містить один з множини порядків сканування, при цьому кожний з
множини порядків сканування бере початок в загальній позиції в блоці, причому кодування координат X і Y включає етапи, на яких:
кодують інформацію, яка вказує те, відповідає чи ні координата X загальній позиції;
кодують інформацію, яка вказує те, відповідає чи ні координата Y загальній позиції;
у випадку, якщо координата X не відповідає загальній позиції і координата Y не відповідає загальній позиції, кодують інформацію, яка ідентифікує порядок сканування;
у випадку, якщо координата X не відповідає загальній позиції, кодують координату X на основі порядку сканування; і
у випадку, якщо координата Y не відповідає загальній позиції, кодують координату Y на основі порядку сканування.
15. Спосіб за п. 14, в якому кодування координати X і координати Y на основі порядку сканування включає етап, на якому виконують процес контекстно-адаптивного ентропійного кодування, який включає в себе застосування контекстної моделі на основі щонайменше одного контексту, при цьому щонайменше один контекст включає в себе порядок сканування.
16. Спосіб за п. 14, в якому кодування включає етап, на якому виконують кодування, причому спосіб додатково включає етапи, на яких:
кодують значення ненульових коефіцієнтів, асоційованих з блоком відеоданих, на основі відповідних координат X і Y і переставлених координат X і Y;i
виводять кодовані значення ненульових коефіцієнтів в потоці бітів.
17. Спосіб за п. 14, в якому кодування включає етап, на якому виконують декодування, причому спосіб додатково включає етапи, на яких:
приймають кодовані значення ненульових коефіцієнтів, асоційованих з блоком відеоданих, в потоці бітів; і
декодують кодовані значення ненульових коефіцієнтів на основі відповідних координат X і Y і переставлених координат X і Y.
18. Пристрій для кодування коефіцієнтів, асоційованих з блоком відеоданих, під час процесу кодування відео, при цьому пристрій містить відеокодер, виконаний з можливістю:
визначати статистику, яка вказує імовірність того, що кожна з координат X і Y містить дане значення, коли порядок сканування, асоційований з блоком, містить перший порядок сканування, при цьому координати X і Y вказують горизонтальну позицію і вертикальну позицію, відповідно, останнього ненульового коефіцієнта в блоці згідно з порядком сканування, причому порядок сканування містить один з першого порядку сканування і другого порядку сканування, який відрізняється від першого порядку сканування; і
кодувати координати X і Y на основі статистики, коли порядок сканування містить перший порядок сканування, і переставляти координати X і Y і кодувати переставлені координати X і Y на основі статистики, коли порядок сканування містить другий порядок сканування,
при цьому для того, щоб кодувати координати X і Y і переставлені координати X і Y на основі статистики, відеокодер виконаний з можливістю використовувати імовірність того, що координата X містить дане значення, коли порядок сканування містить перший порядок сканування для того, щоб кодувати координату X і переставлену координату Y, і використовувати імовірність того, що координата Y містить дане значення, коли порядок сканування містить перший порядок сканування для того, щоб кодувати координату Y і переставлену координату X.
19. Пристрій за п. 18, в якому перший порядок сканування і другий порядок сканування є симетричними один відносно одного.
20. Пристрій за п. 18, в якому перший порядок сканування містить горизонтальний порядок сканування, а другий порядок сканування містить вертикальний порядок сканування, при цьому горизонтальний порядок сканування і вертикальний порядок сканування беруть початок в загальній позиції в блоці.
21. Пристрій за п. 18, в якому порядок сканування додатково містить один з першого порядку сканування, другого порядку сканування і третього порядку сканування, який відрізняється від першого порядку сканування і другого порядку сканування, при цьому відеокодер додатково виконаний з можливістю:
коли порядок сканування містить третій порядок сканування, кодувати координати X і Y на основі статистики, яка вказує імовірність того, що кожна з координат X і Y містить дане значення, коли порядок сканування містить перший порядок сканування.
22. Пристрій за п. 21, в якому перший порядок сканування містить горизонтальний порядок сканування, другий порядок сканування містить вертикальний порядок сканування, а третій порядок сканування містить зигзагоподібний порядок сканування, при цьому горизонтальний порядок сканування, вертикальний порядок сканування і зигзагоподібний порядок сканування беруть початок в загальній позиції в блоці.
23. Пристрій за п. 18, в якому відеокодер додатково виконаний з можливістю:
оновлювати статистику на основі координат X і Y і переставлених координат X і Y, що включає в себе оновлення відеокодером імовірності того, що координата X містить дане значення, коли порядок сканування містить перший порядок сканування, з використанням координати X і переставленої координати Y, і оновлення імовірності того, що координата Y містить дане значення, коли порядок сканування містить перший порядок сканування, з використанням координати Y і переставленої координати X.
24. Пристрій за п. 18, в якому для того, щоб кодувати кожну з координат X і
Y і переставлених координат X і Y на основі статистики, відеокодер додатково виконаний з можливістю здійснювати процес контекстно-адаптивного ентропійного кодування, який включає в себе застосування за допомогою відеокодера контекстної моделі, яка включає в себе статистику на основі щонайменше одного контексту, при цьому щонайменше один контекст включає в себе одне з іншої з координат X і Y, іншої з переставлених координат X і Y і порядку сканування.
25. Пристрій за п. 24, в якому кожна з координат X і Y і переставлених координат X і Y містить послідовність з одного або більше елементів вибірки, при цьому для того, щоб кодувати кожну з координат X і Y і переставлених координат X і Y за допомогою виконання процесу контекстно-адаптивного ентропійного кодування, який включає в себе застосування за допомогою відеокодера контекстної моделі, що включає в себе статистику на основі іншої з координат X і
Y і іншої з переставлених координат X і Y, відеокодер виконаний з можливістю:
кодувати щонайменше один елемент вибірки послідовності, що відповідає належній координаті, за допомогою вибору статистики з контекстної моделі, щонайменше частково, на основі значення щонайменше одного елемента вибірки послідовності, відповідної іншій з координат X і Y або іншій з переставлених координат X і Y.
26. Пристрій за п. 18, в якому кожна з координат X і Y і переставлених координат X і Y містить послідовність з одного або більше елементів вибірки, при цьому відеокодер додатково виконаний з можливістю кодувати один або більше елементів вибірки послідовності, відповідної одній з координат, і один або більше елементів вибірки послідовності, що відповідає іншій координаті, перемежованим способом.
27. Пристрій за п. 18, в якому відеокодер містить відеокодер, при цьому відеокодер додатково виконаний з можливістю:
кодувати значення ненульових коефіцієнтів, асоційованих з блоком відеоданих, на основі відповідних координат X і Y і переставлених координат X і Y;i
виводити кодовані значення ненульових коефіцієнтів в потоці бітів.
28. Пристрій за п. 18, в якому відеокодер містить відеодекодер, при цьому відеодекодер додатково виконаний з можливістю:
приймати кодовані значення ненульових коефіцієнтів, асоційованих з блоком відеоданих, в потоці бітів; і
декодувати кодовані значення ненульових коефіцієнтів на основі відповідних координат X і Y і переставлених координат X і Y.
29. Пристрій за п. 18, при цьому пристрій містить щонайменше одне з наступного:
інтегральну схему;
мікропроцесор; і
пристрій бездротового зв'язку, який включає в себе відеокодер.
30. Пристрій для кодування коефіцієнтів, асоційованих з блоком відеоданих, під час процесу кодування відео, при цьому пристрій містить відеокодер, виконаний з можливістю:
кодувати координати X і Y, які вказують горизонтальну позицію і вертикальну позицію, відповідно, останнього ненульового коефіцієнта в блоці згідно з порядком сканування, асоційованим з блоком, причому порядок сканування містить один з множини порядків сканування, при цьому кожний з множини порядків сканування бере початок в загальній позиції в блоці, причому для того, щоб кодувати координати X і Y, відеокодер виконаний з можливістю:
кодувати інформацію, яка вказує те, відповідає чи ні координата X загальній позиції;
кодувати інформацію, яка вказує те, відповідає чи ні координата Y загальній позиції;
у випадку, якщо координата X не відповідає загальній позиції і координата Y не відповідає загальній позиції, кодувати інформацію, яка ідентифікує порядок сканування;
у випадку, якщо координата X не відповідає загальній позиції, кодувати координату X на основі порядку сканування; і
у випадку, якщо координата Y не відповідає загальній позиції, кодувати координату Y на основі порядку сканування.
31. Пристрій за п. 30, в якому для того, щоб кодувати координату X і координату Y на основі порядку сканування, відеокодер виконаний з можливістю здійснювати процес контекстно-адаптивного ентропійного кодування, який включає в себе застосування контекстної моделі за допомогою відеокодера, на основі щонайменше одного контексту, при цьому щонайменше один контекст включає в себе порядок сканування.
32. Пристрій за п. 30, в якому відеокодер містить відеокодер, при цьому відеокодер додатково виконаний з можливістю:
кодувати значення ненульових коефіцієнтів, асоційованих з блоком відеоданих, на основі відповідних координат X і Y і переставлених координат X і Y;i
виводити кодовані значення ненульових коефіцієнтів в потоці бітів.
33. Пристрій за п. 30, в якому відеокодер містить відеодекодер, при цьому відеодекодер додатково виконаний з можливістю:
приймати кодовані значення ненульових коефіцієнтів, асоційованих з блоком відеоданих, в потоці бітів; і
декодувати кодовані значення ненульових коефіцієнтів на основі відповідних координат X і Y і переставлених координат X і Y.
34. Пристрій за п. 30, при цьому пристрій містить щонайменше одне з наступного:
інтегральну схему;
мікропроцесор;і
пристрій бездротового зв'язку, який включає в себе відеокодер.
35. Пристрій для кодування коефіцієнтів, асоційованих з блоком відеоданих, під час процесу кодування відео, причому пристрій містить:
засіб для визначення статистики, яка вказує імовірність того, що кожна з координат X і Y містить дане значення, коли порядок сканування, асоційований з блоком, містить перший порядок сканування, при цьому координати X і Y вказують горизонтальну позицію і вертикальну позицію, відповідно, останнього ненульового коефіцієнта в блоці згідно з порядком сканування, причому порядок сканування містить один з першого порядку сканування і другого порядку сканування, який відрізняється від першого порядку сканування; і
засіб для кодування координат X і Y на основі статистики, коли порядок сканування містить перший порядок сканування, і засіб для перестановки координат X і Y і кодування переставлених координат X і Y на основі статистики, коли порядок сканування містить другий порядок сканування,
при цьому засіб для кодування координат X і Y і переставлених координат X і Y на основі статистики містить засіб для використання імовірності того, що координата X містить дане значення, коли порядок сканування містить перший порядок сканування для того, щоб кодувати координату X і переставлену координату Y, і засіб для використання імовірності того, що координата Y містить дане значення, коли порядок сканування містить перший порядок сканування для того, щоб кодувати координату Y і переставлену координату X.
36. Пристрій за п. 35, в якому перший порядок сканування і другий порядок сканування є симетричними один відносно одного.
37. Пристрій за п. 35, в якому перший порядок сканування містить горизонтальний порядок сканування, а другий порядок сканування містить вертикальний порядок сканування, при цьому горизонтальний порядок сканування і вертикальний порядок сканування беруть початок в загальній позиції в блоці.
38. Пристрій за п. 35, в якому порядок сканування додатково містить один з першого порядку сканування, другого порядку сканування і третього порядку сканування, який відрізняється від першого порядку сканування і другого порядку сканування, який додатково містить:
засіб для, коли порядок сканування містить третій порядок сканування, кодування координат X і Y на основі статистики, яка вказує імовірність того, що кожна з координат X і Y містить дане значення, коли порядок сканування містить перший порядок сканування.
39. Пристрій за п. 38, в якому перший порядок сканування містить горизонтальний порядок сканування, другий порядок сканування містить вертикальний порядок сканування, а третій порядок сканування містить зигзагоподібний порядок сканування, при цьому горизонтальний порядок сканування, вертикальний порядок сканування і зигзагоподібний порядок сканування беруть початок в загальній позиції в блоці.
40. Пристрій за п. 35, який додатково містить:
засіб для оновлення статистики на основі координат X і Y і переставлених координат X і Y, що включає в себе засіб для оновлення імовірності того, що координата X містить дане значення, коли порядок сканування містить перший порядок сканування, з використанням координати X і переставленої координати Y, і засіб для оновлення імовірності того, що координата Y містить дане значення, коли порядок сканування містить перший порядок сканування, з використанням координати Y і переставленої координати X.
41. Пристрій за п. 35, в якому засіб для кодування кожної з координат X і Y і переставлених координат X і Y на основі статистики додатково містить засіб для виконання процесу контекстно-адаптивного ентропійного кодування, що включає в себе засіб для застосування контекстної моделі, яка включає в себе статистику на основі щонайменше одного контексту, при цьому щонайменше один контекст включає в себе одне з іншої з координат X і Y, іншої з переставлених координат X і Y і порядку сканування.
42. Пристрій за п. 41, в якому кожна з координат X і Y і переставлених координат X і Y містить послідовність з одного або більше елементів вибірки, при цьому засіб для кодування кожної з координат X і Y і переставлених координат X і Y, що містить засіб для виконання процесу контекстно-адаптивного ентропійного кодування, що включає в себе засіб для застосування контекстної моделі, яка включає в себе статистику на основі іншої з координат X і Y і іншої з переставлених координат X і Y, містить:
засіб для кодування щонайменше одного елемента вибірки послідовності, що відповідає належній координаті, за допомогою вибору статистики з контекстної моделі, щонайменше частково, на основі значення щонайменше одного елемента вибірки послідовності, відповідної іншій з координат X і Y або іншій з переставлених координат X і Y.
43. Пристрій за п. 35, в якому кожна з координат X і Y і переставлених координат X і Y містить послідовність з одного або більше елементів вибірки, що додатково містить засіб для кодування одного або більше елементів вибірки послідовності, відповідній одній з координат, і одного або більше елементів вибірки послідовності, що відповідає іншій координаті, перемежованим способом.
44. Пристрій за п. 35, в якому засіб для кодування містить засіб для кодування, причому пристрій додатково містить:
засіб для кодування значень ненульових коефіцієнтів, асоційованих з блоком відеоданих, на основі відповідних координат X і Y і переставлених координат X і Y; і
засіб для виведення кодованих значень ненульових коефіцієнтів в потоці бітів.
45. Пристрій за п. 35, в якому засіб для кодування містить засіб для декодування, причому пристрій додатково містить:
засіб для прийому кодованих значень ненульових коефіцієнтів, асоційованих з блоком відеоданих, в потоці бітів; і
засіб для декодування кодованих значень ненульових коефіцієнтів на основі відповідних координат X і Y і переставлених координат X і Y.
46. Пристрій для кодування коефіцієнтів, асоційованих з блоком відеоданих, під час процесу кодування відео, причому пристрій містить:
засіб для кодування координат X і Y, які вказують горизонтальну позицію і вертикальну позицію, відповідно, останнього ненульового коефіцієнта в блоці згідно з порядком сканування, асоційованим з блоком, причому порядок
сканування містить один з множини порядків сканування, при цьому кожний з множини порядків сканування бере початок в загальній позиції в блоці, причому засіб для кодування координат X і Y містить:
засіб для кодування інформації, яка вказує те, відповідає чи ні координата X загальній позиції;
засіб для кодування інформації, яка вказує те, відповідає чи ні координата Y загальній позиції;
засіб для, у випадку, якщо координата X не відповідає загальній позиції і координата Y не відповідає загальній позиції, кодування інформації, яка ідентифікує порядок сканування;
засіб для, у випадку, якщо координата X не відповідає загальній позиції, кодування координати X на основі порядку сканування; і
засіб для, у випадку, якщо координата Y не відповідає загальній позиції, кодування координати Y на основі порядку сканування.
47. Пристрій за п. 46, в якому засіб для кодування координати X і координати Y на основі порядку сканування містить засіб для виконання процесу контекстно-адаптивного ентропійного кодування, що включає в себе засіб для застосування контекстної моделі на основі щонайменше одного контексту, при цьому щонайменше один контекст включає в себе порядок сканування.
48. Пристрій за п. 46, в якому засіб для кодування містить засіб для кодування, причому пристрій додатково містить:
засіб для кодування значень ненульових коефіцієнтів, асоційованих з блоком відеоданих, на основі відповідних координат X і Y і переставлених координат X і Y; і
засіб для виведення кодованих значень ненульових коефіцієнтів в потоці бітів.
49. Пристрій за п. 46, в якому засіб для кодування містить засіб для декодування, причому пристрій додатково містить:
засіб для прийому кодованих значень ненульових коефіцієнтів, асоційованих з блоком відеоданих, в потоці бітів; і
засіб для декодування кодованих значень ненульових коефіцієнтів на основі відповідних координат X і Y і переставлених координат X і Y.
50. Машиночитаний носій, що містить інструкції, які при виконанні
призначають процесору кодувати коефіцієнти, асоційовані з блоком відеоданих, під час процесу кодування відео, при цьому інструкції призначають процесору:
визначати статистику, яка вказує імовірність того, що кожна з координат X і Y містить дане значення, коли порядок сканування, асоційований з блоком, містить перший порядок сканування, при цьому координати X і Y вказують горизонтальну позицію і вертикальну позицію, відповідно, останнього ненульового коефіцієнта в блоці згідно з порядком сканування, причому порядок сканування містить один з першого порядку сканування і другого порядку сканування, який відрізняється від першого порядку сканування; і
кодувати координати X і Y на основі статистики, коли порядок сканування містить перший порядок сканування, і переставляти координати X і Y і кодувати переставлені координати X і Y на основі статистики, коли порядок сканування містить другий порядок сканування,
при цьому інструкції, які призначають процесору кодувати координати X і Y і переставлені координати X і Y на основі статистики, містять інструкції, які призначають процесору використовувати імовірність того, що координата X містить дане значення, коли порядок сканування містить перший порядок сканування для того, щоб кодувати координату X і переставлену координату Y, і використовувати імовірність того, що координата Y містить дане значення, коли порядок сканування містить перший порядок сканування для того, щоб кодувати координату Y і переставлену координату X.
51. Машиночитаний носій за п. 50, в якому перший порядок сканування і другий порядок сканування є симетричними один відносно одного.
52. Машиночитаний носій за п. 50, в якому перший порядок сканування містить горизонтальний порядок сканування, а другий порядок сканування містить вертикальний порядок сканування, при цьому горизонтальний порядок сканування і вертикальний порядок сканування беруть початок в загальній позиції в блоці.
53. Машиночитаний носій за п. 50, в якому порядок сканування додатково містить один з першого порядку сканування, другого порядку сканування і третього порядку сканування, який відрізняється від першого порядку сканування і другого порядку сканування, що додатково містить інструкції, які призначають процесору:
коли порядок сканування містить третій порядок сканування, кодувати координати X і Y на основі статистики, яка вказує імовірність того, що кожна з координат X і Y містить дане значення, коли порядок сканування містить перший порядок сканування.
54. Машиночитаний носій за п. 53, в якому перший порядок сканування містить горизонтальний порядок сканування, другий порядок сканування містить вертикальний порядок сканування, а третій порядок сканування містить зигзагоподібний порядок сканування, при цьому горизонтальний порядок сканування, вертикальний порядок сканування і зигзагоподібний порядок сканування беруть початок в загальній позиції в блоці.
55. Машиночитаний носій за п. 50, який додатково містить інструкції, які призначають процесору:
оновлювати статистику на основі координат X і Y і переставлених координат X і Y, що включає в себе інструкції, які призначають процесору оновлювати імовірність того, що координата X містить дане значення, коли порядок сканування містить перший порядок сканування, з використанням координати X і переставленої координати Y, і інструкції, які призначають процесору оновлювати імовірність того, що координата Y містить дане значення, коли порядок сканування містить перший порядок сканування, з використанням координати Y і переставленої координати X.
56. Машиночитаний носій за п. 50, в якому інструкції, які призначають процесору кодувати кожну з координат X і Y і переставлених координат X і Y на основі статистики, додатково містять інструкції, які призначають процесору виконувати процес контекстно-адаптивного ентропійного кодування, який включає в себе застосування контекстної моделі, яка включає в себе статистику на основі щонайменше одного контексту, при цьому щонайменше один контекст включає в себе одне з іншої з координат X і Y, іншої з переставлених координат X і Y і порядку сканування.
57. Машиночитаний носій за п. 56, в якому кожна з координат X і Y і переставлених координат X і Y містить послідовність з одного або більше елементів вибірки, при цьому інструкції, які призначають процесору кодувати кожну з координат X і Y і переставлених координат X і Y, що містять інструкції,
які призначають процесору виконувати процес контекстно-адаптивного ентропійного кодування, який включає в себе застосування контекстної моделі, що включає в себе статистику на основі іншої з координат X і Y і іншої з переставлених координат X і Y, містять інструкції, які призначають процесору:
кодувати щонайменше один елемент вибірки послідовності, що відповідає належній координаті, за допомогою вибору статистики з контекстної моделі, щонайменше частково, на основі значення щонайменше одного елемента вибірки послідовності, відповідної іншій з координат X і Y або іншій з переставлених координат X і Y.
58. Машиночитаний носій за п. 50, в якому кожна з координат X і Y і переставлених координат X і Y містить послідовність з одного або більше елементів вибірки, що додатково містить інструкції, які призначають процесору кодувати один або більше елементів вибірки послідовності, відповідної одній з координат, і один або більше елементів вибірки послідовності, що відповідає іншій координаті, перемежованим способом.
59. Машиночитаний носій за п. 50, в якому кодування включає кодування, причому машиночитаний носій додатково містить інструкції, які призначають процесору:
кодувати значення ненульових коефіцієнтів, асоційованих з блоком відеоданих, на основі відповідних координат X і Y і переставлених координат X і Y;i
виводити кодовані значення ненульових коефіцієнтів в потоці бітів.
60. Машиночитаний носій за п. 50, в якому кодування включає декодування, причому машиночитаний носій додатково містить інструкції, які призначають процесору:
приймати кодовані значення ненульових коефіцієнтів, асоційованих з блоком відеоданих, в потоці бітів; і
декодувати кодовані значення ненульових коефіцієнтів на основі відповідних координат X і Y і переставлених координат X і Y.
61. Машиночитаний носій, що містить інструкції, які при виконанні призначають процесору кодувати коефіцієнти, асоційовані з блоком відеоданих, під час процесу кодування відео, при цьому інструкції призначають процесору:
кодувати координати X і Y, які вказують горизонтальну позицію і вертикальну позицію, відповідно, останнього ненульового коефіцієнта в блоці згідно з порядком сканування, асоційованим з блоком, причому порядок сканування містить один з множини порядків сканування, при цьому кожний з множини порядків сканування бере початок в загальній позиції в блоці, причому інструкції, які призначають процесору кодувати координати X і Y, містять інструкції, які призначають процесору:
кодувати інформацію, яка вказує те, відповідає чи ні координата X загальній позиції;
кодувати інформацію, яка вказує те, відповідає чи ні координата Y загальній позиції;
у випадку, якщо координата X не відповідає загальній позиції і координата Y не відповідає загальній позиції, кодувати інформацію, яка ідентифікує порядок сканування;
у випадку, якщо координата X не відповідає загальній позиції, кодувати координату X на основі порядку сканування; і
у випадку, якщо координата Y не відповідає загальній позиції, кодувати координату Y на основі порядку сканування.
62. Машиночитаний носій за п. 61, в якому інструкції, які призначають процесору кодувати координату X і координату Y на основі порядку сканування, містять інструкції, які призначають процесору виконувати процес контекстно-адаптивного ентропійного кодування, який включає в себе застосування контекстної моделі на основі щонайменше одного контексту, при цьому щонайменше один контекст включає в себе порядок сканування.
63. Машиночитаний носій за п. 61, в якому кодування включає кодування, причому машиночитаний носій додатково містить інструкції, які призначають процесору:
кодувати значення ненульових коефіцієнтів, асоційованих з блоком відеоданих, на основі відповідних координат X і Y і переставлених координат X і Y;i
виводити кодовані значення ненульових коефіцієнтів в потоці бітів.
64. Машиночитаний носій за п. 61, в якому кодування включає декодування.
причому машиночитаний носій додатково містить інструкції, які призначають процесору:
приймати кодовані значення ненульових коефіцієнтів, асоційованих з блоком відеоданих, в потоці бітів; і
декодувати кодовані значення ненульових коефіцієнтів на основі відповідних координат X і Y і переставлених координат X і Y.
Текст
Реферат: У одному прикладі, розкритий пристрій для кодування коефіцієнтів, асоційованих з блоком відеоданих, під час процесу кодування відео, при цьому пристрій включає в себе відеокодер, виконаний з можливістю кодувати координати X і Y, які вказують позицію останнього ненульового коефіцієнта в блоці згідно з порядком сканування, асоційованим з блоком, коли порядок сканування містить перший порядок сканування, і кодувати переставлені координати X і Y, які вказують позицію останнього ненульового коефіцієнта в блоці згідно з порядком сканування, коли порядок сканування містить другий порядок сканування, при цьому другий порядок сканування відрізняється від першого порядку сканування. UA 106162 C2 (12) UA 106162 C2 UA 106162 C2 5 10 15 20 25 30 35 40 45 50 55 60 Дана заявка вимагає пріоритет попередньої патентної заявки США № 61/419740, поданої 3 грудня 2010 року, попередньої патентної заявки США № 61/426426, поданої 22 грудня 2010 року, попередньої патентної заявки США № 61/426360, поданої 22 грудня 2010 року, і попередньої патентної заявки США № 61/426372, поданої 22 грудня 2010 року, зміст кожної з яких повністю міститься в даному документі по посиланню. Галузь техніки, до якої належить винахід Дане розкриття стосується кодування відео, а більш конкретно кодування синтаксичної інформації, пов'язаної з коефіцієнтами відеоблока. Рівень техніки Підтримання цифрового відео може бути включене в широкий діапазон пристроїв, які включають в себе цифрові телевізійні приймачі, системи цифрової прямої широкомовної передачі, бездротові широкомовні системи, персональні цифрові пристрої (PDA), переносні або настільні комп'ютери, планшетні комп'ютери, пристрої для читання електронних книг, цифрові камери, цифрові записуючі пристрої, цифрові мультимедійні програвачі, пристрої відеогри, консолі для відеогри, стільникові або супутникові радіотелефони, так звані "смартфони", пристрої відеоконференцзв'язку, пристрої потокової передачі відео і т. п. Цифрові відеопристрої реалізовують такі технології стиснення відео, як технології стиснення відео, описані в стандартах, заданих за допомогою розроблюваних на даний час стандартів MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, частина 10, вдосконалене кодування відео (AVC), стандарту високоефективного кодування відео (HEVC) і розширень таких стандартів. Відеопристрої можуть передавати, приймати, кодувати, декодувати і/або зберігати цифрову відеоінформацію більш ефективно за допомогою реалізації таких технологій стиснення відео. Технології стиснення відео виконують просторове (внутрішньокадрове) прогнозування і/або часове (міжкадрове) прогнозування для того, щоб зменшувати або видаляти надмірність, внутрішньо властиву відеопослідовностям. Для блокового кодування відео серія послідовних відеомакроблоків (тобто відеокадр або частина відеокадру) може бути сегментована на відеоблоки, які також можуть згадуватися як деревовидні блоки, одиниці кодування (CU) і/або вузли кодування. Відеоблоки в серії внутрішньокодованих послідовних (I-) макроблоків зображення кодуються з використанням просторового прогнозування відносно опорних вибірок в сусідніх блоках в ідентичному зображенні. Відеоблоки в серії взаємнокодованих послідовних (Р- або В-) макроблоків зображення можуть використовувати просторове прогнозування відносно опорних вибірок в сусідніх блоках в ідентичному зображенні або часове прогнозування відносно опорних вибірок в інших опорних зображеннях. Зображення можуть згадуватися як кадри, і опорні зображення можуть згадуватися як опорні кадри. Просторове або часове прогнозування приводить до прогнозного блока для блока, який повинен бути кодований. Залишкові дані представляють піксельні різниці між вихідним блоком, який повинен бути кодований, і прогнозним блоком. Взаємнокодований блок кодується згідно з вектором руху, який вказує на блок опорних вибірок, що формують прогнозний блок, і залишковими даними, що вказують різницю між кодованим блоком і прогнозним блоком. Внутрішньокодований блок кодується згідно з режимом внутрішнього кодування і залишковими даними. Для додаткового стиснення залишкові дані можуть бути перетворені з піксельної області в область перетворення, приводячи до залишкових коефіцієнтів перетворення, які потім можуть бути квантовані. Квантовані коефіцієнти перетворення, початково розміщувані в двовимірному масиві, можуть скануватися для того, щоб формувати одновимірний вектор коефіцієнтів перетворення, і може застосовуватися ентропійне кодування з тим, щоб досягати ще більшого стиснення. Суть винаходу Дане розкриття описує технології для кодування коефіцієнтів, асоційованих з блоком відеоданих, під час процесу кодування відео, що включають в себе технології для кодування інформації, яка ідентифікує позицію останнього ненульового або останнього "значущого" коефіцієнта в блоці згідно з порядком сканування, асоційованим з блоком, тобто інформації позиції останнього значущого коефіцієнта для блока. Технології цього розкриття можуть підвищувати ефективність для кодування інформації позиції останнього значущого коефіцієнта для блоків відеоданих, використовуваних для того, щоб кодувати блоки за допомогою кодування інформації позиції останнього значущого коефіцієнта для конкретного блока на основі інформації, яка ідентифікує порядок сканування, асоційований з блоком, тобто інформації порядку сканування для блока. Іншими словами, технології можуть поліпшувати стиснення інформації позиції останнього значущого коефіцієнта для блоків, коли кодується інформація. Технології цього розкриття також можуть давати можливість системам кодування мати меншу складність відносно інших систем при кодуванні інформації позиції останнього 1 UA 106162 C2 5 10 15 20 25 30 35 40 45 50 55 значущого коефіцієнта для блоків, за допомогою кодування інформації позиції останнього значущого коефіцієнта для конкретного блока з використанням загальної статистики, коли один з множини порядків сканування використовується для того, щоб кодувати блок. У одному прикладі, ефективність кодування може бути підвищена, а складність системи кодування може бути зменшена за рахунок кодування координат X і Y, які вказують позицію останнього значущого коефіцієнта в конкретному блоці відеоданих згідно з порядком сканування, асоційованим з блоком, коли порядок сканування містить перший порядок сканування, і переставлених (або "зі зміною місць") координат X і Y кодування, які вказують позицію останнього значущого коефіцієнта в блоці згідно з порядком сканування, коли порядок сканування містить другий порядок сканування. У цьому прикладі, перший і другий порядки сканування можуть бути симетричними один відносно одного (або щонайменше частково симетричними). Внаслідок симетрії між першим і другим порядками сканування імовірність того, що координата X містить дане значення, коли порядок сканування містить перший порядок сканування, може бути ідентичною або аналогічною імовірності того, що координата Y містить ідентичне значення, коли порядок сканування містить другий порядок сканування, і навпаки. Аналогічно, імовірність того, що координата Y містить дане значення, коли порядок сканування містить перший порядок сканування, може бути ідентичною або аналогічною імовірності того, що координата X містить ідентичне значення, коли порядок сканування містить другий порядок сканування, і навпаки. Іншими словами, координати X і Y, коли порядок сканування містить перший порядок сканування, можуть мати ідентичну або аналогічну імовірність вмісту даного значення, як і переставлені координати X і Y, відповідно, коли порядок сканування містить другий порядок сканування. У зв'язку з цим, координати X і Y і переставлені координати X і Y можуть бути кодовані з використанням загальної статистики для цілей контекстно-адаптивного ентропійного кодування, що може приводити до використання систем кодування, які мають меншу складність відносно інших систем. Крім того, загальна статистика може бути оновлена на основі координат X і Y і переставлених координат X і Y, що може приводити до більшої точності статистики, ніж аналогічна статистика, оновлена з використанням інших технологій, і внаслідок цього до більш ефективного кодування відповідних координат. У іншому прикладі, ефективність кодування може бути підвищена за допомогою кодування інформації позиції останнього значущого коефіцієнта для блока відеоданих інкрементним способом до необхідної міри, що може приводити до більш ефективного кодування інформації. Крім того, у випадках, якщо необхідно повністю кодувати інформацію, ефективність кодування може бути підвищена за допомогою кодування інформації з використанням контекстноадаптивного ентропійного кодування, так що статистика, використовувана для того, щоб кодувати інформацію, вибирається, щонайменше частково, на основі порядку сканування, асоційованого з блоком. Таке кодування інформації може приводити до використання більш точної статистики, ніж при використанні інших способів, і, крім того, до більш ефективного кодування інформації позиції останнього значущого коефіцієнта для блока. Технології цього розкриття можуть бути використані в будь-якій технології контекстноадаптивного ентропійного кодування, що включає в себе CABAC, ентропійне кодування з сегментуванням на інтервали імовірності (PIPE) або іншу технологію контекстно-адаптивного ентропійного кодування. CABAC описується в даному розкритті з метою ілюстрації, але без обмеження відносно технологій, широко описаних в даному розкритті. Крім того, технології можуть, загалом, застосовуватися до кодування інших типів даних, наприклад, на доповнення до відеоданих. Відповідно, технології цього розкриття можуть забезпечувати використання більш ефективних способів кодування відносно інших способів і використання систем кодування, які мають меншу складність відносно інших систем, при кодуванні інформації позиції останнього значущого коефіцієнта для одного або більше блоків відеоданих. Таким чином, може бути відносна економія бітів для кодованого потоку бітів, що включає в себе інформацію, і відносне зменшення складності для системи, використовуваної для того, щоб кодувати інформацію, при використанні технологій цього розкриття. У одному прикладі, спосіб кодування коефіцієнтів, асоційованих з блоком відеоданих, під час процесу кодування відео включає в себе кодування координат X і Y, які вказують позицію останнього ненульового коефіцієнта в блоці згідно з порядком сканування, асоційованим з блоком, коли порядок сканування містить перший порядок сканування, і кодування переставлених координат X і Y, які вказують позицію останнього ненульового коефіцієнта в блоці згідно з порядком сканування, коли порядок сканування містить другий порядок 2 UA 106162 C2 5 10 15 20 25 30 35 40 45 50 55 60 сканування, при цьому другий порядок сканування відрізняється від першого порядку сканування. У іншому прикладі, пристрій для кодування коефіцієнтів, асоційованих з блоком відеоданих, під час процесу кодування відео включає в себе відеокодер, виконаний з можливістю кодувати координати X і Y, які вказують позицію останнього ненульового коефіцієнта в блоці згідно з порядком сканування, асоційованим з блоком, коли порядок сканування містить перший порядок сканування, і кодувати переставлені координати X і Y, які вказують позицію останнього ненульового коефіцієнта в блоці згідно з порядком сканування, коли порядок сканування містить другий порядок сканування, при цьому другий порядок сканування відрізняється від першого порядку сканування. У іншому прикладі, пристрій для кодування коефіцієнтів, асоційованих з блоком відеоданих, під час процесу кодування відео включає в себе засіб для кодування координат X і Y, які вказують позицію останнього ненульового коефіцієнта в блоці згідно з порядком сканування, асоційованим з блоком, коли порядок сканування містить перший порядок сканування, і засіб для кодування переставлених координат X і Y, які вказують позицію останнього ненульового коефіцієнта в блоці згідно з порядком сканування, коли порядок сканування містить другий порядок сканування, при цьому другий порядок сканування відрізняється від першого порядку сканування. Технології, описані в даному розкритті, можуть бути реалізовані в апаратних засобах, програмному забезпеченні, мікропрограмному забезпеченні або в комбінаціях вищезазначеного. При реалізації в апаратних засобах, пристрій може бути реалізований як інтегральна схема, процесор, дискретна логіка або будь-яка комбінація вищезазначеного. При реалізації в програмному забезпеченні, програмне забезпечення може виконуватися в одному або більше процесорах, таких як мікропроцесор, спеціалізована інтегральна схема (ASIC), програмована користувачем вентильна матриця (FPGA) або процесор цифрових сигналів (DSP). Програмне забезпечення, яке виконує технології, може бути спочатку збережене на матеріальному машиночитаному носії і завантажене і приведене у виконання в процесорі. Відповідно, дане розкриття також розглядає машиночитаний носій, що містить інструкції, які при виконанні призначають процесору кодувати коефіцієнти, асоційовані з блоком відеоданих, під час процесу кодування відео, при цьому інструкції призначають процесору кодувати координати X і Y, які вказують позицію останнього ненульового коефіцієнта в блоці згідно з порядком сканування, асоційованим з блоком, коли порядок сканування містить перший порядок сканування, і кодувати переставлені координати X і Y, які вказують позицію останнього ненульового коефіцієнта в блоці згідно з порядком сканування, коли порядок сканування містить другий порядок сканування, при цьому другий порядок сканування відрізняється від першого порядку сканування. Подробиці одного або більше прикладів викладені на прикладених кресленнях і в нижченаведеному описі. Інші ознаки, цілі і переваги повинні ставати очевидними з опису і креслень і з формули винаходу. Короткий опис креслень Фіг. 1 є блок-схемою, яка ілюструє приклад системи кодування і декодування відео, яка може реалізовувати технології для ефективного кодування інформації позиції останнього значущого коефіцієнта на основі інформації порядку сканування для блока відеоданих, згідно з технологіями цього розкриття. Фіг. 2 є блок-схемою, яка ілюструє приклад відеокодера, який може реалізовувати технології для ефективного кодування інформації позиції останнього значущого коефіцієнта на основі інформації порядку сканування для блока відеоданих, згідно з технологіями цього розкриття. Фіг. 3 є блок-схемою, яка ілюструє приклад відеодекодера, який може реалізовувати технології для ефективного декодування кодованої інформації позиції останнього значущого коефіцієнта на основі інформації порядку сканування для блока відеоданих, згідно з технологіями цього розкриття. Фіг. 4A-4C є концептуальними схемами, які ілюструють приклад блока відеоданих і відповідної інформації позиції значущих коефіцієнтів і інформації позиції останнього значущого коефіцієнта. Фіг. 5A-5C є концептуальними схемами, які ілюструють приклади блоків відеоданих, сканованих з використанням зигзагоподібного порядку сканування, горизонтального порядку сканування і вертикального порядку сканування. Фіг. 6A-6C є концептуальними схемами, які ілюструють приклади блоків відеоданих, для яких інформація позиції останнього значущого коефіцієнта кодується на основі інформації порядку сканування, згідно з технологіями цього розкриття. 3 UA 106162 C2 5 10 15 20 25 30 35 40 45 50 55 60 Фіг. 7 є блок-схемою послідовності операцій способу, яка ілюструє приклад способу для ефективного кодування інформації позиції останнього значущого коефіцієнта на основі інформації порядку сканування для блока відеоданих, згідно з технологіями цього розкриття. Фіг. 8 є блок-схемою послідовності операцій способу, яка ілюструє приклад способу для ефективного кодування інформації позиції останнього значущого коефіцієнта на основі інформації порядку сканування для блока відеоданих, згідно з технологіями цього розкриття. Фіг. 9 є блок-схемою послідовності операцій способу, яка ілюструє приклад способу для ефективного декодування кодованої інформації позиції останнього значущого коефіцієнта на основі інформації порядку сканування для блока відеоданих, згідно з технологіями цього розкриття. Фіг. 10 є блок-схемою послідовності операцій способу, яка ілюструє інший приклад способу для ефективного кодування інформації позиції останнього значущого коефіцієнта на основі інформації порядку сканування для блока відеоданих, згідно з технологіями цього розкриття. Фіг. 11 є блок-схемою послідовності операцій способу, яка ілюструє інший приклад способу для ефективного декодування кодованої інформації позиції останнього значущого коефіцієнта на основі інформації порядку сканування для блока відеоданих, згідно з технологіями цього розкриття. Докладний опис винаходу Дане розкриття описує технології для кодування коефіцієнтів, асоційованих з блоком відеоданих, під час процесу кодування відео, що включають в себе технології для кодування інформації, яка ідентифікує позицію останнього ненульового або останнього "значущого" коефіцієнта в блоці згідно з порядком сканування, асоційованим з блоком, тобто інформації позиції останнього значущого коефіцієнта для блока. Технології цього розкриття можуть підвищувати ефективність для кодування інформації позиції останнього значущого коефіцієнта для блоків відеоданих, використовуваних для того, щоб кодувати блоки за допомогою кодування інформації позиції останнього значущого коефіцієнта для конкретного блока на основі інформації, яка ідентифікує порядок сканування, асоційований з блоком, тобто інформації порядку сканування для блока. Іншими словами, технології можуть поліпшувати стиснення інформації позиції останнього значущого коефіцієнта для блоків, коли кодується інформація. Технології цього розкриття також можуть забезпечувати використання систем кодування, які мають меншу складність відносно інших систем, при кодуванні інформації позиції останнього значущого коефіцієнта для блоків, за допомогою кодування інформації позиції останнього значущого коефіцієнта для конкретного блока з використанням загальної статистики, коли один з множини порядків сканування використовується для того, щоб кодувати блок. У даному розкритті, термін "кодування" (coding) означає кодування (encoding), яке здійснюється в кодері, або декодування, яке здійснюється в декодері. Аналогічно, термін "кодер" (coder) означає кодер (encoder), декодер або комбінований кодер/декодер ("кодек"). Терміни кодер (coder), кодер (encoder), декодер і кодек означають конкретні машини, спроектовані з можливістю кодування (coding) (кодування (encoding) і/або декодування) відеоданих відповідно до цього розкриття. Загалом, емпіричне тестування, виконуване при розробці цих технологій, демонструє кореляцію між інформацією позиції останнього значущого коефіцієнта і інформацією порядку сканування для блока відеоданих. Наприклад, позиція останнього значущого коефіцієнта в блоці відеоданих згідно з порядком сканування, асоційованим з блоком, тобто порядком сканування, використовуваним для того, щоб кодувати блок, може залежати від порядку сканування. Іншими словами, статистика, яка вказує імовірність того, що дана позиція в блоці відповідає позиції останнього значущого коефіцієнта в блоці згідно з порядком сканування, може варіюватися залежно від того, який порядок сканування використовується для того, щоб кодувати блок. Відповідно, кодування інформації позиції останнього значущого коефіцієнта для блока з використанням контекстно-адаптивного ентропійного кодування, так що статистика, використовувана для того, щоб кодувати інформацію, вибирається, щонайменше частково, на основі інформації порядку сканування для блока, може давати в результаті більш точну статистику і тим самим може приводити до більш ефективного кодування інформації позиції останнього значущого коефіцієнта. Додатково, відповідно до технологій цього розкриття, інформація позиції останнього значущого коефіцієнта для блока відеоданих може бути кодована з використанням координат X і Y, які вказують позицію останнього значущого коефіцієнта в блоці згідно з порядком сканування, асоційованим з блоком. У цих випадках, вищеописана статистика може вказувати імовірність того, що координата, наприклад, координата X або Y, відповідна позиції останнього 4 UA 106162 C2 5 10 15 20 25 30 35 40 45 50 55 60 значущого коефіцієнта в блоці згідно з порядком сканування, містить дане значення (наприклад, "0", "1", "2" і т. д.). Оскільки деякі порядки сканування, наприклад, перший порядок сканування і другий порядок сканування, можуть бути симетричними один відносно одного (або щонайменше частково симетричними), імовірність того, що координата X містить дане значення, коли порядок сканування містить перший порядок сканування, може бути ідентичною або аналогічною імовірності того, що координата Y містить ідентичне значення, коли порядок сканування містить другий порядок сканування, і навпаки. Аналогічно, імовірність того, що координата Y містить дане значення, коли порядок сканування містить перший порядок сканування, може бути ідентичною або аналогічною імовірності того, що координата X містить ідентичне значення, коли порядок сканування містить другий порядок сканування, і навпаки. Іншими словами, координати X і Y, коли порядок сканування містить перший порядок сканування, можуть мати ідентичну або аналогічну імовірність вмісту даного значення, як переставлені (або "зі зміною місць") координати X і Y, відповідно, коли порядок сканування містить другий порядок сканування. У зв'язку з цим, координати X і Y і переставлені координати X і Y можуть бути кодовані з використанням загальної статистики. Відповідно, кодування координат X і Y, коли порядок сканування містить перший порядок сканування, і кодування переставлених координат X і Y, коли порядок сканування містить другий порядок сканування, з використанням загальної статистики, може приводити до зменшеної складності системи кодування. Крім того, оновлення загальної статистики на основі координат X і Y і переставлених координат X і Y також може давати в результаті більш точну статистику, що також може приводити до більш ефективного кодування інформації позиції останнього значущого коефіцієнта. Як один приклад, технології цього розкриття можуть підвищувати ефективність кодування і скорочувати складність системи кодування за допомогою кодування координат X і Y, які вказують позицію останнього значущого коефіцієнта в конкретному блоці відеоданих згідно з порядком сканування, асоційованим з блоком, коли порядок сканування містить перший порядок сканування, і кодування переставлених координат X і Y, які вказують позицію останнього значущого коефіцієнта в блоці згідно з порядком сканування, коли порядок сканування містить другий порядок сканування. У цьому прикладі, координати X і Y і переставлені координати X і Y можуть бути кодовані з використанням загальної статистики для цілей контекстно-адаптивного ентропійного кодування, що може приводити до використання систем кодування, які мають меншу складність відносно інших систем, наприклад, систем, які включають в себе окрему статистику для кожного порядку сканування, який може бути використаний в системах для того, щоб кодувати блоки відеоданих. Крім того, загальна статистика може бути оновлена на основі координат X і Y і переставлених координат X і Y, що може приводити до більшої точності статистики, ніж аналогічна статистика, оновлена з використанням інших технологій, наприклад, статистика, оновлена для конкретного порядку сканування, який може бути використаний в системі для того, щоб кодувати блоки відеоданих. Як результат, координати X і Y і переставлені координати X і Y, тобто інформація позиції останнього значущого коефіцієнта для блока, можуть бути кодовані більш ефективно, ніж аналогічна інформація, кодована з використанням інших способів. Як інший приклад, технології цього розкриття можуть підвищувати ефективність кодування за допомогою кодування інформації позиції останнього значущого коефіцієнта для блока відеоданих інкрементним способом до необхідної міри. Як результат, інформація позиції останнього значущого коефіцієнта може бути кодована з використанням меншого обсягу інформації, ніж при використанні інших технологій, наприклад, при кодуванні інформації позиції останнього значущого коефіцієнта для блока завжди повністю. Крім того, у випадках, якщо необхідно повністю кодувати інформацію позиції останнього значущого коефіцієнта, ефективність кодування може бути підвищена за допомогою кодування інформації з використанням контекстно-адаптивного ентропійного кодування, так що статистика, використовувана для того, щоб кодувати інформацію, вибирається, щонайменше частково, на основі інформації порядку сканування для блока. Таке кодування інформації позиції останнього значущого коефіцієнта може приводити до використання більш точної статистики, ніж при використанні інших способів, наприклад, до вибору статистики без урахування інформації порядку сканування для блока, і, крім того, до більш ефективного кодування інформації позиції останнього значущого коефіцієнта. У прикладах, описаних вище, для того, щоб кодувати інформацію позиції останнього значущого коефіцієнта для блока відеоданих з використанням статистики, інформація може бути кодована за допомогою виконання процесу контекстно-адаптивного двійкового арифметичного кодування (CABAC), який включає в себе застосування контекстної моделі, що 5 UA 106162 C2 5 10 15 20 25 30 35 40 45 50 55 включає в себе статистику на основі одного або більше контекстів. У інших прикладах, інші процеси контекстно-адаптивного ентропійного кодування, такі як контекстно-адаптивне кодування змінної довжини (CAVLC), ентропійне кодування з сегментуванням на інтервали імовірності (PIPE) і інші процеси контекстно-адаптивного ентропійного кодування, також можуть використовувати технології цього розкриття. CABAC описується в даному розкритті з метою ілюстрації, але без обмеження відносно технологій, широко описаних в даному розкритті. Крім того, технології можуть, загалом, застосовуватися до кодування інших типів даних, наприклад, на доповнення до відеоданих. Кодування інформації позиції останнього значущого коефіцієнта для одного або більше блоків відеоданих способом, описаним вище, може забезпечувати використання більш ефективних способів кодування відносно інших способів і використання систем кодування, які мають меншу складність відносно інших систем. Таким чином, може бути відносна економія бітів для кодованого потоку бітів, що включає в себе інформацію, і відносне зменшення складності для системи, використовуваної для того, щоб кодувати інформацію, при використанні технологій цього розкриття. Фіг. 1 є блок-схемою, яка ілюструє приклад системи 10 кодування і декодування відео, яка може реалізовувати технології для ефективного кодування інформації позиції останнього значущого коефіцієнта на основі інформації порядку сканування для блока відеоданих, згідно з технологіями цього розкриття. Як показано на фіг. 1, система 10 включає в себе вихідний пристрій 12, який передає кодоване відео в цільовий пристрій 14 через канал 16 зв'язку. Вихідний пристрій 12 і цільовий пристрій 14 можуть містити будь-які з широкого діапазону пристроїв. У деяких випадках, вихідний пристрій 12 і цільовий пристрій 14 можуть містити пристрої бездротового зв'язку, такі як бездротові переносні телефони, так звані стільникові або супутникові радіотелефони, або будь-які бездротові пристрої, які можуть передавати відеоінформацію по каналу 16 зв'язку, коли канал 16 зв'язку є бездротовим. Проте, технології цього розкриття, які належать до ефективного кодування інформації позиції останнього значущого коефіцієнта на основі інформації порядку сканування для блока відеоданих, не обов'язково обмежені додатками або настройками бездротового зв'язку. Ці технології можуть, загалом, застосовуватися до будь-якого сценарію, в якому виконується кодування або декодування, що включає в себе широкомовні телепередачі по радіоінтерфейсу, кабельні телепередачі, супутникові телепередачі, потокові передачі відео по Інтернету, кодоване цифрове відео, яке кодується на носій зберігання даних або витягається і декодується з носія зберігання даних, або інші сценарії. Відповідно, канал 16 зв'язку не потрібний, і технології цього розкриття можуть застосовуватися до настройок, при яких застосовується кодування або при яких декодування застосовується, наприклад, взагалі без передачі даних між пристроями кодування і декодування. У прикладі за фіг. 1, вихідний пристрій 12 включає в себе відеоджерело 18, відеокодер 20, модулятор/демодулятор (модем) 22 і передавальний пристрій 24. Цільовий пристрій 14 включає в себе приймальний пристрій 26, модем 28, відеодекодер 30 і пристрій 32 відображення. Відповідно до цього розкриття, відеокодер 20 вихідного пристрою 12 і/або відеодекодер 30 цільового пристрою 14 можуть бути виконані з можливістю застосування технології для ефективного кодування інформації позиції останнього значущого коефіцієнта на основі інформації порядку сканування для блока відеоданих. У інших прикладах, вихідний пристрій і цільовий пристрій можуть включати в себе інші компоненти або компонування. Наприклад, вихідний пристрій 12 може приймати відеодані із зовнішнього відеоджерела 18, такого як зовнішня камера. Аналогічно, цільовий пристрій 14 може взаємодіяти із зовнішнім пристроєм відображення замість включення в себе інтегрованого пристрою відображення. Проілюстрована система 10 за фіг. 1 є просто одним прикладом. Технології для ефективного кодування інформації позиції останнього значущого коефіцієнта на основі інформації порядку сканування для блока відеоданих можуть бути виконані за допомогою будьякого пристрою кодування і/або декодування цифрового відео. Хоч, загалом, технології цього розкриття виконуються за допомогою пристрою кодування відео, технології також можуть виконуватися за допомогою відеокодера/декодера, типово званого "кодеком". Крім того, технології цього розкриття також можуть бути виконані за допомогою відеопрепроцесора. Вихідний пристрій 12 і цільовий пристрій 14 є просто прикладами таких пристроїв кодування, в яких вихідний пристрій 12 формує кодовані відеодані для передачі в цільовий пристрій 14. У деяких прикладах пристрої 12, 14 можуть працювати практично симетрично так, що кожен з пристроїв 12, 14 включає в себе компоненти кодування і декодування відео. Отже, система 10 може підтримувати односторонню і двосторонню передачу відео між відеопристроями 12, 14, 6 UA 106162 C2 5 10 15 20 25 30 35 40 45 50 55 60 наприклад, для потокової передачі відео, відтворення відео, широкомовної передачі відео або відеотелефонії. Відеоджерело 18 вихідного пристрою 12 може включати в себе пристрій відеозахоплення, такий як відеокамера, відеоархів, що містить раніше захоплене відео, і/або відеопередачу від постачальника відеовмісту. Як додаткова альтернатива, відеоджерело 18 може формувати основані на комп'ютерній графіці дані як вихідне відео або комбінацію відео, що передається наживо, архівного відео і машиногенерованого відео. У деяких випадках, якщо відеоджерелом 18 є відеокамера, вихідний пристрій 12 і цільовий пристрій 14 можуть формувати так звані камерофони або відеофони. Проте, як згадано вище, технології, описані в даному розкритті, можуть бути застосовними до кодування відео загалом і можуть застосовуватися до бездротових і/або дротових варіантів застосування. У кожному випадку, захоплене, попередньо захоплене або машиногенероване відео може бути кодоване за допомогою відеокодера 20. Кодована відеоінформація потім може бути модульована за допомогою модема 22 згідно зі стандартом зв'язку і передана в цільовий пристрій 14 через передавальний пристрій 24. Модем 22 може включати в себе різні мікшери, фільтри, підсилювачі або інші компоненти, спроектовані з можливістю модуляції сигналів. Передавальний пристрій 24 може включати в себе схеми, розроблені для передачі даних, в тому числі підсилювачі, фільтри і одну або більше антен. Приймальний пристрій 26 цільового пристрою 14 приймає інформацію по каналу 16, і модем 28 демодулює інформацію. З іншого боку, процес кодування відео, описаний вище, може реалізовувати одну або більше технологій, описаних в даному документі, для того, щоб ефективно кодувати інформацію позиції останнього значущого коефіцієнта на основі інформації порядку сканування для блока відеоданих. Інформація, що передається по каналу 16, може включати в себе синтаксичну інформацію, задану за допомогою відеокодера 20, яка також використовується за допомогою відеодекодера 30, яка включає в себе елементи синтаксису, що описують характеристики і/або обробку блоків відеоданих (наприклад, макроблоків або одиниць кодування), наприклад, інформацію позиції останнього значущого коефіцієнта і/або інформацію порядку сканування, а також іншу інформацію. Пристрій 32 відображення відображає декодовані відеодані користувачу і може містити будь-який з множини пристроїв відображення, таких як дисплей на електронно-променевій трубці (CRT), рідкокристалічний дисплей (LCD), плазмовий дисплей, дисплей на органічних світлодіодах (OLED) або інший тип пристрою відображення. У прикладі за фіг. 1, канал 16 зв'язку може містити будь-яке бездротове і дротове середовище зв'язку, таке як радіочастотний (RF) спектр або одна або більше фізичних ліній передачі, або будь-яку комбінацію бездротових і дротових середовищ. Канал 16 зв'язку може формувати частину мережі з комутацією пакетів, такої як локальна обчислювальна мережа, глобальна обчислювальна мережа або глобальна мережа, така як Інтернет. Канал 16 зв'язку, загалом, представляє будь-яке належне середовище зв'язку або набір різних середовищ зв'язку для передачі відеоданих з вихідного пристрою 12 в цільовий пристрій 14, що включають в себе будь-яку належну комбінацію дротових або бездротових середовищ. Канал 16 зв'язку може включати в себе маршрутизатори, перемикачі, базові станції або будь-яке інше обладнання, яке може бути корисним для того, щоб спрощувати зв'язок з вихідного пристрою 12 в цільовий пристрій 14. У інших прикладах, пристрої кодування або декодування можуть реалізовувати технології цього розкриття взагалі без зв'язку між такими пристроями. Наприклад, пристрій кодування може кодувати і зберігати кодований потік бітів згідно з технологіями цього розкриття. Альтернативно, пристрій декодування може приймати або витягати кодований потік бітів і декодувати потік бітів згідно з технологіями цього розкриття. Відеокодер 20 і відеодекодер 30 можуть працювати згідно з таким стандартом стиснення відео, як стандарт ITU-T H.264, альтернативно згадуваний як MPEG-4, частина 10, вдосконалене кодування відео (AVC). Проте, технології цього розкриття не обмежені якимнебудь конкретним стандартом кодування. Інші приклади включають в себе розроблювані на даний час стандарти MPEG-2, ITU-T H.263 і стандарт високоефективного кодування відео (HEVC). Загалом, технології цього розкриття описуються відносно HEVC, але потрібно розуміти, що ці технології також можуть бути використані в поєднанні з іншими стандартами кодування відео. Хоч не показано на фіг. 1, в деяких аспектах, відеокодер 20 і відеодекодер 30 можуть бути інтегровані з аудіокодером і -декодером, відповідно, і можуть включати в себе відповідні модулі мультиплексора-демультиплексора або інші апаратні засоби і програмне забезпечення, щоб обробляти кодування як аудіо, так і відео в загальному потоці даних або в окремих потоках даних. Якщо застосовно, модулі мультиплексора-демультиплексора можуть відповідати протоколу мультиплексора ITU H.223 або іншим протоколам, таким як протокол користувацьких дейтаграм (UDP). 7 UA 106162 C2 5 10 15 20 25 30 35 40 45 50 55 Відеокодер 20 і відеодекодер 30 можуть бути реалізовані як будь-яка з множини належних схем кодера і декодера, наприклад, один або більше мікропроцесорів, процесори цифрових сигналів (DSP), спеціалізовані інтегральні схеми (ASIC), програмовані користувачем вентильні матриці (FPGA), дискретна логіка, програмне забезпечення, апаратні засоби, мікропрограмне забезпечення або будь-які комбінації вищезазначеного. Кожний з відеокодера 20 і відеодекодера 30 може бути включений в один або більше кодерів або декодерів, будь-який з яких може бути інтегрований як частина комбінованого кодера/декодера (кодека) у відповідній камері, комп'ютері, мобільному пристрої, абонентському пристрої, широкомовному пристрої, абонентській приставці, на сервері і т. п. Відеопослідовність типово включає в себе серії відеокадрів. Групи зображень (GOP), загалом, містять послідовність з одного або більше відеокадрів. GOP може включати в себе в заголовку GOP, заголовку одного або більше кадрів GOP або в іншому місці синтаксичні дані, які описують число кадрів, включених в GOP. Кожний кадр може включати в себе синтаксичні дані кадру, які описують режим кодування для відповідного кадру. Відеокодер, наприклад, відеокодер 20, типово керує відеоблоками в окремих відеокадрах, щоб кодувати відеодані. Згідно зі стандартом ITU-T H.264, відеоблок може відповідати макроблоку або сегменту макроблока. Згідно з іншими стандартами, наприклад, HEVC, детальніше описаними нижче, відеоблок може відповідати одиниці кодування (наприклад, найбільшій одиниці кодування) або сегменту одиниці кодування. Відеоблоки можуть мати фіксований або варійований розмір і можуть відрізнятися за розміром згідно із заданим стандартом кодування. Кожний відеокадр може включати в себе множину серій послідовних макроблоків, тобто частин відеокадру. Кожна серія послідовних макроблоків може включати в себе множину відеоблоків, які можуть розміщуватися в сегментах, також званих "субблоками". Залежно від вказаного стандарту кодування відеоблоки можуть бути сегментовані на різні розміри "субблоків N×N", наприклад, 16×16, 8×8, 4×4, 2×2 і т. д. В даному розкритті, "N×N" і "N на N" можуть бути використані взаємозамінно для того, щоб посилатися на розміри піксела блока з точки зору розмірів по вертикалі і горизонталі, наприклад, 16×16 пікселів або 16 на 16 пікселів. Загалом, блок 16×16 повинен мати шістнадцять пікселів у вертикальному напрямку (у=16) і шістнадцять пікселів в горизонтальному напрямку (х=16). Аналогічно, блок N×N, загалом, має N пікселів у вертикальному напрямку і N пікселів в горизонтальному напрямку, де N представляє ненегативне цілочислове значення. Пікселі в блоці можуть розміщуватися в рядках і стовпцях. Крім того, блок не обов'язково повинен мати співпадаюче число пікселів в горизонтальному напрямку і у вертикальному напрямку. Наприклад, блоки можуть містити N×M пікселів, де M не обов'язково дорівнює N. Як один приклад, в стандарті ITU-T H.264, блоки, розмір яких становить 16 на 16 пікселів, можуть згадуватися як макроблоки, а блоки, які менше 16 на 16 пікселів, можуть згадуватися як сегменти макроблока 16 на 16. В інших стандартах, наприклад, HEVC, блоки можуть бути задані, якщо узагальнювати, відносно свого розміру, наприклад, як одиниці кодування і їх сегменти, кожна з яких має варійований, а не фіксований розмір. Відеоблоки можуть містити блоки піксельних даних в піксельній області або блоки коефіцієнтів перетворення в області перетворення, наприклад, після застосування перетворення, такого як дискретне косинусне перетворення (DCT), цілочислове перетворення, вейвлет-перетворення або концептуально аналогічне перетворення, до залишкових даних для даного відеоблока, при цьому залишкові дані представляють піксельні різниці між відеоданими для блока і прогнозуючими даними, сформованими для блока. У деяких випадках, відеоблоки можуть містити блоки квантованих коефіцієнтів перетворення в області перетворення, при цьому після застосування перетворення до залишкових даних для даного відеоблока, результуючі коефіцієнти перетворення також квантуються. Сегментація на блоки служить важливій меті в технологіях блокового кодування відео. Використання меншого числа блоків для того, щоб кодувати відеодані, може приводити до кращого прогнозування даних для місцеположень відеокадру, які включають в себе високі рівні деталізації, і, отже, може зменшувати результуючу помилку (тобто відхилення прогнозуючих даних від вихідних відеоданих), представлену як залишкові дані. Проте, при потенційному зменшенні залишкових даних такі технології можуть вимагати додаткової синтаксичної інформації, щоб вказувати те, як менші блоки сегментуються відносно відеокадру, і можуть приводити до збільшеної швидкості передачі кодованих відеобітів. Відповідно, в деяких технологіях, сегментація на блоки може залежати від балансування необхідного зменшення залишкових даних стосовно результуючого збільшення швидкості передачі бітів кодованих відеоданих внаслідок додаткової синтаксичної інформації. 8 UA 106162 C2 5 10 15 20 25 30 35 40 45 50 55 60 Загалом, блоки і різні їх сегменти (тобто субблоки) можуть вважатися відеоблоками. Крім цього, серія послідовних макроблоків може вважатися множиною відеоблоків (наприклад, макроблоків або одиниць кодування) і/або субблоків (сегментів макроблоків або субодиниць кодування). Кожна серія послідовних макроблоків може бути незалежно декодованою одиницею відеокадру. Альтернативно, самі кадри можуть бути декодованими одиницями, або інші частини кадру можуть бути задані як декодовані одиниці. Крім того, GOP, також звана "послідовністю", може задаватися як декодована одиниця. На даний час проводиться робота, націлена на розробку нового стандарту кодування відео, на сьогодні званого "стандартом високоефективного кодування відео (HEVC)". HEVC-стандарт, що виходить, також може згадуватися як Н.265. Робота по стандартизації основана на моделі пристрою кодування відео, званого "тестовою моделлю HEVC (HM)". HM передбачає декілька додаткових можливостей пристроїв кодування відео в порівнянні з пристроями згідно з, наприклад, ITU-T H.264/AVC. Наприклад, тоді як H.264 надає дев'ять режимів кодування внутрішнього прогнозування, HM надає цілих тридцять п'ять режимів кодування внутрішнього прогнозування, наприклад, на основі розміру кодованого в режимі внутрішнього прогнозування блока. HM посилається на блок відеоданих як одиницю кодування (CU). CU може посилатися на прямокутну область зображення, яка служить як базова одиниця, до якої застосовуються різні інструментальні засоби кодування для стиснення. У H.264 вона також може називатися "макроблоком". Синтаксичні дані в потоці бітів можуть задавати найбільшу одиницю кодування (LCU), яка є найбільшою CU з точки зору числа пікселів. Загалом, CU має призначення, аналогічне призначенню макроблока H.264, за винятком того, що CU не має відмінності розміру. Таким чином, CU може бути сегментована або "розбита" на суб-CU. LCU може бути асоційована зі структурою даних у вигляді дерева квадрантів, яка вказує те, як LCU сегментується. Загалом, структура даних у вигляді дерева квадрантів включає в себе один вузол в розрахунку на CU LCU, при цьому кореневий вузол відповідає LCU, а інші вузли відповідають суб-CU LCU. Якщо дана CU розбивається на чотири суб-CU, вузол в дереві квадрантів, відповідному CU розбиття, включає в себе чотири дочірніх вузли, кожний з яких відповідає одній з суб-CU. Кожний вузол структури даних у вигляді дерева квадрантів може надавати синтаксичну інформацію для відповідної CU. Наприклад, вузол в дереві квадрантів може включати в себе прапор розбиття для CU, що вказує те, розбивається чи ні CU, відповідна вузлу, на чотири суб-CU. Синтаксична інформація для даної CU може бути задана рекурсивно і може залежати від того, розбивається чи ні CU на суб-CU. CU, яка не розбивається (тобто CU, відповідна термінальному або "кінцевому" вузлу в даному дереві квадрантів), може включати в себе одну або більше одиниць прогнозування (PU). Загалом, PU представляє всю або частину відповідної CU і включає в себе дані для витягання опорної вибірки для PU для цілей виконання прогнозування для CU. Наприклад, коли CU кодується у внутрішньому режимі, PU може включати в себе дані, що описують режим внутрішнього прогнозування для PU. Як інший приклад, коли CU кодується у взаємному режимі, PU може включати в себе дані, що задають вектор руху для PU. Дані, що задають вектор руху, можуть описувати, наприклад, горизонтальний компонент вектора руху, вертикальний компонент вектора руху, розрізнення для вектора руху (наприклад, точність в одну чверть піксела або точність в одну восьму піксела), опорний кадр, на який вказує вектор руху і/або опорний список (наприклад, список 0 або список 1) для вектора руху. Дані для CU, що задає одну або більше PU для CU, також можуть описувати, наприклад, секціонування CU на одну або більше PU. Режими секціонування можуть відрізнятися між тим, є CU некодованою, кодованою в режимі внутрішнього прогнозування або кодованою в режимі взаємного прогнозування. CU, що має одну або більше PU, також може включати в себе одну або більше одиниць перетворення (TU). Після прогнозування для CU з використанням однієї або більше PU, як описано вище, відеокодер може обчислювати один або більше залишкових блоків для відповідних частин CU згідно з однією або більше PU. Залишкові блоки можуть представляти піксельну різницю між відеоданими для CU і прогнозованими даними для однієї або більше PU. Набір залишкових значень може бути перетворений, відсканований і квантований, щоб задавати набір квантованих коефіцієнтів перетворення. TU може задавати структуру даних сегментів, що вказує інформацію сегментів для коефіцієнтів перетворення, яка є практично аналогічною структурі даних у вигляді дерева квадрантів, описаній вище стосовно CU. TU не обов'язково обмежується розміром PU. Таким чином, TU можуть бути більше або менше відповідних PU для ідентичної CU. У деяких прикладах, максимальний розмір TU може відповідати розміру відповідної CU. У одному прикладі, залишкові вибірки, відповідні CU, можуть поділятися на менші одиниці з використанням структури у вигляді дерева квадрантів, 9 UA 106162 C2 5 10 15 20 25 30 35 40 45 50 55 60 відомої як "залишкове дерево квадрантів" (RQT). У цьому випадку, кінцеві вузли RQT можуть згадуватися як TU, для яких можуть бути перетворені і квантовані відповідні залишкові вибірки. Після внутрішнього прогнозуючого або взаємного прогнозуючого кодування для того, щоб формувати прогнозуючі дані і залишкові дані, і після перетворень (таких як цілочислове перетворення 4×4 або 8×8, використовуване в H.264/AVC, або дискретне косинусне перетворення (DCT)) для того, щоб формувати коефіцієнти перетворення, може бути виконане квантування коефіцієнтів перетворення. Квантування, загалом, означає процес, в якому коефіцієнти перетворення квантуються, щоб, можливо, зменшувати об'єм даних, використовуваних для того, щоб представляти коефіцієнти. Процес квантування може зменшувати бітову глибину, асоційовану з деякими або всіма коефіцієнтами. Наприклад, nбітове значення може бути округлене в меншу сторону до m-бітового значення в ході квантування, при цьому n більше m. Після квантування може бути виконане ентропійне кодування квантованих даних (тобто квантованих коефіцієнтів перетворення). Ентропійне кодування може відповідати технологіям цього розкриття відносно ефективного кодування інформації позиції останнього значущого коефіцієнта на основі інформації порядку сканування для блока відеоданих, а також може використовувати інші технології ентропійного кодування, такі як контекстно-адаптивне кодування змінної довжини (CAVLC), CABAC, PIPE або інша технологія ентропійного кодування. Наприклад, значення коефіцієнтів, представлені як абсолютні величини і відповідні знаки (наприклад, "+1", або "-1") для квантованих коефіцієнтів перетворення, можуть бути кодовані з використанням технологій ентропійного кодування. Потрібно зазначити, що прогнозування, перетворення і квантування, описані вище, можуть бути виконані для будь-якого блока відеоданих, наприклад, для PU і/або TU для CU або для макроблока, залежно від вказаного стандарту кодування. Відповідно, технології цього розкриття, пов'язані з ефективним кодуванням інформації позиції останнього значущого коефіцієнта на основі інформації порядку сканування для блока відеоданих, можуть застосовуватися до будь-якого блока відеоданих, наприклад, до будь-якого блока квантованих коефіцієнтів перетворення, що включає в себе макроблок або TU для CU. Крім того, блок відеоданих (наприклад, макроблок або TU для CU) може включати в себе кожний з компонента сигналу яскравості (Y), першого компонента сигналу кольоровості (U) і другого компонента сигналу кольоровості (V) відповідних відеоданих. У зв'язку з цим, технології цього розкриття можуть бути виконані для кожного з Y-, U- і V-компонентів даного блока відеоданих. Щоб кодувати блоки відеоданих, як описано вище, також може бути сформована і кодована інформація стосовно позиції значущих коефіцієнтів в даному блоці. Потім можуть бути кодовані значення значущих коефіцієнтів, як описано вище. У H.264/AVC і HEVC-стандарті, що виходить, при використанні процесу контекстно-адаптивного ентропійного кодування, наприклад, САВАСпроцесу, позиція значущих коефіцієнтів в блоці відеоданих може бути кодована до кодування значень значущих коефіцієнтів. Процес кодування позиції всіх значущих коефіцієнтів в блоці може згадуватися як кодування на основі карти значущості (SM). Фіг. 4A-4C, детальніше описані нижче, є концептуальними схемами, які ілюструють приклад блока 4×4 квантованих коефіцієнтів перетворення і відповідних SM-даних. Типова процедура SM-кодування може бути описана таким чином. Для даного блока відеоданих SM може бути кодована, тільки якщо існує щонайменше один значущий коефіцієнт в блоці. Присутність значущих коефіцієнтів в даному блоці відеоданих може вказуватися в шаблоні кодованого блока (наприклад, з використанням елемента синтаксису "coded_block_pattern", або CBP), який є двійковим значенням, кодованим для набору блоків (наприклад, блоків сигналу яскравості і кольоровості), асоційованих з областю пікселів у відеоданих. Кожний біт в CBP згадується як прапор кодованого блока (наприклад, згідно з елементом синтаксису "coded_block_flag") і використовується для того, щоб вказувати те, існує чи ні щонайменше один значущий коефіцієнт у відповідному блоці. Іншими словами, прапор кодованого блока є однобітовим символом, який вказує те, існують чи ні які-небудь значущі коефіцієнти в одному блоці коефіцієнтів перетворення, і CBP є набором прапорів кодованих блоків для набору пов'язаних блоків відеоданих. Якщо прапор кодованого блока вказує те, що значущі коефіцієнти не присутні у відповідному блоці (наприклад, прапор дорівнює "0"), додаткова інформація не може бути кодована для блока. Проте, якщо прапор кодованого блока вказує те, що щонайменше один значущий коефіцієнт існує у відповідному блоці (наприклад, прапор дорівнює "1"), SM може бути кодована для блока відповідно до порядку сканування коефіцієнтів, асоційованого з блоком. Порядок сканування може задавати порядок, в якому значущість кожного коефіцієнта в блоці кодована як частина SM-кодування. Іншими словами, сканування може перетворювати в послідовну 10 UA 106162 C2 5 10 15 20 25 30 35 40 45 50 55 60 форму двовимірний блок коефіцієнтів в одновимірне представлення, щоб визначати значущість коефіцієнтів. Можуть бути використані різні порядки сканування (наприклад, зигзагоподібний, горизонтальний і вертикальний). Фіг. 5A-5C, також детальніше описані нижче, ілюструють приклади деяких з різних порядків сканування, які можуть використовуватися для блоків 8×8 відеоданих. Проте, технології цього розкриття також можуть застосовуватися відносно множини інших порядків сканування, що включають в себе діагональний порядок сканування, порядки сканування, які є комбінаціями зигзагоподібного, горизонтального, вертикального і/або діагонального порядку сканування, а також порядки сканування, які є частково зигзагоподібними, частково горизонтальними, частково вертикальними і/або частково діагональними. Крім цього, технології цього розкриття також можуть розглядати порядок сканування, який є адаптивним на основі статистики, асоційованої з раніше кодованими блоками відеоданих (наприклад, блоками, що мають розмір блока або режим кодування, ідентичний розміру блока або режиму кодування кодованого поточного блока). Наприклад, в деяких випадках порядок адаптивного сканування може бути порядком сканування, асоційованим з блоком. З урахуванням прапора кодованого блока, який вказує те, що щонайменше один значущий коефіцієнт існує в даному блоці, і порядку сканування для блока, SM для блока може бути кодована наступним чином. Двовимірний блок квантованих коефіцієнтів перетворення може спочатку перетворюватися в одновимірну матрицю з використанням порядку сканування. Для кожного коефіцієнта в матриці згідно з порядком сканування, може бути кодований однобітовий прапор значущого коефіцієнта (наприклад, згідно з елементом синтаксису "significant_coeff_flag"). Іншими словами, кожній позиції в матриці може призначатися двійкове значення, яке може задаватися таким, що дорівнює "1", якщо відповідний коефіцієнт є значущим, і задаватися таким, що дорівнює "0", якщо він є незначущим (тобто нульовим). Якщо даний прапор значущого коефіцієнта дорівнює "1", що вказує те, що відповідний коефіцієнт є значущим, також може бути кодований додатковий однобітовий прапор останнього значущого коефіцієнта (наприклад, згідно з елементом синтаксису "last_significant_coeff_flag"), який може вказувати те, є чи ні відповідний коефіцієнт останнім значущим коефіцієнтом в матриці (тобто в блоці з урахуванням порядку сканування). Зокрема, кожний прапор останнього значущого коефіцієнта може задаватися таким, що дорівнює "1", якщо відповідний коефіцієнт є останнім значущим коефіцієнтом в матриці, і задаватися таким, що дорівнює "0" в іншому випадку. Якщо остання позиція матриці досягається таким чином, і процес SM-кодування не завершений за допомогою прапора останнього значущого коефіцієнта, що дорівнює "1", то останній коефіцієнт в матриці (і внаслідок цього блок з урахуванням порядку сканування) може логічно виводитися як значущий, і прапор останнього значущого коефіцієнта не може бути кодований для останньої позиції матриці. Фіг. 4B, 4C є концептуальними схемами, які ілюструють приклади наборів прапорів значущих коефіцієнтів і прапорів останніх значущих коефіцієнтів, відповідно, згідно з SM-даними для блока, проілюстрованого на фіг. 4A, представленого в формі карти, а не в формі матриці. Потрібно зазначити, що прапори значущих коефіцієнтів і прапори останніх значущих коефіцієнтів, як описано вище, можуть задаватися таким, що дорівнює різним значенням (наприклад, прапор значущого коефіцієнта може задаватися таким, що дорівнює "0", якщо відповідний коефіцієнт є значущим, і "1", якщо він є незначущим, і прапор останнього значущого коефіцієнта може задаватися таким, що дорівнює "0", якщо відповідний коефіцієнт є останнім значущим коефіцієнтом, і "1", якщо він не є останнім значущим коефіцієнтом) в інших прикладах. Після того, як SM кодується, як описано вище, значення кожного значущого коефіцієнта (тобто абсолютна величина і знак кожного значущого коефіцієнта, наприклад, що указуються за допомогою елементів синтаксису "coeff_abs_level_minus1" і "coeff_sign_flag", відповідно) в блоці також може бути кодоване. Згідно з деякими технологіями, фіксований порядок сканування може бути використаний для того, щоб кодувати блоки відеоданих, як описано вище, наприклад, зигзагоподібний порядок сканування. Згідно з іншими технологіями, декілька порядків сканування можуть бути використані для того, щоб кодувати блоки. У деяких прикладах, може бути використане "адаптивне сканування коефіцієнтів" (ACS), в якому порядок сканування адаптується у часі, і поточний адаптований порядок сканування використовується для того, щоб кодувати конкретний блок коефіцієнтів в будь-який момент часу. У інших технологіях, відеокодер 20 може тестувати декілька порядків сканування на основі одного або більше показників ефективності стиснення і вибирати найкращий порядок сканування для того, щоб кодувати блоки. Додатково, відеокодер 20 може вказувати порядок сканування відеодекодеру 30 за допомогою кодування 11 UA 106162 C2 5 10 15 20 25 30 35 40 45 50 55 60 ACS-індексу, який може представляти будь-який з цих декількох порядків сканування (наприклад, з використанням індексів 0 для зигзагоподібного, 1 для горизонтального і 2 для вертикального порядку сканування). Згідно з деякими технологіями, відеокодер 20 може кодувати ACS-індекс тільки тоді, коли останній значущий коефіцієнт не знаходиться в першій позиції в порядку сканування (відповідній верхній лівій позиції в блоці, звичайно званій "DC"-позицією). Відеокодер 20 може кодувати ACS-індекс таким чином, оскільки відеодекодеру 30 не потрібний індикатор відносно порядку сканування, використовуваного за допомогою відеокодера 20 у випадку, якщо останній (і тільки) значущий коефіцієнт в блоці знаходиться в DC-позиції, оскільки всі можливі порядки сканування можуть починатися з DC-позиції, як показано на фіг. 5 і 6, також детальніше описаних нижче. У випадку, якщо останній значущий коефіцієнт в блоці не знаходиться в DC-позиції, відеокодер 20 може кодувати ACS-індекс наступним чином. Відеокодер 20 може кодувати перший сигнал (наприклад, "елемент вибірки 1"), який вказує те, являє собою порядок сканування зигзагоподібний порядок сканування (наприклад, елемент вибірки 1="0") чи ні (наприклад, елемент вибірки 1="1"). У випадку, якщо порядок сканування не являє собою зигзагоподібний порядок сканування, відеокодер 20 може кодувати другий сигнал (наприклад, "елемент вибірки 2"), який вказує те, являє собою порядок сканування горизонтальний порядок сканування (наприклад, елемент вибірки 2="0") або вертикальний порядок сканування (наприклад, елемент вибірки 2="1"). Аналогічно, відеодекодер 30 може приймати і декодувати перший сигнал і другий сигнал, щоб визначати ACS-індекс. Відповідно, замість того, щоб завжди кодувати ACS-індекс, відеокодер 20 і/або відеодекодер 30 може кодувати ACS-індекс тільки тоді, коли останній значущий коефіцієнт не знаходиться в DC-позиції. Як описано вище, згідно з технологіями цього розкриття, інформація позиції останнього значущого коефіцієнта для конкретного блока відеоданих може бути кодована з використанням координат X і Y, які вказують позицію останнього значущого коефіцієнта в блоці згідно з порядком сканування, асоційованим з блоком. У деяких прикладах, координата X може відповідати номеру стовпця позиції в блоці, а координата Y може відповідати номеру рядка позиції в блоці. Наприклад, номери рядків і стовпців можуть бути відносно номерів рядків і стовпців, відповідних вихідній позиції або позиції "початку координат" в блоці, наприклад, DCпозиції. У зв'язку з цим, згідно з цими технологіями, інформація позиції останнього значущого коефіцієнта для блока відеоданих не може бути кодована з використанням кодування SM, як описано вище, а замість цього за допомогою явного кодування координат X і Y позиції останнього значущого коефіцієнта в блоці згідно з порядком сканування, асоційованим з блоком. Згідно з такими технологіями, координати X і Y можуть бути кодовані незалежно від SMданих, що залишилися (тобто прапорів значущих коефіцієнтів або інформації позиції значущих коефіцієнтів), для блока. Наприклад, координати X і Y можуть бути кодовані до кодування інформації позиції значущих коефіцієнтів для блока. У деяких прикладах згідно з технологіями цього розкриття, для того, щоб кодувати координати X і Y, відеокодер 20 і/або відеодекодер 30 додатково може визначати статистику, яка вказує імовірність того, що дана позиція в блоці відповідає позиції останнього значущого коефіцієнта в блоці згідно з порядком сканування. Зокрема, статистика може вказувати імовірність того, що координата, наприклад, координата X або Y, відповідна позиції останнього значущого коефіцієнта в блоці згідно з порядком сканування, містить дане значення (наприклад, "0", "1", "2" і т. д.). Іншими словами, статистика може вказувати імовірність того, що кожна з вищеописаних координат X і Y містить дане значення. Відеокодер 20 і/або відеодекодер 30 може визначати статистику і кодувати координати X і Y на основі статистики, наприклад, з використанням контекстно-адаптивного ентропійного кодування. У деяких прикладах, відеокодер 20 і/або відеодекодер 30 може визначати статистику з використанням інформації позиції останнього значущого коефіцієнта для раніше кодованих блоків відеоданих, наприклад, значень координат X і Y для раніше кодованих блоків. У інших прикладах, відеокодер 20 і/або відеодекодер 30 може оновлювати статистику на основі координат X і Y, щоб відображати імовірність того, що відповідні координати містять конкретні значення. Як описано вище, статистика може варіюватися залежно від того, який порядок сканування використовується для того, щоб кодувати блок. Як один приклад згідно з технологіями цього розкриття, щоб кодувати координати X і Y на основі статистики, відеокодер 20 і/або відеодекодер 30 може виконувати процес контекстноадаптивного ентропійного кодування (наприклад, САВАС-процес), який включає в себе застосування контекстної моделі, яка включає в себе статистику на основі щонайменше одного контексту. Наприклад, щонайменше один контекст може включати в себе одне з координат X і Y 12 UA 106162 C2 5 10 15 20 25 30 35 40 45 50 55 60 і порядку сканування. У цьому прикладі, відеокодер 20 і/або відеодекодер 30 може використовувати порядок сканування для того, щоб вибирати конкретну контекстну модель, яка включає в себе статистику. Іншими словами, відеокодер 20 і/або відеодекодер 30 може вибирати унікальну статистику для того, щоб кодувати координати X і Y при використанні конкретного порядку сканування для того, щоб кодувати блок. Крім того, у випадках, якщо одна координата (наприклад, координата Y) кодується після іншої координати (наприклад, координати X), відеокодер 20 і/або відеодекодер 30 може кодувати координату з використанням значення іншої раніше кодованої координати як контексту. Іншими словами, значення раніше кодованої однієї з координат X і Y може бути використане для того, щоб додатково вибирати статистику в контекстній моделі, яка вказує імовірність того, що інша поточна кодована координата містить дане значення. Відеокодер 20 і/або відеодекодер 30 потім може використовувати вибрану статистику для того, щоб кодувати координати X і Y за допомогою виконання процесу контекстно-адаптивного ентропійного кодування. Як інший приклад, згідно з технологіями цього розкриття, координати X і Y можуть бути представлені з використанням унарного кодового слова, що містить послідовність з одного або більше бітів або "елементів вибірки". Іншими словами, координати X і Y можуть "перетворюватися в двійкову форму". У зв'язку з цим, для того, щоб кодувати координати X і Y на основі статистики, відеокодер 20 і/або відеодекодер 30 може кодувати кожний елемент вибірки кодового слова, відповідного конкретній координаті, за допомогою виконання процесу контекстно-адаптивного ентропійного кодування. У цьому прикладі, статистика, включена в контекстну модель, яка вказує імовірність того, що координата містить дане значення, може включати в себе оцінки імовірності, які вказують імовірність того, що кожний елемент вибірки кодового слова, відповідного координаті, містить дане значення (наприклад, "0" або "1"). Крім того, статистика може включати в себе різні оцінки імовірності для кожного елемента вибірки кодового слова, залежно від позиції відповідного елемента вибірки в кодовому слові. У деяких прикладах, відеокодер 20 і/або відеодекодер 30 може визначати оцінки імовірності з використанням значень відповідних елементів вибірки для раніше кодованих блоків відеоданих, наприклад, елементів вибірки кодових слів, відповідних координатам X і Y для раніше кодованих блоків, наприклад, як частини визначення статистики на основі інформації позиції останнього значущого коефіцієнта для раніше кодованих блоків, як описано вище. У інших прикладах, відеокодер 20 і/або відеодекодер 30 також може оновлювати оцінки імовірності з використанням значення кожного елемента вибірки, наприклад, як частини оновлення статистики на основі координат X і Y, як також описано вище. Відеокодер 20 і/або відеодекодер 30 може використовувати оцінки імовірності для того, щоб кодувати кожний елемент вибірки за допомогою виконання процесу контекстно-адаптивного ентропійного кодування. Один недолік технологій, описаних вище, полягає в тому, що при кодуванні інформації позиції останнього значущого коефіцієнта для блока відеоданих відеокодер 20 і/або відеодекодер 30 може використовувати різну статистику залежно від порядку сканування, використовуваного за допомогою відеокодера 20 і/або відеодекодера 30 для того, щоб кодувати блок. Іншими словами, відеокодер 20 і/або відеодекодер 30 може визначати і підтримувати (наприклад, оновлювати) множину наборів статистики, щоб кодувати інформацію позиції останнього значущого коефіцієнта для блоків відеоданих, коли множина порядків сканування використовується для того, щоб кодувати блоки. У деяких випадках, набори статистики, визначеної і підтримуваної для порядків сканування, які є симетричними один відносно одного, можуть включати в себе ідентичну або аналогічну інформацію, як описано вище. У цих випадках, визначення і підтримання наборів статистики може приводити до неефективного використання ресурсів системи кодування і необов'язкової складності системи кодування. Інший недолік технологій, описаних вище, полягає в тому, що, коли відеокодер 20 і/або відеодекодер 30 кодує інформацію позиції останнього значущого коефіцієнта для блоків відеоданих з використанням загальної статистики, незалежно від порядків сканування, використовуваних для тих, щоб кодувати блоки, статистика може не бути настільки точною, як статистика, яка окремо визначається і підтримується (наприклад, оновлюється) для кожного порядку сканування. Іншими словами, загальна статистика може вказувати імовірності того, що позиції в даному блоці відеоданих відповідають позиції останнього значущого коефіцієнта в блоці згідно з порядком сканування, асоційованим з блоком, менш точно, ніж статистика, окремо визначена і підтримувана для конкретного порядку сканування, використовуваного для того, щоб кодувати блок. У цих випадках, кодування інформації позиції останнього значущого коефіцієнта з використанням загальної статистики може приводити до зменшеної ефективності кодування. 13 UA 106162 C2 5 10 15 20 25 30 35 40 45 50 55 60 Ще один інший недолік технологій, описаних вище, полягає в тому, що, в деяких випадках, відеокодер 20 і/або відеодекодер 30 може кодувати блок відеоданих з використанням одного з множини порядків сканування, які беруть початок в загальній позиції в блоці, наприклад, в DCпозиції. У цих випадках, коли позиція останнього значущого коефіцієнта в блоці згідно з порядком сканування, асоційованим з блоком, відповідає загальній позиції, відсутні інші значущі коефіцієнти в блоці, крім коефіцієнта, розташованого в загальній позиції. Відповідно, відеокодер 20 і/або відеодекодер 30 не повинен кодувати позицію останнього значущого коефіцієнта в блоці. Іншими словами, кодування інформації позиції останнього значущого коефіцієнта для блока повністю, наприклад, представленої з використанням координат X і Y, як описано вище, може не вимагатися в цьому випадку, оскільки це також може приводити до зменшеної ефективності кодування. Додатково, у вищенаведеному прикладі, коли позиція останнього значущого коефіцієнта в блоці не відповідає загальній позиції, і інформація позиції останнього значущого коефіцієнта для блока повинна бути повністю кодована, інформація в деяких випадках може бути кодована з використанням статистики, яка не є точною, наприклад, статистики, яка не використовує перевагу вищеописаної кореляції між інформацією позиції останнього значущого коефіцієнта і інформацією порядку сканування для блока, що також може приводити до зменшеної ефективності кодування. Відповідно, дане розкриття описує технології, які можуть забезпечувати кодування інформації позиції останнього значущого коефіцієнта для блока відеоданих більш ефективно відносно інших технологій, і використання систем кодування, що мають меншу складність відносно інших систем. Як один приклад, інформація позиції останнього значущого коефіцієнта може бути кодована з використанням систем кодування, які мають меншу складність відносно інших систем, за допомогою кодування інформації з використанням загальної статистики, коли один з множини порядків сканування використовується для того, щоб кодувати блок, наприклад, за допомогою кодування координат X і Y і переставлених координат X і Y, які вказують інформацію, залежно від порядку сканування, використовуваного для того, щоб кодувати блок. Згідно з цим прикладом, інформація позиції останнього значущого коефіцієнта також може бути більш ефективно кодована за допомогою оновлення загальної статистики на основі координат X і Y і переставлених координат X і Y, що може приводити до більшої точності статистики. Як інший приклад, інформація позиції останнього значущого коефіцієнта може бути більш ефективно кодована за допомогою кодування інформації інкрементним способом до необхідної міри, і, при кодуванні інформації повністю, здійснення цього на основі порядку сканування, наприклад, з використанням порядку сканування як контексту. У деяких прикладах, відеокодер 20 вихідного пристрою 12 може бути виконаний з можливістю кодувати певні блоки відеоданих (наприклад, один або більше макроблоків або TU для CU), і відеодекодер 30 цільового пристрою 14 може бути виконаний з можливістю приймати кодовані відеодані з відеокодера 20, наприклад, з модему 28 і приймального пристрою 26. Відповідно до технологій цього розкриття, як один приклад, відеокодер 20 і/або відеодекодер 30 може бути виконаний з можливістю кодувати координати X і Y, які вказують позицію останнього значущого коефіцієнта в конкретному блоці відеоданих згідно з порядком сканування, асоційованим з блоком, коли порядок сканування містить перший порядок сканування. Відеокодер 20 і/або відеодекодер 30 може бути додатково виконаний з можливістю кодувати переставлені координати X і Y, які вказують позицію останнього значущого коефіцієнта в блоці згідно з порядком сканування, коли порядок сканування містить другий порядок сканування. Наприклад, другий порядок сканування може відрізнятися від першого порядку сканування. У цьому прикладі, перший порядок сканування і другий порядок сканування можуть бути симетричними один відносно одного (або щонайменше частково симетричними). Наприклад, перший порядок сканування може являти собою горизонтальний порядок сканування, а другий порядок сканування може являти собою вертикальний порядок сканування, при цьому горизонтальний порядок сканування і вертикальний порядок сканування беруть початок в загальній позиції в блоці. Наприклад, загальна позиція може бути DC-позицією, як описано вище. У цьому прикладі, для того, щоб кодувати координати X і Y і переставлені координати X і Y, відеокодер 20 і/або відеодекодер 30 може бути додатково виконаний з можливістю визначати статистику, яка вказує імовірність того, що кожна з координат X і Y містить дане значення, при цьому кодування координат X і Y і переставлених координат X і Y включає кодування на основі статистики. Наприклад, імовірність того, що координата X містить дане значення, може бути використана для того, щоб кодувати координату X і переставлену координату Y, а імовірність того, що координата Y містить дане значення, може бути використана для того, щоб кодувати 14 UA 106162 C2 5 10 15 20 25 30 35 40 45 50 55 координату Y і переставлену координату X. Відеокодер 20 і/або відеодекодер 30 може бути додатково виконаний з можливістю оновлювати статистику на основі координат X і Y і переставлених координат X і Y. Наприклад, імовірність того, що координата X містить дане значення, може бути оновлена з використанням координати X і переставленої координати Y, а імовірність того, що координата Y містить дане значення, може бути оновлена з використанням координати Y і переставленої координати X. Як один приклад, для того, щоб кодувати координати X і Y і переставлені координати X і Y на основі статистики, відеокодер 20 і/або відеодекодер 30 може бути виконаний з можливістю здійснювати процес контекстно-адаптивного ентропійного кодування (наприклад, САВАСпроцес), який включає в себе застосування за допомогою відеокодера 20 і/або відеодекодера 30 контекстної моделі, яка включає в себе статистику на основі щонайменше одного контексту. Наприклад, щонайменше один контекст може включати в себе одне з координат X і Y, переставлених координат X і Y і порядку сканування. Потрібно зазначити, що, в деяких прикладах, відеокодер 20 і/або відеодекодер 30 може бути додатково виконаний з можливістю кодувати координати X і Y, коли порядок сканування містить третій порядок сканування. Наприклад, третій порядок сканування може відрізнятися від першого порядку сканування і другого порядку сканування. Як один приклад, третій порядок сканування може являти собою зигзагоподібний порядок сканування або діагональний порядок сканування, при цьому зигзагоподібний або діагональний порядок сканування також бере початок в загальній позиції в блоці, наприклад, в DC-позиції. У цьому прикладі, в деяких випадках, відеокодер 20 і/або відеодекодер 30 може бути додатково виконаний з можливістю кодувати інформацію, яка ідентифікує порядок сканування, тобто інформацію порядку сканування для блока. Додатково, в деяких випадках, відеокодер 20 і/або відеодекодер 30 може бути додатково виконаний з можливістю кодувати інформацію, яка ідентифікує позиції інших значущих коефіцієнтів в блоці, тобто інформацію позиції значущих коефіцієнтів для блока. Як інший приклад, відеокодер 20 і/або відеодекодер 30 може бути виконаний з можливістю кодувати координати X і Y, які вказують позицію останнього значущого коефіцієнта в конкретному блоці відеоданих згідно з порядком сканування, асоційованим з блоком. Наприклад, порядок сканування може являти собою один з множини порядків сканування, при цьому кожний з множини порядків сканування бере початок в загальній позиції в блоці, наприклад, в DC-позиції. У цьому прикладі, для того, щоб кодувати координати X і Y, відеокодер 20 і/або відеодекодер 30 може бути виконаний з можливістю кодувати інформацію, яка вказує те, відповідає чи ні координата X загальній позиції, кодувати інформацію, яка вказує те, відповідає чи ні координата Y загальній позиції, а у випадку, якщо координата X не відповідає загальній позиції і координата Y не відповідає загальній позиції, кодувати інформацію, яка ідентифікує порядок сканування. Відеокодер 20 і/або відеодекодер 30 може бути додатково виконаний з можливістю, у випадку, якщо координата X не відповідає загальній позиції, кодувати координату X на основі порядку сканування, а у випадку, якщо координата Y не відповідає загальній позиції, кодувати координату Y на основі порядку сканування. У цьому прикладі, для того, щоб кодувати координату X і координату Y на основі порядку сканування, відеокодер 20 і/або відеодекодер 30 може бути виконаний з можливістю здійснювати процес контекстно-адаптивного ентропійного кодування (наприклад, САВАСпроцес), який включає в себе застосування за допомогою відеокодера 20 і/або відеодекодера 30 контекстної моделі на основі щонайменше одного контексту. Наприклад, щонайменше один контекст може включати в себе порядок сканування. У будь-якому випадку, після кодування інформації позиції останнього значущого коефіцієнта і, в деяких випадках, інформації порядку сканування і інформаціях позиції значущих коефіцієнтів, тобто SM-даних, для блока способом, описаним вище, відеокодер 20 і/або відеодекодер 30 також може кодувати значення кожного значущого коефіцієнта (наприклад, абсолютну величину і знак кожного значущого коефіцієнта, що указуються за допомогою елементів синтаксису "coeff_abs_level_minus1" і "coeff_sign_flag", відповідно) в блоці. Відповідно, технології цього розкриття можуть надавати можливість відеокодеру 20 і/або відеодекодеру 30 кодувати інформацію позиції останнього значущого коефіцієнта для блока більш ефективно, ніж при використанні інших способів, і можуть надавати можливість відеокодеру 20 і/або відеодекодеру 30 мати меншу складність відносно інших систем. Таким чином, може бути відносна економія бітів для кодованого потоку бітів, що включає в себе інформацію позиції останнього значущого коефіцієнта, і відносне зменшення складності для 15 UA 106162 C2 5 10 15 20 25 30 35 40 45 50 55 60 відеокодера 20 і/або відеодекодера 30, використовуваного для того, щоб кодувати інформацію, при використанні технологій цього розкриття. Відеокодер 20 і відеодекодер 30 можуть бути реалізовані як будь-яка з множини належних схем кодера або декодера при відповідних умовах, наприклад, один або більше мікропроцесорів, процесори цифрових сигналів (DSP), спеціалізовані інтегральні схеми (ASIC), програмовані користувачем вентильні матриці (FPGA), дискретна логічна схема, програмне забезпечення, апаратні засоби, мікропрограмне забезпечення або будь-які комбінації вищезазначеного. Кожний з відеокодера 20 і відеодекодера 30 може бути включений в один або більше кодерів або декодерів, будь-який з яких може бути інтегрований як частина комбінованого відеокодера/декодера (кодека). Пристрій, що включає в себе відеокодер 20 і/або відеодекодер 30, може містити інтегральну схему, мікропроцесор і/або пристрій бездротового зв'язку, такий як стільниковий телефон. Фіг. 2 є блок-схемою, яка ілюструє приклад відеокодера 20, який може реалізовувати технології для ефективного кодування інформації позиції останнього значущого коефіцієнта на основі інформації порядку сканування для блока відеоданих згідно з технологіями цього розкриття. Відеокодер 20 може виконувати внутрішнє і взаємне кодування блоків у відеокадрах, що включають в себе макроблоки або CU і їх сегменти або підсегменти. Внутрішнє кодування основане на просторовому прогнозуванні, щоб зменшувати або видаляти просторову надмірність відео в даному відеокадрі. Взаємне кодування основане на часовому прогнозуванні, щоб зменшувати або видаляти часову надмірність відео в суміжних кадрах відеопослідовності. Внутрішній режим (I-режим) може згадуватися як будь-який з декількох режимів просторового стиснення, а взаємні режими, такі як однонаправлене прогнозування (Р-режим) або двонаправлене прогнозування (В-режим), можуть згадуватися як будь-які з декількох режимів часового стиснення. Як показано на фіг. 2, відеокодер 20 приймає поточний блок відеоданих 30 у відеокадрі, який повинен бути кодований. У прикладі за фіг. 2, відеокодер 20 включає в себе модуль 44 компенсації руху, модуль 42 оцінки руху, запам'ятовуючий пристрій 64, суматор 50, модуль 52 перетворення, модуль 54 квантування і модуль 56 ентропійного кодування. Для відновлення відеоблоків відеокодер 20 також включає в себе модуль 58 зворотного квантування, модуль 60 зворотного перетворення і суматор 62. Фільтр видалення блочності (не показаний на фіг. 2) також може бути включений з можливістю фільтрувати границі блоків, щоб видаляти артефакти блочності з відновленого відео. Якщо потрібно, фільтр видалення блочності типово повинен фільтрувати виведення суматора 62. Під час процесу кодування відеокодер 20 приймає відеокадр або серію послідовних макроблоків, яка повинна бути кодована. Кадр або серія послідовних макроблоків може бути розділена на декілька відеоблоків. Модуль 42 оцінки руху і модуль 44 компенсації руху можуть виконувати взаємне прогнозуюче кодування даного відеоблока, що приймається, відносно одного або більше блоків в одному або більше опорних кадрах, щоб надавати часове стиснення. Модуль 46 внутрішнього прогнозування може виконувати внутрішнє прогнозуюче кодування даного відеоблока, що приймається, відносно одного або більше сусідніх блоків в ідентичному кадрі або серії послідовних макроблоків як блока, який повинен бути кодований, щоб надавати просторове стиснення. Модуль 40 вибору режиму може вибирати один з режимів кодування, тобто один режим або декілька режимів внутрішнього або взаємного кодування, на основі результатів кодування (наприклад, результуючої швидкості кодування і рівня спотворення) і на основі типу кадру або серії послідовних макроблоків для кадру або серії послідовних макроблоків, що включає в себе даний кодований блок, що приймається, і надавати результуючий внутрішньо- або взаємнокодований блок в суматор 50, щоб формувати залишкові блокові дані, і в суматор 62, щоб відновлювати кодований блок для використання в опорному кадрі або в опорній серії послідовних макроблоків. Загалом, внутрішнє прогнозування включає в себе прогнозування поточного блока відносно сусідніх раніше кодованих блоків, в той час як взаємне прогнозування включає в себе оцінку руху і компенсацію руху, щоб виконувати часове прогнозування поточного блока. Модуль 42 оцінки руху і модуль 44 компенсації руху представляють елементи взаємного прогнозування відеокодера 20. Модуль 42 оцінки руху і модуль 44 компенсації руху можуть мати високу міру інтеграції, але проілюстровані окремо в концептуальних цілях. Оцінка руху типово є процесом формування векторів руху, які оцінюють рух для відеоблоків. Вектор руху, наприклад, може вказувати зміщення прогнозного блока в межах прогнозуючого опорного кадру (або іншої кодованої одиниці) відносно поточного блока, кодованого в межах поточного кадру (або іншої кодованої одиниці). Прогнозний блок є блоком, для якого виявляється, що він практично 16 UA 106162 C2 5 10 15 20 25 30 35 40 45 50 55 60 співпадає з блоком, який повинен бути кодований, з точки зору піксельної різниці, яка може бути визначена за допомогою суми абсолютної різниці (SAD), суми квадрата різниці (SSD) або інших різницевих показників. Вектор руху також може вказувати зміщення сегмента блока. Компенсація руху може включати в себе вибірку або формування прогнозного блока на основі вектора руху, визначеного за допомогою оцінки руху. З іншого боку, в деяких прикладах модуль 42 оцінки руху і модуль 44 компенсації руху можуть бути функціонально інтегровані. Модуль 42 оцінки руху може обчислювати вектор руху для відеоблока взаємнокодованого кадру за допомогою порівняння відеоблока з відеоблоками опорного кадру в запам'ятовуючому пристрої 64. Модуль 44 компенсації руху також може інтерполювати субцілочислові пікселі опорного кадру, наприклад, I-кадру або Р-кадру, з метою цього порівняння. Стандарт H.264 ITU, як приклад, описує два списки: список 0, який включає в себе опорні кадри, що мають порядок відображення ближче кодованого поточного кадру, і список 1, який включає в себе опорні кадри, що мають порядок відображення далі кодованого поточного кадру. Отже, дані, збережені в запам'ятовуючому пристрої 64, можуть бути організовані згідно з цими списками. Модуль 42 оцінки руху може порівнювати блоки одного або більше опорних кадрів із запам'ятовуючого пристрою 64 з блоком, який повинен бути кодований, поточного кадру, наприклад, Р-кадру або В-кадру. Коли опорні кадри в запам'ятовуючому пристрої 64 включають в себе значення для субцілочислових пікселів, вектор руху, обчислений за допомогою модуля 42 оцінки руху, може посилатися на місцеположення субцілочислового піксела опорного кадру. Модуль 42 оцінки руху і/або модуль 44 компенсації руху також може бути виконаний з можливістю обчислювати значення для позицій субцілочислових пікселів опорних кадрів, збережених в запам'ятовуючому пристрої 64, якщо значення для позицій субцілочислових пікселів не зберігаються в запам'ятовуючому пристрої 64. Модуль 42 оцінки руху може відправляти обчислений вектор руху в модуль 56 ентропійного кодування і модуль 44 компенсації руху. Блок опорного кадру, ідентифікований за допомогою вектора руху, може згадуватися як взаємний прогнозний блок, або, якщо узагальнювати, прогнозний блок. Модуль 44 компенсації руху може обчислювати прогнозуючі дані на основі прогнозного блока. Модуль 46 внутрішнього прогнозування може внутрішньо прогнозувати поточний блок, як альтернатива взаємному прогнозуванню, що виконується за допомогою модуля 42 оцінки руху і модуля 44 компенсації руху, як описано вище. Зокрема, модуль 46 внутрішнього прогнозування може визначати режим внутрішнього прогнозування для використання з тим, щоб кодувати поточний блок. У деяких прикладах, модуль 46 внутрішнього прогнозування може кодувати поточний блок з використанням різних режимів внутрішнього прогнозування, наприклад, під час окремих проходів кодування, і модуль 46 внутрішнього прогнозування (або модуль 40 вибору режиму в деяких прикладах) може вибирати належний режим внутрішнього прогнозування для використання з тестованих режимів. Наприклад, модуль 46 внутрішнього прогнозування може обчислювати значення спотворення залежно від швидкості передачі з використанням аналізу спотворення залежно від швидкості передачі для різних тестованих режимів внутрішнього прогнозування і вибирати режим внутрішнього прогнозування, що має найкращі характеристики спотворення залежно від швидкості передачі, з тестованих режимів. Аналіз спотворення залежно від швидкості передачі, загалом, визначає величину спотворення (або помилки) між кодованим блоком і вихідним некодованим блоком, який кодований для того, щоб формувати кодований блок, а також швидкість передачі бітів (тобто число бітів), використовувану для того, щоб формувати кодований блок. Модуль 46 внутрішнього прогнозування може обчислювати відношення зі спотворень і швидкостей для різних кодованих блоків, щоб визначати те, який режим внутрішнього прогнозування демонструє найкраще значення спотворення залежно від швидкості передачі для блока. Після прогнозування поточного блока, наприклад, з використанням внутрішнього прогнозування або взаємного прогнозування, відеокодер 20 може формувати залишковий відеоблок за допомогою віднімання прогнозуючих даних, обчислених за допомогою модуля 44 компенсації руху або модуля 46 внутрішнього прогнозування, з кодованого вихідного відеоблока. Суматор 50 представляє компонент або компоненти, які можуть виконувати цю операцію віднімання. Модуль 52 перетворення може застосовувати перетворення, таке як дискретне косинусне перетворення (DCT) або концептуально аналогічне перетворення, до залишкового блока, формуючи відеоблок, що містить значення залишкових коефіцієнтів перетворення. Модуль 52 перетворення може виконувати інші перетворення, задані за допомогою стандарту H.264, які є концептуально аналогічними DCT. Вейвлет-перетворення, цілочислові перетворення, субсмугові перетворення або інші типи перетворень також можуть використовуватися. У будь-якому випадку, модуль 52 перетворення може застосовувати перетворення до залишкового блока, формуючи блок залишкових коефіцієнтів перетворення. 17 UA 106162 C2 5 10 15 20 25 30 35 40 45 50 55 Перетворення може перетворювати залишкову інформацію з піксельної області в область перетворення, таку як частотна область. Модуль 54 квантування може квантувати залишкові коефіцієнти перетворення, щоб додатково зменшувати швидкість передачі бітів. Процес квантування може зменшувати бітову глибину, асоційовану з деякими або всіма коефіцієнтами. Міра квантування може бути модифікована за допомогою регулювання параметра квантування. Після квантування модуль 56 ентропійного кодування може ентропійно кодувати квантовані коефіцієнти перетворення, що може включати в себе CAVLC, CABAC, PIPE або іншу технологію ентропійного кодування. Після ентропійного кодування за допомогою модуля 56 ентропійного кодування, кодоване відео може бути передане в інший пристрій або заархівоване для подальшої передачі або витягання. У деяких випадках, модуль 56 ентропійного кодування або інший модуль відеокодера 20 може бути виконаний з можливістю здійснювати інші функції кодування, на доповнення до ентропійного кодування квантованих коефіцієнтів перетворення, як описано вище. Наприклад, модуль 56 ентропійного кодування може складати інформацію заголовка для блока (наприклад, макроблока, CU або LCU) або відеокадру, вміщуючого блока, з належними елементами синтаксису для передачі в кодованому потоці відеобітів. Згідно з деякими стандартами кодування, такі елементи синтаксису можуть включати в себе інформацію позиції останнього значущого коефіцієнта для блока (наприклад, для макроблока або TU для CU), як описано вище. Як також описано вище, інформація позиції останнього значущого коефіцієнта може використовувати високий процент загальної швидкості передачі стиснутих відеобітів у випадку неефективного кодування. У зв'язку з цим, тут описані технології, які можуть забезпечувати більш ефективне кодування інформації позиції останнього значущого коефіцієнта для блока, ніж при використанні інших способів. Крім того, дане розкриття описує використання систем кодування, які мають меншу складність відносно інших систем, при кодуванні інформації позиції останнього значущого коефіцієнта для блока. У деяких прикладах, модуль 56 ентропійного кодування відеокодера 20 може бути виконаний з можливістю кодувати певні блоки відеоданих (наприклад, один або більше макроблоків або TU для CU). Відповідно до технологій цього розкриття, як один приклад, модуль 56 ентропійного кодування може бути виконаний з можливістю кодувати координати X і Y, які вказують позицію останнього значущого коефіцієнта в конкретному блоці відеоданих згідно з порядком сканування, асоційованим з блоком, коли порядок сканування містить перший порядок сканування. Модуль 56 ентропійного кодування може бути додатково виконаний з можливістю кодувати переставлені координати X і Y, які вказують позицію останнього значущого коефіцієнта в блоці згідно з порядком сканування, коли порядок сканування містить другий порядок сканування. Наприклад, другий порядок сканування може відрізнятися від першого порядку сканування. У цьому прикладі, перший порядок сканування і другий порядок сканування можуть бути симетричними один відносно одного (або щонайменше частково симетричними). Наприклад, перший порядок сканування може являти собою горизонтальний порядок сканування, а другий порядок сканування може являти собою вертикальний порядок сканування, при цьому горизонтальний і вертикальний порядки сканування беруть початок в загальній позиції в блоці, наприклад, в DC-позиції. Зокрема, перший порядок сканування і другий порядок сканування можуть являти собою порядок сканування, який може бути використаний за допомогою модуля 56 ентропійного кодування для того, щоб кодувати блок. Наприклад, перший і другий порядки сканування можуть являти собою порядки сканування, використовувані за допомогою відеокодера 20 для того, щоб кодувати блоки відеоданих, і за допомогою відеодекодера 30 для того, щоб декодувати блоки у відповідній системі 10 кодування, що містить відеокодер 20 і відеодекодер 30. У деяких прикладах, перший і другий порядки сканування можуть являти собою тільки деякі порядки сканування, використовувані в системі 10 для того, щоб кодувати блоки. У інших прикладах, перший і другий порядки сканування можуть являти собою єдині порядки сканування, використовувані в системі 10 для того, щоб кодувати блоки. Крім того, переставлені координати X і Y також відповідають інформації позиції останнього значущого коефіцієнта для блока, але додатково обробляються, тобто переставляються, за допомогою модуля 56 ентропійного кодування, щоб забезпечувати більш ефективне кодування інформації, ніж при використанні інших технологій, як описано вище. Зокрема, переставлені координати X і Y можуть забезпечувати використання загальної статистики для того, щоб кодувати координати X і Y і переставлені координати X і Y, які вказують інформацію позиції останнього значущого коефіцієнта для блока, як також описано вище. 18 UA 106162 C2 5 10 15 20 25 30 35 40 45 50 55 60 У цьому прикладі, для того, щоб кодувати координати X і Y і переставлені координати X і Y, модуль 56 ентропійного кодування може бути додатково виконаний з можливістю визначати статистику, яка вказує імовірність того, що кожна з координат X і Y містить дане значення, при цьому кодування координат X і Y і переставлених координат X і Y включає кодування на основі статистики. Наприклад, імовірність того, що координата X містить дане значення, може бути використана для того, щоб кодувати координату X і переставлену координату Y, а імовірність того, що координата Y містить дане значення, може бути використана для того, щоб кодувати координату Y і переставлену координату X. Загалом, статистика може вказувати імовірність того, що дана позиція в блоці відповідає позиції останнього значущого коефіцієнта в блоці згідно з порядком сканування, коли порядок сканування містить перший порядок сканування. Зокрема, статистика може вказувати імовірність того, що координата, наприклад, координата X або Y, відповідна позиції останнього значущого коефіцієнта в блоці згідно з порядком сканування, коли порядок сканування містить перший порядок сканування, містить дане значення (наприклад, "0", "1", "2" і т. д.). Як описано вище, оскільки перший і другий порядки сканування можуть бути симетричними один відносно одного (або щонайменше частково симетричними), імовірність того, що координата X містить дане значення, коли порядок сканування містить перший порядок сканування, може бути ідентичною або аналогічною імовірності того, що координата Y містить ідентичне значення, коли порядок сканування містить другий порядок сканування, і навпаки. Аналогічно, імовірність того, що координата Y містить дане значення, коли порядок сканування містить перший порядок сканування, може бути ідентичною або аналогічною імовірності того, що координата X містить ідентичне значення, коли порядок сканування містить другий порядок сканування, і навпаки. Іншими словами, координати X і Y, коли порядок сканування містить перший порядок сканування, можуть мати ідентичну або аналогічну імовірність вмісту даного значення, як і переставлені координати X і Y, відповідно, коли порядок сканування містить другий порядок сканування. У зв'язку з цим, статистика додатково може вказувати імовірність того, що кожна з переставлених координат X і Y містить дане значення. У деяких прикладах, модуль 56 ентропійного кодування може визначати статистику з використанням інформації позиції останнього значущого коефіцієнта для раніше кодованих блоків відеоданих, наприклад, значень координат X і Y і переставлених координат X і Y для раніше кодованих блоків. Модуль 56 ентропійного кодування може бути додатково виконаний з можливістю оновлювати статистику на основі координат X і Y і переставлених координат X і Y таким чином, що імовірність того, що координата X містить дане значення, оновлюється з використанням координати X і переставленої координати Y, а імовірність того, що координата Y містить дане значення, оновлюється з використанням координати Y і переставленої координати X. Наприклад, оновлена статистика може бути використана для того, щоб кодувати інформацію позиції останнього значущого коефіцієнта для подальших кодованих блоків відеоданих способом, описаним вище. Як один приклад, для того, щоб кодувати координати X і Y і переставлені координати X і Y на основі статистики, модуль 56 ентропійного кодування може бути виконаний з можливістю здійснювати процес контекстно-адаптивного ентропійного кодування (наприклад, САВАСпроцес), який включає в себе застосування за допомогою модуля 56 ентропійного кодування контекстної моделі, яка включає в себе статистику на основі щонайменше одного контексту. Наприклад, щонайменше один контекст може включати в себе одне з координат X і Y, переставлених координат X і Y і порядку сканування. Як згадано вище, на доповнення до CABAC, описані технології перестановки координат X і Y для цілей кодування також можуть бути використані в інших технологіях контекстно-адаптивного ентропійного кодування, таких як CAVLC, PIPE або інші технології контекстно-адаптивного ентропійного кодування. У цьому прикладі, модуль 56 ентропійного кодування може використовувати порядок сканування, наприклад, горизонтальний або вертикальний порядок сканування, для того, щоб вибирати конкретну контекстну модель, яка включає в себе статистику. Іншими словами, модуль 56 ентропійного кодування може вибирати ідентичну статистику для того, щоб кодувати координати X і Y при використанні першого порядку сканування для того, щоб кодувати блок, і кодувати переставлені координати X і Y при використанні другого порядку сканування для того, щоб кодувати блок. Крім того, у випадках, якщо одна координата (наприклад, координата Y) кодується після іншої координати (наприклад, координати X), модуль 56 ентропійного кодування може кодувати координату з використанням значення іншої раніше кодованої координати як контексту. Іншими словами, значення раніше кодованої однієї з координат X і Y або переставлених координат X і Y, залежно від порядку сканування, використовуваного для того, щоб кодувати блок, може бути використане для того, щоб додатково вибирати статистику в 19 UA 106162 C2 5 10 15 20 25 30 35 40 45 50 55 60 контекстній моделі, яка вказує імовірність того, що інша поточна кодована координата містить дане значення. Модуль 56 ентропійного кодування потім може використовувати вибрану статистику для того, щоб кодувати координати X і Y і переставлені координати X і Y за допомогою виконання процесу контекстно-адаптивного ентропійного кодування. Як також описано вище, в цьому прикладі, координати X і Y і переставлені координати X і Y можуть бути представлені з використанням унарного кодового слова, що містить послідовність з одного або більше елементів вибірки, тобто "перетворені в двійкову форму". У зв'язку з цим, для того, щоб кодувати координати X і Y і переставлені координати X і Y на основі статистики, модуль 56 ентропійного кодування може кодувати кожний елемент вибірки кодового слова, відповідного конкретній координаті, за допомогою виконання процесу контекстно-адаптивного ентропійного кодування. У цьому прикладі, статистика, включена в контекстну модель, яка вказує імовірність того, що координата містить дане значення, може включати в себе оцінки імовірності, які вказують імовірність того, що кожний елемент вибірки кодового слова, відповідного координаті, містить дане значення (наприклад, "0" або "1"). Крім того, статистика може включати в себе різні оцінки імовірності для кожного елемента вибірки кодового слова, залежно від позиції відповідного елемента вибірки в кодовому слові. У деяких прикладах, модуль 56 ентропійного кодування може визначати оцінки імовірності з використанням значень відповідних елементів вибірки для раніше кодованих блоків відеоданих, наприклад, елементів вибірки кодових слів, відповідних координатам X і Y і переставленим координатам X і Y для раніше кодованих блоків, наприклад, як частини визначення статистики на основі інформації позиції останнього значущого коефіцієнта для раніше кодованих блоків, як описано вище. У інших прикладах, модуль 56 ентропійного кодування також може оновлювати оцінки імовірності з використанням значення кожного елемента вибірки, наприклад, як частини оновлення статистики на основі координат X і Y і переставлених координат X і Y, як також описано вище. Модуль 56 ентропійного кодування може використовувати оцінки імовірності для того, щоб кодувати кожний елемент вибірки за допомогою виконання процесу контекстно-адаптивного ентропійного кодування. Як інший приклад, в деяких випадках, різні значення елемента вибірки унарного кодового слова для однієї координати (наприклад, X) можуть приводити до різних оцінок імовірності для відповідного елемента вибіркиунарного кодового слова для іншої координати (наприклад, Y). У зв'язку з цим, при кодуванні елемента вибірки унарного кодового слова для однієї координати з використанням оцінок імовірності, відповідних елементу вибірки, як описано вище, використання оцінок імовірності, які включають в себе інформацію відносно значення елемента вибірки, наприклад, відповідного елемента вибірки унарного кодового слова для іншої координати, може приводити до точності оцінок імовірності і, отже, може забезпечувати ефективне кодування. Наприклад, елемент вибірки унарного кодового слова для іншої координати може бути елементом вибірки, який відповідає елементу вибірки унарного кодового слова для однієї координати, наприклад, елементи вибірки можуть знаходитися в ідентичних або аналогічних позиціях елементів вибірки в своїх відповідних кодових словах. Кодування координат X і Y і переставлених координат X і Y (або координат X і Y, які, загалом, вказують інформацію позиції останнього значущого коефіцієнта для блока відеоданих) таким "перемежованим" способом з використанням раніше кодованих елементів вибірки як контекстів може давати можливість використання взаємної інформації відповідних координат X і Y, що може давати можливість більш ефективного кодування координат. У інших прикладах, модуль 56 ентропійного кодування може бути виконаний з можливістю кодувати координати X і Y і переставлені координати X і Y, загалом, перемежованим способом. У деяких прикладах, модуль 56 ентропійного кодування може бути виконаний з можливістю кодувати окремі елементи вибірки кодових слів для відповідних координат X і Y перемежованим способом. У інших прикладах, модуль 56 ентропійного кодування може бути виконаний з можливістю кодувати групи елементів вибірки кодових слів перемежованим способом. Наприклад, деякі елементи вибірки кодового слова для кожної з координат X і Y можуть бути кодовані з використанням першого режиму кодування (наприклад, режиму регулярного кодування), в той час як елементи вибірки кодового слова, що залишилися, можуть бути кодовані з використанням другого режиму кодування (наприклад, режиму обхідного кодування). У зв'язку з цим, модуль 56 ентропійного кодування може бути виконаний з можливістю кодувати один або більше елементів вибірки кодового слова, відповідного одній з координат, кодованих з використанням першого (наприклад, звичайного) режиму кодування, до кодування одного або більше елементів вибірки кодового слова, відповідного іншій координаті, кодованій з використанням першого режиму кодування, і подальшого кодування одного або більше елементів вибірки кодового слова, відповідного одній координаті, кодованій з використанням 20 UA 106162 C2 5 10 15 20 25 30 35 40 45 50 55 60 другого (наприклад, обхідного) режиму кодування, до кодування одного або більше елементів вибірки кодового слова, відповідного іншій координаті, кодованій з використанням другого режиму кодування. У інших прикладах, модуль 56 ентропійного кодування може бути виконаний з можливістю спільно кодувати елементи вибірки кодових слів, кодованих з використанням другого режиму кодування. Відповідно, розділення кодування елементів вибірки кодового слова для кожної з координат X і Y способом, описаним вище, може давати можливість групування елементів вибірки, кодованих з використанням конкретного режиму кодування (наприклад, обхідного режиму), що може підвищувати продуктивність кодування. Іншими словами, у випадках, якщо кожна з координат X і Y і переставлених координат X і Y містить послідовність з одного або більше елементів вибірки, модуль 56 ентропійного кодування може бути виконаний з можливістю кодувати координати X і Y і переставлені координати X і Y за допомогою виконання процесу контекстно-адаптивного ентропійного кодування, який включає в себе застосування контекстної моделі, яка включає в себе статистику на основі одних з координат X і Y і переставлених координат X і Y. Модуль 56 ентропійного кодування може бути виконаний з можливістю кодувати відповідні координати X і Y за допомогою кодування щонайменше одного елемента вибірки послідовності, відповідної одній з координат, за допомогою вибору статистики з контекстної моделі, щонайменше частково, на основі значення щонайменше одного елемента вибірки послідовності, що відповідає іншій координаті. Додатково, модуль 56 ентропійного кодування може бути виконаний з можливістю кодувати один або більше елементів вибірки послідовності, відповідної одній з координат, і один або більше елементів вибірки послідовності, що відповідає іншій координаті, перемежованим способом. Відповідно, щоб кодувати інформацію позиції останнього значущого коефіцієнта, модуль 56 ентропійного кодування може бути виконаний з можливістю кодувати координати X і Y і переставлені координати X і Y перемежованим способом з використанням раніше кодованих елементів вибірки як контекстів. Іншими словами, модуль 56 ентропійного кодування може бути виконаний з можливістю кодувати кожний елемент вибірки унарного кодового слова для даної координати за допомогою виконання процесу контекстно-адаптивного ентропійного кодування, який включає в себе застосування контекстної моделі на основі щонайменше одного контексту, при цьому щонайменше один контекст може включати в себе позицію елемента вибірки в унарному кодовому слові, як описано вище, і значення одного або більше раніше кодованих елементів вибірки унарного кодового слова для іншої координати. Додатково, модуль 56 ентропійного кодування може бути виконаний з можливістю кодувати координати X і Y і переставлені координати X і Y, загалом, перемежованим способом. Потрібно зазначити, що, в інших прикладах згідно з технологіями цього розкриття, можуть бути використані інші типи кодових слів, наприклад, зрізані унарні кодові слова, експонентні кодові слова Голомба, конкатеновані кодові слова, а також комбінації різних технологій кодування. Також потрібно зазначити, що, в деяких прикладах, модуль 56 ентропійного кодування може бути додатково виконаний з можливістю кодувати координати X і Y, коли порядок сканування містить третій порядок сканування. Наприклад, третій порядок сканування може відрізнятися від першого порядку сканування і другого порядку сканування. Як один приклад, третій порядок сканування може являти собою зигзагоподібний порядок сканування або діагональний порядок сканування, при цьому зигзагоподібний або діагональний порядок сканування також бере початок в загальній позиції в блоці, наприклад, в DC-позиції. У цьому прикладі, модуль 56 ентропійного кодування може бути додатково виконаний з можливістю кодувати інформацію, яка ідентифікує порядок сканування, тобто інформацію порядку сканування для блока. Альтернативно, як описано вище, модуль 56 ентропійного кодування може опускати кодування інформації порядку сканування для блока, коли модуль 56 ентропійного кодування використовує адаптивний порядок сканування для того, щоб кодувати блок. Додатково, в деяких випадках, модуль 56 ентропійного кодування може бути додатково виконаний з можливістю кодувати інформацію, яка ідентифікує позиції всіх інших значущих коефіцієнтів в блоці, тобто інформацію позиції значущих коефіцієнтів для блока. Наприклад, інформація позиції значущих коефіцієнтів для блока може бути представлена з використанням послідовності прапорів значущих коефіцієнтів, як описано вище. Як також описано вище, інформація позиції значущих коефіцієнтів може бути кодована за допомогою кодування кожного прапора значущого коефіцієнта послідовності за допомогою виконання процесу контекстно-адаптивного ентропійного кодування (наприклад, САВАС-процесу), який включає в себе застосування контекстної моделі на основі щонайменше одного контексту, при 21 UA 106162 C2 5 10 15 20 25 30 35 40 45 50 55 цьому щонайменше один контекст може включати в себе позицію прапора в блоці згідно з порядком сканування. Контекстна модель може включати в себе оцінки імовірності, які вказують імовірність того, що кожний прапор містить дане значення (наприклад, "0" або "1"). У деяких прикладах, модуль 56 ентропійного кодування може визначати оцінки імовірності з використанням значень відповідних прапорів значущих коефіцієнтів для раніше кодованих блоків відеоданих. У інших прикладах, модуль 56 ентропійного кодування також може оновлювати оцінки імовірності з використанням значення кожного прапора, щоб відображати імовірність того, що прапор містить дане значення. Наприклад, оновлені оцінки імовірності можуть бути використані для того, щоб кодувати інформацію позиції значущих коефіцієнтів для подальших кодованих блоків відеоданих способом, описаним вище. Як інший приклад, модуль 56 ентропійного кодування може бути виконаний з можливістю кодувати координати X і Y, які вказують позицію останнього значущого коефіцієнта в конкретному блоці відеоданих згідно з порядком сканування, асоційованим з блоком. Наприклад, порядок сканування може являти собою один з множини порядків сканування, при цьому кожний з множини порядків сканування бере початок в загальній позиції в блоці, наприклад, в DC-позиції. У цьому прикладі, для того, щоб кодувати координати X і Y, модуль 56 ентропійного кодування може бути виконаний з можливістю кодувати інформацію, яка вказує те, відповідає чи ні координата X загальній позиції, кодувати інформацію, яка вказує те, відповідає чи ні координата Y загальній позиції, а у випадку, якщо координата X не відповідає загальній позиції і координата Y не відповідає загальній позиції, кодувати інформацію, яка ідентифікує порядок сканування. Модуль 56 ентропійного кодування може бути додатково виконаний з можливістю, у випадку, якщо координата X не відповідає загальній позиції, кодувати координату X на основі порядку сканування, а у випадку, якщо координата Y не відповідає загальній позиції, кодувати координату Y на основі порядку сканування. У цьому прикладі, для того, щоб кодувати координату X і координату Y на основі порядку сканування, модуль 56 ентропійного кодування може бути виконаний з можливістю здійснювати процес контекстно-адаптивного ентропійного кодування (наприклад, САВАС-процес), який включає в себе застосування контекстної моделі за допомогою модуля 56 ентропійного кодування на основі щонайменше одного контексту. Наприклад, щонайменше один контекст може включати в себе порядок сканування. Додатково, як один приклад, модуль 56 ентропійного кодування може бути виконаний з можливістю кодувати одну координату (наприклад, координату Y) після іншої координати (наприклад, координати X), при цьому модуль 56 ентропійного кодування може бути виконаний з можливістю кодувати одну координату з використанням значення іншої раніше кодованої координати як контексту. Як інший приклад, коли кожна з координат X і Y містить послідовність з одного або більше елементів вибірки, модуль 56 ентропійного кодування може бути виконаний з можливістю кодувати щонайменше один елемент вибірки послідовності, відповідної одній з координат, за допомогою вибору статистики з контекстної моделі, щонайменше частково, на основі значення щонайменше одного елемента вибірки, наприклад, відповідного елемента вибірки, послідовності, що відповідає іншій координаті. Додатково, модуль 56 ентропійного кодування може бути виконаний з можливістю кодувати один або більше елементів вибірки послідовності, відповідної одній координаті, і один або більше елементів вибірки послідовності, що відповідає іншій координаті, перемежованим способом. У будь-якому випадку, після кодування інформації позиції останнього значущого коефіцієнта і, в деяких випадках, інформації порядку сканування і інформаціях позиції значущих коефіцієнтів, тобто SM-даних, для блока способом, описаним вище, модуль 56 ентропійного кодування також може кодувати значення кожного значущого коефіцієнта (наприклад, абсолютну величину і знак кожного значущого коефіцієнта, що указуються за допомогою елементів синтаксису "coeff_abs_level_minus1" і "coeff_sign_flag", відповідно) в блоці. Відповідно, технології цього розкриття можуть надавати можливість модулю 56 ентропійного кодування кодувати інформацію позиції останнього значущого коефіцієнта для блока більш ефективно, ніж при використанні інших способів, і можуть надавати можливість модулю 56 ентропійного кодування мати меншу складність відносно інших систем. Таким чином, може бути відносна економія бітів для кодованого потоку бітів, що включає в себе інформацію позиції останнього значущого коефіцієнта, і відносне зменшення складності для модуля 56 ентропійного кодування, використовуваного для того, щоб кодувати інформацію, при використанні технологій цього розкриття. 22 UA 106162 C2 5 10 15 20 25 30 35 40 45 50 55 60 Модуль 58 зворотного квантування і модуль 60 зворотного перетворення застосовують зворотне квантування і зворотне перетворення, відповідно, щоб відновлювати залишковий блок в піксельній області, наприклад, для подальшого використання як опорного блока. Модуль 44 компенсації руху може обчислювати опорний блок за допомогою додавання залишкового блока до прогнозного блока одного з кадрів запам'ятовуючого пристрою 64. Модуль 44 компенсації руху також може застосовувати один або більше інтерполяційних фільтрів до відновленого залишкового блока, щоб обчислювати значення субцілочислових пікселів для використання в оцінці руху. Суматор 62 підсумовує відновлений залишковий блок з прогнозним блоком з компенсацією руху, сформованим за допомогою модуля 44 компенсації руху, щоб сформувати відновлений відеоблок для зберігання в модулі 64 зберігання опорних кадрів. Відновлений відеоблок може використовуватися за допомогою модуля 42 оцінки руху і модуля 44 компенсації руху як опорний блок для того, щоб взаємно кодувати блок в подальшому відеокадрі. Таким чином, відеокодер 20 представляє приклад відеокодера, виконаного з можливістю кодувати координати X і Y, які вказують позицію останнього ненульового коефіцієнта в блоці відеоданих згідно з порядком сканування, асоційованим з блоком, коли порядок сканування містить перший порядок сканування, і кодувати переставлені координати X і Y, які вказують позицію останнього ненульового коефіцієнта в блоці згідно з порядком сканування, коли порядок сканування містить другий порядок сканування, при цьому другий порядок сканування відрізняється від першого порядку сканування. Фіг. 3 є блок-схемою, яка ілюструє приклад відеодекодера 30, який може реалізовувати технології для ефективного декодування кодованої інформації позиції останнього значущого коефіцієнта на основі інформації порядку сканування для блока відеоданих згідно з технологіями цього розкриття. У прикладі за фіг. 3, відеодекодер 30 включає в себе модуль 70 ентропійного декодування, модуль 72 компенсації руху, модуль 74 внутрішнього прогнозування, модуль 76 зворотного квантування, модуль 78 зворотного перетворення, запам'ятовуючий пристрій 82 і суматор 80. Відеодекодер 30 може, в деяких прикладах, виконувати прохід декодування, загалом, взаємно-зворотний відносно проходу кодування, описаного відносно відеокодера 20 (фіг. 2). Модуль 72 компенсації руху може формувати прогнозуючі дані на основі векторів руху, що приймаються з модуля 70 ентропійного декодування. У деяких прикладах, відеодекодер 30 може бути виконаний з можливістю приймати кодовані відеодані (наприклад, один або більше макроблоків або TU для CU) з відеокодера 20. Відповідно до технологій цього розкриття, як один приклад, модуль 70 ентропійного декодування може бути виконаний з можливістю декодувати координати X і Y, які вказують позицію останнього значущого коефіцієнта в конкретному блоці відеоданих згідно з порядком сканування, асоційованим з блоком, коли порядок сканування містить перший порядок сканування. Модуль 70 ентропійного декодування може бути додатково виконаний з можливістю декодувати переставлені координати X і Y, які вказують позицію останнього значущого коефіцієнта в блоці згідно з порядком сканування, коли порядок сканування містить другий порядок сканування. Наприклад, другий порядок сканування може відрізнятися від першого порядку сканування. У цьому прикладі, перший порядок сканування і другий порядок сканування можуть бути симетричними один відносно одного (або щонайменше частково симетричними). Наприклад, перший порядок сканування може являти собою горизонтальний порядок сканування, а другий порядок сканування може являти собою вертикальний порядок сканування, при цьому горизонтальний порядок сканування і вертикальний порядок сканування беруть початок в загальній позиції в блоці, наприклад, в DC-позиції. Зокрема, перший порядок сканування і другий порядок сканування можуть являти собою порядок сканування, який може бути використаний за допомогою модуля 70 ентропійного декодування для того, щоб декодувати блок. Наприклад, перший і другий порядки сканування можуть являти собою порядки сканування, використовувані за допомогою відеокодера 20 для того, щоб кодувати блоки відеоданих, і за допомогою відеодекодера 30 для того, щоб декодувати блоки у відповідній системі 10 кодування, що містить відеокодер 20 і відеодекодер 30. У деяких прикладах, перший і другий порядки сканування можуть являти собою тільки деякі порядки сканування, використовувані в системі 10 для того, щоб кодувати блоки. У інших прикладах, перший і другий порядки сканування можуть являти собою єдині порядки сканування, використовувані в системі 10 для того, щоб кодувати блоки. Крім того, переставлені координати X і Y також відповідають інформації позиції останнього значущого коефіцієнта для блока, але додатково обробляються, тобто переставляються, за допомогою модуля 70 ентропійного декодування, щоб забезпечувати більш ефективне 23 UA 106162 C2 5 10 15 20 25 30 35 40 45 50 55 60 декодування інформації, ніж при використанні інших технологій, як описано вище. Зокрема, переставлені координати X і Y можуть забезпечувати використання загальної статистики для того, щоб декодувати координати X і Y і переставлені координати X і Y, які вказують інформацію позиції останнього значущого коефіцієнта для блока, як також описано вище. У цьому прикладі, для того, щоб декодувати координати X і Y і переставлені координати X і Y, модуль 70 ентропійного декодування може бути додатково виконаний з можливістю визначати статистику, яка вказує імовірність того, що кожна з координат X і Y містить дане значення, при цьому декодування координат X і Y і переставлених координат X і Y включає декодування на основі статистики. Наприклад, імовірність того, що координата X містить дане значення, може бути використана для того, щоб декодувати координату X і переставлену координату Y, а імовірність того, що координата Y містить дане значення, може бути використана для того, щоб декодувати координату Y і переставлену координату X. Загалом, статистика може вказувати імовірність того, що дана позиція в блоці відповідає позиції останнього значущого коефіцієнта в блоці згідно з порядком сканування, коли порядок сканування містить перший порядок сканування. Зокрема, статистика може вказувати імовірність того, що координата, наприклад, координата X або Y, відповідна позиції останнього значущого коефіцієнта в блоці згідно з порядком сканування, коли порядок сканування містить перший порядок сканування, містить дане значення (наприклад, "0", "1", "2" і т. д.). Як описано вище, оскільки перший і другий порядки сканування можуть бути симетричними один відносно одного (або щонайменше частково симетричними), імовірність того, що координата X містить дане значення, коли порядок сканування містить перший порядок сканування, може бути ідентичною або аналогічною імовірності того, що координата Y містить ідентичне значення, коли порядок сканування містить другий порядок сканування, і навпаки. Аналогічно, імовірність того, що координата Y містить дане значення, коли порядок сканування містить перший порядок сканування, може бути ідентичною або аналогічною імовірності того, що координата X містить ідентичне значення, коли порядок сканування містить другий порядок сканування, і навпаки. Іншими словами, координати X і Y, коли порядок сканування містить перший порядок сканування, можуть мати ідентичну або аналогічну імовірність вмісту даного значення, як і переставлені координати X і Y, відповідно, коли порядок сканування містить другий порядок сканування. У зв'язку з цим, статистика додатково може вказувати імовірність того, що кожна з переставлених координат X і Y містить дане значення. У деяких прикладах, модуль 70 ентропійного декодування може визначати статистику з використанням інформації позиції останнього значущого коефіцієнта для раніше декодованих блоків відеоданих, наприклад, значень координат X і Y і переставлених координат X і Y для раніше декодованих блоків. Модуль 70 ентропійного декодування може бути додатково виконаний з можливістю оновлювати статистику на основі координат X і Y і переставлених координат X і Y. Наприклад, імовірність того, що координата X містить дане значення, може бути оновлена з використанням координати X і переставленої координати Y, а імовірність того, що координата Y містить дане значення, може бути оновлена з використанням координати Y і переставленої координати X. Наприклад, оновлена статистика може бути використана для того, щоб декодувати інформацію позиції останнього значущого коефіцієнта для подальших декодованих блоків відеоданих способом, описаним вище. Як один приклад, для того, щоб декодувати координати X і Y і переставлені координати X і Y на основі статистики, модуль 70 ентропійного декодування може бути виконаний з можливістю здійснювати процес контекстно-адаптивного ентропійного кодування (наприклад, САВАСпроцес), який включає в себе застосування за допомогою модуля 70 ентропійного декодування контекстної моделі, яка включає в себе статистику на основі щонайменше одного контексту. Наприклад, щонайменше один контекст може включати в себе одне з координат X і Y, переставлених координат X і Y і порядку сканування. Як згадано вище, на доповнення до CABAC, описані технології перестановки координат X і Y для цілей кодування також можуть бути використані в інших технологіях контекстно-адаптивного кодування, таких як CAVLC, PIPE або інші контекстно-адаптивні технології. У цьому прикладі, модуль 70 ентропійного декодування може використовувати порядок сканування, наприклад, горизонтальний або вертикальний порядок сканування, для того, щоб вибирати конкретну контекстну модель, яка включає в себе статистику. Іншими словами, модуль 70 ентропійного декодування може вибирати ідентичну статистику для того, щоб декодувати координати X і Y при використанні першого порядку сканування для того, щоб декодувати блок, і декодувати переставлені координати X і Y при використанні другого порядку сканування для того, щоб декодувати блок. Крім того, у випадках, якщо одна координата 24 UA 106162 C2 5 10 15 20 25 30 35 40 45 50 55 60 (наприклад, координата Y) декодується після іншої координати (наприклад, координати X), модуль 70 ентропійного декодування може декодувати координату з використанням значення іншої раніше декодованої координати як контексту. Іншими словами, значення раніше декодованої однієї з координат X і Y або переставлених координат X і Y, залежно від порядку сканування, використовуваного для того, щоб декодувати блок, може бути використане для того, щоб додатково вибирати статистику в контекстній моделі, яка вказує імовірність того, що інша поточна декодована координата містить дане значення. Модуль 70 ентропійного декодування потім може використовувати вибрану статистику для того, щоб декодувати координати X і Y і переставлені координати X і Y за допомогою виконання процесу контекстноадаптивного ентропійного кодування. Як також описано вище, в цьому прикладі, координати X і Y і переставлені координати X і Y можуть бути представлені з використанням унарного кодового слова, що містить послідовність з одного або більше елементів вибірки, тобто "перетворені в двійкову форму". У зв'язку з цим, для того, щоб декодувати координати X і Y і переставлені координати X і Y на основі статистики, модуль 70 ентропійного декодування може декодувати кожний елемент вибірки кодового слова, відповідного конкретній координаті, за допомогою виконання процесу контекстно-адаптивного ентропійного кодування. У цьому прикладі, статистика, включена в контекстну модель, яка вказує імовірність того, що координата містить дане значення, може включати в себе оцінки імовірності, які вказують імовірність того, що кожний елемент вибірки кодового слова, відповідного координаті, містить дане значення (наприклад, "0" або "1"). Крім того, статистика може включати в себе різні оцінки імовірності для кожного елемента вибірки кодового слова, залежно від позиції відповідного елемента вибірки в кодовому слові. У деяких прикладах, модуль 70 ентропійного декодування може визначати оцінки імовірності з використанням значень відповідних елементів вибірки для раніше декодованих блоків відеоданих, наприклад, елементів вибірки кодових слів, відповідних координатам X і Y і переставленим координатам X і Y для раніше декодованих блоків, наприклад, як частини визначення статистики на основі інформації позиції останнього значущого коефіцієнта для раніше декодованих блоків, як описано вище. У інших прикладах, модуль 70 ентропійного декодування також може оновлювати оцінки імовірності з використанням значення кожного елемента вибірки, наприклад, як частини оновлення статистики на основі координат X і Y і переставлених координат X і Y, як також описано вище. Модуль 70 ентропійного декодування може використовувати оцінки імовірності для того, щоб декодувати кожний елемент вибірки за допомогою виконання процесу контекстно-адаптивного ентропійного кодування. Як інший приклад, в деяких випадках, різні значення елемента вибірки унарного кодового слова для однієї координати (наприклад, X) можуть приводити до різних оцінок імовірності для відповідного елемента вибірки унарного кодового слова для іншої координати (наприклад, Y). У зв'язку з цим, при декодуванні елемента вибірки унарного кодового слова для однієї координати позиції останнього значущого коефіцієнта з використанням оцінок імовірності, відповідних елементу вибірки, як описано вище, використання оцінок імовірності, які включають в себе інформацію відносно значення елемента вибірки, наприклад, відповідного елемента вибірки унарного кодового слова для іншої координати, може приводити до точності оцінок імовірності і, отже, може забезпечувати ефективне декодування. Наприклад, елемент вибірки унарного кодового слова для іншої координати може бути елементом вибірки, який відповідає елементу вибірки унарного кодового слова для однієї координати, наприклад, елементи вибірки можуть знаходитися в ідентичних або аналогічних позиціях елементів вибірки в своїх відповідних кодових словах. Декодування координат X і Y і переставлених координат X і Y (або координат X і Y, які, загалом, вказують інформацію позиції останнього значущого коефіцієнта для блока відеоданих) таким "перемежованим" способом з використанням раніше декодованих елементів вибірки як контекстів може давати можливість використання взаємної інформації відповідних координат X і Y, що може давати можливість більш ефективного декодування координат. У інших прикладах, модуль 70 ентропійного декодування може бути виконаний з можливістю декодувати координати X і Y і переставлені координати X і Y, загалом, перемежованим способом. У деяких прикладах, модуль 70 ентропійного декодування може бути виконаний з можливістю декодувати окремі елементи вибірки кодових слів для відповідних координат X і Y перемежованим способом. У інших прикладах, модуль 70 ентропійного декодування може бути виконаний з можливістю декодувати групи елементів вибірки кодових слів перемежованим способом. Наприклад, деякі елементи вибірки кодового слова для кожної з координат X і Y можуть бути декодовані з використанням першого режиму кодування (наприклад, режиму регулярного кодування), в той час як елементи вибірки кодового слова, що залишилися, можуть 25 UA 106162 C2 5 10 15 20 25 30 35 40 45 50 55 60 бути декодовані з використанням другого режиму кодування (наприклад, режиму обхідного кодування). У зв'язку з цим, модуль 70 ентропійного декодування може бути виконаний з можливістю декодувати один або більше елементів вибірки кодового слова, відповідного одній з координат, кодованих з використанням першого (наприклад, звичайного) режиму кодування, до декодування одного або більше елементів вибірки кодового слова, відповідного іншій координаті, кодованій з використанням першого режиму кодування, і подальшого декодування одного або більше елементів вибірки кодового слова, відповідного одній координаті, кодованій з використанням другого (наприклад, обхідного) режиму кодування, до декодування одного або більше елементів вибірки кодового слова, відповідного іншій координаті, кодованій з використанням другого режиму кодування. У інших прикладах, модуль 70 ентропійного декодування може бути виконаний з можливістю спільно декодувати елементи вибірки кодових слів, кодованих з використанням другого режиму кодування. Відповідно, розділення декодування елементів вибірки кодового слова для кожної з координат X і Y способом, описаним вище, може давати можливість групування елементів вибірки, декодованих з використанням конкретного режиму кодування (наприклад, обхідного режиму), що також може підвищувати ефективність кодування. Іншими словами, у випадках, якщо кожна з координат X і Y і переставлених координат X і Y містить послідовність з одного або більше елементів вибірки, модуль 70 ентропійного декодування може бути виконаний з можливістю декодувати координати X і Y і переставлені координати X і Y за допомогою виконання процесу контекстно-адаптивного ентропійного кодування, який включає в себе застосування контекстної моделі, що включає в себе статистику на основі одних з координат X і Y і переставлених координат X і Y. Модуль 70 ентропійного декодування може бути виконаний з можливістю декодувати відповідні координати X і Y за допомогою декодування щонайменше одного елемента вибірки послідовності, відповідної одній з координат, за допомогою вибору статистики з контекстної моделі, щонайменше частково, на основі значення щонайменше одного елемента вибірки послідовності, що відповідає іншій координаті. Додатково, модуль 70 ентропійного декодування може бути виконаний з можливістю декодувати один або більше елементів вибірки послідовності, відповідної одній координаті, і один або більше елементів вибірки послідовності, що відповідає іншій координаті, перемежованим способом. Відповідно, щоб декодувати інформацію позиції останнього значущого коефіцієнта, модуль 70 ентропійного декодування може бути виконаний з можливістю декодувати координати X і Y і переставлені координати X і Y перемежованим способом з використанням раніше декодованих елементів вибірки як контекстів. Іншими словами, модуль 70 ентропійного декодування може бути виконаний з можливістю декодувати кожний елемент вибірки унарного кодового слова для даної координати за допомогою виконання процесу контекстно-адаптивного ентропійного кодування, який включає в себе застосування контекстної моделі на основі щонайменше одного контексту, при цьому щонайменше один контекст може включати в себе позицію елемента вибірки в унарному кодовому слові, як описано вище, і значення одного або більше раніше декодованих елементів вибірки унарного кодового слова для іншої координати. Додатково, модуль 56 ентропійного кодування може бути виконаний з можливістю кодувати координати X і Y і переставлені координати X і Y, загалом, перемежованим способом. Потрібно зазначити, що, в інших прикладах згідно з технологіями цього розкриття, можуть бути використані інші типи кодових слів, наприклад, зрізані унарні кодові слова, експонентні кодові слова Голомба, конкатеновані кодові слова, а також комбінації різних технологій кодування. Також потрібно зазначити, що, в деяких прикладах, модуль 70 ентропійного декодування може бути додатково виконаний з можливістю декодувати координати X і Y, коли порядок сканування містить третій порядок сканування. Наприклад, третій порядок сканування може відрізнятися від першого порядку сканування і другого порядку сканування. Як один приклад, третій порядок сканування може являти собою зигзагоподібний порядок сканування або діагональний порядок сканування, при цьому зигзагоподібний або діагональний порядок сканування також бере початок в загальній позиції в блоці, наприклад, в DC-позиції. У цьому прикладі, в деяких випадках, модуль 70 ентропійного декодування може бути додатково виконаний з можливістю декодувати інформацію, яка ідентифікує порядок сканування, тобто інформацію порядку сканування для блока. Альтернативно, як описано вище, модуль 70 ентропійного декодування може опускати декодування інформації порядку сканування для блока, коли модуль 70 ентропійного декодування використовує адаптивний порядок сканування для того, щоб декодувати блок. Додатково, в деяких випадках, модуль 70 ентропійного декодування може бути додатково виконаний з можливістю декодувати 26 UA 106162 C2 5 10 15 20 25 30 35 40 45 50 55 60 інформацію, яка ідентифікує позиції інших значущих коефіцієнтів в блоці, тобто інформацію позиції значущих коефіцієнтів для блока. Наприклад, інформація позиції значущих коефіцієнтів для блока може бути представлена з використанням послідовності прапорів значущих коефіцієнтів, як описано вище. Як також описано вище, інформація позиції значущих коефіцієнтів може бути декодована за допомогою декодування кожного прапора значущого коефіцієнта послідовності за допомогою виконання процесу контекстно-адаптивного ентропійного кодування (наприклад, САВАС-процесу), який включає в себе застосування контекстної моделі на основі щонайменше одного контексту, при цьому щонайменше один контекст може включати в себе позицію прапора в блоці згідно з порядком сканування. З іншого боку, контекстна модель може включати в себе оцінки імовірності, які вказують імовірність того, що кожний прапор містить дане значення (наприклад, "0" або "1"). У деяких прикладах, модуль 70 ентропійного декодування може визначати оцінки імовірності з використанням значень відповідних прапорів значущих коефіцієнтів для раніше декодованих блоків відеоданих. У інших прикладах, модуль 70 ентропійного декодування також може оновлювати оцінки імовірності з використанням значення кожного прапора, щоб відображати імовірність того, що прапор містить дане значення. Наприклад, оновлені оцінки імовірності можуть бути використані для того, щоб декодувати інформацію позиції значущих коефіцієнтів для подальших декодованих блоків відеоданих способом, описаним вище. Як інший приклад, модуль 70 ентропійного декодування може бути виконаний з можливістю декодувати координати X і Y, які вказують позицію останнього значущого коефіцієнта в конкретному блоці відеоданих згідно з порядком сканування, асоційованим з блоком. Наприклад, порядок сканування може являти собою один з множини порядків сканування, при цьому кожний з множини порядків сканування бере початок в загальній позиції в блоці, наприклад, в DC-позиції. У цьому прикладі, для того, щоб декодувати координати X і Y, модуль 70 ентропійного декодування може бути виконаний з можливістю декодувати інформацію, яка вказує те, відповідає чи ні координата X загальній позиції, декодувати інформацію, яка вказує те, відповідає чи ні координата Y загальній позиції, а у випадку, якщо координата X не відповідає загальній позиції і координата Y не відповідає загальній позиції, декодувати інформацію, яка ідентифікує порядок сканування. Модуль 70 ентропійного декодування може бути додатково виконаний з можливістю, у випадку, якщо координата X не відповідає загальній позиції, декодувати координату X на основі порядку сканування, а у випадку, якщо координата Y не відповідає загальній позиції, декодувати координату Y на основі порядку сканування. У цьому прикладі, для того, щоб декодувати координату X і координату Y на основі порядку сканування, модуль 70 ентропійного декодування може бути виконаний з можливістю здійснювати процес контекстно-адаптивного ентропійного кодування (наприклад, САВАСпроцес), який включає в себе застосування контекстної моделі за допомогою модуля 70 ентропійного декодування на основі щонайменше одного контексту. Наприклад, щонайменше один контекст може включати в себе порядок сканування. Додатково, як один приклад, модуль 70 ентропійного декодування може бути виконаний з можливістю декодувати одну координату (наприклад, координату Y) після іншої координати (наприклад, координати X), при цьому модуль 70 ентропійного декодування може бути виконаний з можливістю декодувати одну координату з використанням значення іншої раніше декодованої координати як контексту. Як інший приклад, коли кожна з координат X і Y містить послідовність з одного або більше елементів вибірки, модуль 70 ентропійного декодування може бути виконаний з можливістю декодувати щонайменше один елемент вибірки послідовності, відповідної одній з координат, за допомогою вибору статистики з контекстної моделі, щонайменше частково, на основі значення щонайменше одного елемента вибірки, наприклад, відповідного елемента вибірки, послідовності, що відповідає іншій координаті. Додатково, модуль 70 ентропійного декодування може бути виконаний з можливістю декодувати один або більше елементів вибірки послідовності, відповідної одній координаті, і один або більше елементів вибірки послідовності, що відповідає іншій координаті, перемежованим способом. У будь-якому випадку, після декодування інформації позиції останнього значущого коефіцієнта і, в деяких випадках, інформації порядку сканування і інформації позиції значущих коефіцієнтів, тобто SM-даних, для блока способом, описаним вище, модуль 70 ентропійного декодування також може декодувати значення кожного значущого коефіцієнта (наприклад, абсолютну величину і знак кожного значущого коефіцієнта, що указуються за допомогою елементів синтаксису "coeff_abs_level_minus1" і "coeff_sign_flag", відповідно) в блоці. 27 UA 106162 C2 5 10 15 20 25 30 35 40 45 50 55 60 Відповідно, технології даного розкриття можуть надавати можливість модулю 70 ентропійного декодування декодувати інформацію позиції останнього значущого коефіцієнта для блока більш ефективно, ніж при використанні інших способів, і можуть надавати можливість модулю 70 ентропійного декодування мати меншу складність відносно інших систем. Таким чином, може бути відносна економія бітів для кодованого потоку бітів, що включає в себе інформацію, і відносне зменшення складності для модуля 70 ентропійного декодування, використовуваного для того, щоб декодувати інформацію, при використанні технологій цього розкриття. Модуль 72 компенсації руху може використовувати вектори руху, прийняті в потоці бітів, щоб ідентифікувати прогнозний блок в опорних кадрах в запам'ятовуючому пристрої 82. Модуль 74 внутрішнього прогнозування може використовувати режими внутрішнього прогнозування, прийняті в потоці бітів, щоб формувати прогнозний блок з просторово суміжних блоків. Модуль 74 внутрішнього прогнозування може використовувати індикатор відносно режиму внутрішнього прогнозування для кодованого блока, щоб внутрішньо прогнозувати кодований блок, наприклад, з використанням пікселів сусідніх раніше декодованих блоків. Для прикладів, в яких блок кодується в режимі взаємного прогнозування, модуль 72 компенсації руху може приймати інформацію, що задає вектор руху, щоб витягувати дані прогнозування з компенсацією руху для кодованого блока. У будь-якому випадку, модуль 72 компенсації руху або модуль 74 внутрішнього прогнозування може надавати інформацію, що задає прогнозний блок, в суматор 80. Модуль 76 зворотного квантування зворотно квантує, тобто деквантує квантовані блокові коефіцієнти, які надаються в потоці бітів і декодовані за допомогою модуля 70 ентропійного декодування. Процес зворотного квантування може включати в себе стандартний процес, наприклад, як задано по стандарту декодування H.264 або як виконується за допомогою тестової моделі HEVC. Процес зворотного квантування також може включати в себе використання параметра QPY квантування, обчисленого за допомогою відеокодера 20 для кожного блока, щоб визначати міру квантування і, аналогічно, міру зворотного квантування, яке повинно застосовуватися. Модуль 78 зворотного перетворення застосовує зворотне перетворення, наприклад, зворотне DCT, зворотне цілочислове перетворення або концептуально аналогічний процес зворотного перетворення, до коефіцієнтів перетворення, щоб формувати залишкові блоки в піксельній області. Модуль 72 компенсації руху формує блоки з компенсацією руху, можливо виконуючи інтерполяцію на основі інтерполяційних фільтрів. Ідентифікатори для інтерполяційних фільтрів, які повинні використовуватися для оцінки руху з субпіксельною точністю, можуть бути включені в елементи синтаксису. Модуль 72 компенсації руху може використовувати інтерполяційні фільтри, використовувані за допомогою відеокодера 20 під час кодування відеоблока, щоб обчислювати інтерпольовані значення для субцілочислових пікселів опорного блока. Модуль 72 компенсації руху може визначати інтерполяційні фільтри, використовувані за допомогою відеокодера 20 згідно з синтаксичною інформацією, що приймається, і використовувати інтерполяційні фільтри, щоб формувати прогнозні блоки. Модуль 72 компенсації руху використовує частину з синтаксичної інформації для кодованого блока, щоб визначати розміри блоків, використовуваних для того, щоб кодувати кадр(и) кодованої відеопослідовності, інформації сегментів, яка описує, як сегментується кожний блок кадру або серія послідовних макроблоків кодованої відеопослідовності, режимів, що вказують те, як кодується кожний сегмент, одного або більше опорних кадрів (і списків опорних кадрів) для кожного взаємнокодованого блока або сегмента і іншої інформації, щоб декодувати кодовану відеопослідовність. Модуль 74 внутрішнього прогнозування також може використовувати синтаксичну інформацію для кодованого блока, щоб внутрішньо прогнозувати кодований блок, наприклад, з використанням пікселів сусідніх раніше декодованих блоків, як описано вище. Суматор 80 підсумовує залишкові блоки з відповідними прогнозними блоками, сформованими за допомогою модуля 72 компенсації руху або модуля 74 внутрішнього прогнозування, щоб формувати декодовані блоки. Якщо потрібно, фільтр видалення блочності також може бути застосований для того, щоб фільтрувати декодовані блоки, щоб видаляти артефакти блочності. Декодовані відеоблоки потім зберігаються в запам'ятовуючому пристрої 82, який надає опорні блоки для подальшої компенсації руху, а також формує декодоване відео для представлення на пристрої відображення (наприклад, пристрої 32 відображення за фіг. 1). Таким чином, відеодекодер 30 представляє приклад відеокодера, виконаного з можливістю кодувати координати X і Y, які вказують позицію останнього ненульового коефіцієнта в блоці відеоданих згідно з порядком сканування, асоційованим з блоком, коли порядок сканування 28
ДивитисяДодаткова інформація
Назва патенту англійськоюCoding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding
Автори англійськоюSole Rojals, Joel, Coban, Muhammed, Zeyd, Zheng, Yunfei, Joshi, Rajan Laxman, Karczewicz, Marta
Автори російськоюСоле Рохальс Хоель, Кобан Мухаммед Зейд, Чжен Юньфей, Джоши Раджан Лаксман, Карчевич Марта
МПК / Мітки
Мітки: відеоблоці, значущого, коефіцієнта, відео, останнього, порядку, позиції, основі, кодуванні, кодування, блока, сканування
Код посилання
<a href="https://ua.patents.su/70-106162-koduvannya-pozici-ostannogo-znachushhogo-koeficiehnta-u-videobloci-na-osnovi-poryadku-skanuvannya-dlya-bloka-pri-koduvanni-video.html" target="_blank" rel="follow" title="База патентів України">Кодування позиції останнього значущого коефіцієнта у відеоблоці на основі порядку сканування для блока при кодуванні відео</a>
Попередній патент: Секція кріплення сполучення
Наступний патент: Адаптивна обробка декількома вузлами обробки медіаданих
Випадковий патент: Підкладна платформа електронних ваг для зважування автотранспортних засобів (варіанти)