Окреме кодування позиції останнього значущого коефіцієнта відеоблока при кодуванні відео

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

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

Автори: Карчевіч Марта, Джоши Раджан Лаксман, Соле Рохальс Хоель

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

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

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

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

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

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

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

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

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

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

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

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

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

3. Спосіб за п. 1, в якому перша послідовність з одного або більше елементів вибірки і друга послідовність з одного або більше елементів вибірки, кожна, містять одне з унарного кодового слова, зрізаного унарного кодового слова, експоненціального кодового слова Голомба або конкатенованого кодового слова.

4. Спосіб за п. 3, в якому зрізане унарне кодове слово містить:

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

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

5. Спосіб за п. 3, в якому конкатеноване кодове слово містить конкатенацію першого кодового слова і другого кодового слова, при цьому перше кодове слово відрізняється від другого кодового слова.

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

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

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

щонайменше одного елемента вибірки другої послідовності.

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

10. Спосіб за п. 9, в якому кодування переміжним способом включає етап, на

якому:

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

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

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

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

кодують безперервну послідовність.

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

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

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

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

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

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

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

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

послідовності з одного або більше елементів вибірки, асоційованої з вертикальним компонентом, з використанням процесу контекстно-адаптивного двійкового декодування; і

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

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

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

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

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

15. Спосіб за п. 13, в якому перша послідовність з одного або більше елементів вибірки і друга послідовність з одного або більше елементів вибірки, кожна, містять одне з унарного кодового слова, зрізаного унарного кодового слова, експоненціального кодового слова Голомба або конкатенованого кодового слова.

16. Спосіб за п. 15, в якому зрізане унарне кодове слово містить:

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

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

17. Спосіб за п. 15, в якому конкатеноване кодове слово містить конкатенацію першого кодового слова і другого кодового слова, при цьому перше кодове слово відрізняється від другого кодового слова.

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

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

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

21. Спосіб за п. 13, в якому декодування горизонтальної координати і вертикальної координати включає етап, на якому декодують першу послідовність з одного або більше елементів вибірки і другу послідовність з одного або більше елементів вибірки переміжним способом.

22. Спосіб за п. 21, в якому декодування переміжним способом включає етап, на якому:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

26. Пристрій за п. 25, в якому блок включає перший блок, і порядок сканування включає перший порядок сканування, при цьому відеокодер додатково виконаний з можливістю:

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

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

27. Пристрій за п. 25, в якому перша послідовність з одного або більше елементів вибірки і друга послідовність з одного або більше елементів вибірки, кожна, містять одне з унарного кодового слова, зрізаного унарного кодового слова, експоненціального кодового слова Голомба або конкатенованого кодового слова.

28. Пристрій за п. 27, в якому зрізане унарне кодове слово містить:

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

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

29. Пристрій за п. 27, в якому конкатеноване кодове слово містить конкатенацію першого кодового слова і другого кодового слова, при цьому перше кодове слово відрізняється від другого кодового слова.

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

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

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

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

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

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

кодувати безперервну послідовність.

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

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

для кожної з однієї або більше груп, визначати те, є чи ні один або більше

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

розміщувати один або більше прапорів для однієї або більше груп в безперервній послідовності на основі порядку сканування; і кодувати безперервну послідовність.

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

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

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

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

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

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

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

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

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

36. Пристрій за п. 35, в якому блок включає перший блок, і порядок сканування включає перший порядок сканування, при цьому відеодекодер додатково виконаний з можливістю:

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

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

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

37. Пристрій за п. 35, в якому перша послідовність з одного або більше елементів вибірки і друга послідовність з одного або більше елементів вибірки, кожна, містять одне з унарного кодового слова, зрізаного унарного кодового слова, експоненціального кодового слова Голомба або конкатенованого кодового слова.

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

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

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

39. Пристрій за п. 37, в якому конкатеноване кодове слово містить конкатенацію першого кодового слова і другого кодового слова, при цьому перше кодове слово відрізняється від другого кодового слова.

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

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

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

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

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

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

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

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

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

45. Пристрій за п. 35, при цьому пристрій містить щонайменше одне з наступного:

інтегральну схему;

мікропроцесор; або

пристрій бездротового зв′язку, що включає в себе відеодекодер.

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

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

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

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

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

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

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

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

47. Пристрій за п. 46, в якому блок включає перший блок, і порядок сканування включає перший порядок сканування, причому пристрій додатково містить:

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

засіб для перетворення безперервної послідовності в перший блок з використанням першого порядку сканування, щоб формувати перший блок.

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

експоненціального кодового слова Голомба або конкатенованого кодового слова.

49. Пристрій за п. 48, в якому зрізане унарне кодове слово містить:

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

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

50. Пристрій за п. 48, в якому конкатеноване кодове слово містить конкатенацію першого кодового слова і другого кодового слова, при цьому перше кодове слово відрізняється від другого кодового слова.

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

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

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

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

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

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

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

55. Пристрій за п. 46, в якому засіб для кодування інформації, яка ідентифікує позиції інших ненульових коефіцієнтів в блоці, містить:

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

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

засіб для розміщення одного або більше прапорів для однієї або більше груп в безперервній послідовності на основі порядку сканування; і засіб для кодування безперервної послідовності.

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

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

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

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

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

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

57. Пристрій за п. 56, в якому блок включає перший блок, і порядок сканування включає перший порядок сканування, при цьому пристрій додатково містить:

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

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

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

58. Пристрій за п. 56, в якому перша послідовність з одного або більше елементів вибірки і друга послідовність з одного або більше елементів вибірки, кожна, містять одне з унарного кодового слова, зрізаного унарного кодового слова, експоненціального кодового слова Голомба або конкатенованого кодового слова.

59. Пристрій за п. 58, в якому зрізане унарне кодове слово містить:

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

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

60. Пристрій за п. 58, в якому конкатеноване кодове слово містить конкатенацію першого кодового слова і другого кодового слова, при цьому перше кодове слово відрізняється від другого кодового слова.

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

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

63. Пристрій за п. 56, в якому засіб для декодування горизонтальної координати і вертикальної координати містить засіб для декодування першої послідовності з одного або більше елементів вибірки і другої послідовності з одного або більше елементів вибірки переміжним способом.

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

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

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

65. Пристрій за п. 56, в якому засіб для декодування інформації, яка ідентифікує позиції інших ненульових коефіцієнтів в блоці, містить:

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

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

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

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

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

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

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

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

67. Машиночитаний носій за п. 66, в якому блок включає перший блок, і порядок сканування включає перший порядок сканування, який додатково містить інструкції, які інструктують процесору:

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

сканування відрізняється від першого порядку сканування; і

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

68. Машиночитаний носій за п. 66, в якому перша послідовність з одного або більше елементів вибірки і друга послідовність з одного або більше елементів вибірки, кожна, містять одне з унарного кодового слова, зрізаного унарного кодового слова, експоненціального кодового слова Голомба або конкатенованого кодового слова.

69. Машиночитаний носій за п. 68, в якому зрізане унарне кодове слово містить:

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

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

70. Машиночитаний носій за п. 68, в якому конкатеноване кодове слово містить конкатенацію першого кодового слова і другого кодового слова, при цьому перше кодове слово відрізняється від другого кодового слова.

71. Машиночитаний носій за п. 66, в якому інструкції, які інструктують процесору кодувати горизонтальну координату і вертикальну координату, містять інструкції, які інструктують процесору кодувати щонайменше один елемент вибірки першої послідовності з одного або більше елементів вибірки, щонайменше частково, на основі значення щонайменше одного елемента вибірки другої послідовності з одного або більше елементів вибірки.

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

одного елемента вибірки другої послідовності.

73. Машиночитаний носій за п. 66, в якому інструкції, які інструктують процесору кодувати горизонтальну координату і вертикальну координату, містять інструкції, які інструктують процесору кодувати першу послідовність з одного або більше елементів вибірки і другу послідовність з одного або більше елементів вибірки переміжним способом.

74. Машиночитаний носій за п. 66, в якому порядок сканування включає перший порядок сканування, при цьому інструкції додатково інструктують процесору:

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

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

кодувати безперервну послідовність.

75. Машиночитаний носій за п. 66, в якому інструкції додатково інструктують процесору:

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

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

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

розміщувати один або більше прапорів для однієї або більше груп в безперервній послідовності на основі порядку сканування; і кодувати безперервну послідовність.

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

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

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

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

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

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

77. Машиночитаний носій за п. 76, в якому блок включає перший блок, і порядок сканування включає перший порядок сканування, додатково містить інструкції, які інструктують процесору:

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

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

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

78. Машиночитаний носій за п. 76, в якому перша послідовність з одного або більше елементів вибірки і друга послідовність з одного або більше елементів вибірки, кожна, містять одне з унарного кодового слова, зрізаного унарного кодового слова, експоненціального кодового слова Голомба або конкатенованого кодового слова.

79. Машиночитаний носій за п. 78, в якому зрізане унарне кодове слово містить:

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

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

80. Машиночитаний носій за п. 78, в якому конкатеноване кодове слово містить конкатенацію першого кодового слова і другого кодового слова, при цьому перше кодове слово відрізняється від другого кодового слова.

81. Машиночитаний носій за п. 76, в якому інструкції, які інструктують процесору декодувати горизонтальну координату і вертикальну координату, містять інструкції, які інструктують процесору декодувати щонайменше один елемент вибірки першої послідовності з одного або більше елементів вибірки, щонайменше частково, на основі значення щонайменше одного елемента вибірки другої послідовності з одного або більше елементів вибірки.

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

83. Машиночитаний носій за п. 76, в якому інструкції, які інструктують процесору декодувати горизонтальну координату і вертикальну координату, містять інструкції, які інструктують процесору декодувати першу послідовність з одного або більше елементів вибірки і другу послідовність з одного або більше елементів вибірки переміжним способом.

84. Машиночитаний носій за п. 76, в якому порядок сканування включає перший порядок сканування, при цьому інструкції додатково інструктують процесору:

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

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

85. Машиночитаний носій за п. 76, в якому інструкції додатково інструктують процесору:

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

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

Текст

Реферат: UA 109684 C2 (12) UA 109684 C2 Розкритий пристрій для кодування коефіцієнтів, асоційованих з блоком відеоданих, під час процесу кодування відео, при цьому пристрій включає в себе відеокодер, виконаний з можливістю кодувати інформацію, яка ідентифікує позицію останнього ненульового коефіцієнта в блоці згідно з порядком сканування, асоційованим з блоком, до кодування інформації, яка ідентифікує позиції інших ненульових коефіцієнтів в блоці, що включає в себе щонайменше одне з наступного: кодування одновимірної позиції в блоці, яка ідентифікує позицію останнього ненульового коефіцієнта; кодування двовимірної позиції в блоці, яка ідентифікує позицію останнього ненульового коефіцієнта, і кодування прапора, який вказує на те, знаходиться чи ні останній ненульовий коефіцієнт в рамках діапазону позицій в блоці, і кодування одновимірної позиції, коли останній ненульовий коефіцієнт знаходиться в рамках діапазону, і в іншому випадку кодування двовимірної позиції. UA 109684 C2 5 10 15 20 25 30 35 40 45 50 55 Дана заявка заявляє на пріоритет попередньої заявки на патент (США) № 61/419740, поданої 3 грудня 2010 року, вміст якої повністю міститься в даному документі по посиланню. Галузь техніки, до якої належить винахід Дане розкриття суті стосується кодування відео, а більш конкретно, кодування синтаксичної інформації, пов'язаної з коефіцієнтами відеоблока. Рівень техніки Підтримка цифрового відео може бути включена в широкий діапазон пристроїв, що включають в себе цифрові телевізійні приймачі, системи цифрової прямої широкомовної передачі, бездротові широкомовні системи, персональні цифрові пристрої (PDA), переносні або настільні комп'ютери, планшетні комп'ютери, пристрої для читання електронних книг, цифрові камери, цифрові записуючі пристрої, цифрові мультимедійні програвачі, пристрої відеогри, консолі для відеогри, стільникові або супутникові радіотелефони, так звані "смартфони", пристрої відеоконференцзв'язку, пристрої потокової передачі відео і т. п. Цифрові відеопристрої реалізовують такі технології стиснення відео, як технології стиснення відео, описані в стандартах, заданих за допомогою розроблюваних в цей час стандартів MPEG-2, MPEG-4, ITUT H.263, ITU-T H.264/MPEG-4, частина 10, вдосконалене кодування відео (AVC), стандарту високоефективного кодування відео (HEVC), і розширень таких стандартів. Відеопристрої можуть передавати, приймати, кодувати, декодувати і/або зберігати цифрову відеоінформацію більш ефективно за допомогою реалізації таких технологій стиснення відео. Технології стиснення відео виконують просторове (внутрішньокадрове) прогнозування і/або часове (міжкадрове) прогнозування для того, щоб зменшувати або видаляти надмірність, внутрішньо властиву у відеопослідовностях. Для блокового кодування відео серія послідовних відеомакроблоків (тобто відеокадр або частина відеокадру) може бути сегментована на відеоблоки, які також можуть згадуватися як деревовидні блоки, одиниці кодування (CU) і/або вузли кодування. Відеоблоки в серії внутрішньо кодованих послідовних (I-) макроблоків зображення кодуються з використанням просторового прогнозування відносно опорних вибірок в сусідніх блоках в ідентичному зображенні. Відеоблоки в серії взаємно кодованих послідовних (Р- або В-) макроблоків зображення можуть використовувати просторове прогнозування відносно опорних вибірок в сусідніх блоках в ідентичному зображенні або часове прогнозування відносно опорних вибірок в інших опорних зображеннях. Зображення можуть згадуватися як кадри, і опорні зображення можуть згадуватися як опорні кадри. Просторове або часове прогнозування приводить до прогнозного блока для блока, який повинен бути кодований. Залишкові дані представляють піксельні різниці між вихідним блоком, який повинен бути кодований, і прогнозним блоком. Взаємно кодований блок кодується згідно з вектором руху, який вказує на блок опорних вибірок, що формують прогнозний блок, і залишковим даним, який вказує різницю між кодованим блоком і прогнозним блоком. Внутрішньо кодований блок кодується згідно з режимом внутрішнього кодування і залишковими даними. Для додаткового стиснення залишкові дані можуть бути перетворені з піксельної області в область перетворення, приводячи до залишкових коефіцієнтів перетворення, які потім можуть бути квантовані. Квантовані коефіцієнти перетворення, що спочатку розміщуються в двовимірному масиві, можуть скануватися для того, щоб формувати одновимірний вектор коефіцієнтів перетворення, і може застосовуватисяентропійне кодування з тим, щоб досягати ще більшого стиснення. Суть винаходу Це розкриття суті описує технології для кодування коефіцієнтів, асоційованих з блоком відеоданих, під час процесу кодування відео. Технології включають в себе кодування інформації, яка ідентифікує позицію останнього ненульового або "значущого" коефіцієнта в блоці згідно з порядком сканування, асоційованим з блоком, тобто інформації позиції останнього значущого коефіцієнта для блока, до кодування інформації, яка ідентифікує позиції інших значущих коефіцієнтів в блоці, тобто інформації позиції значущих коефіцієнтів для блока. Технології додатково включають в себе кодування інформації позиції останнього значущого коефіцієнта для блока за допомогою виконання щонайменше одного з наступного: кодування одновимірної позиції в блоці, яка ідентифікує позицію останнього значущого коефіцієнта в блоці згідно з порядком сканування; кодування двовимірної позиції в блоці, яка ідентифікує позицію останнього значущого коефіцієнта в блоці згідно з порядком сканування; і кодування прапора, який вказує те, знаходиться чи ні останній значущий коефіцієнт в блоці згідно з порядком сканування в рамках діапазону позицій в блоці, і кодування одновимірної позиції в блоці, коли останній значущий коефіцієнт в блоці згідно з порядком сканування знаходиться в рамках діапазону, і в іншому випадку кодування двовимірної позиції в блоці. 1 UA 109684 C2 5 10 15 20 25 30 35 40 45 50 55 Технології цього розкриття суті можуть давати можливість системам кодування мати меншу складність відносно інших систем і можуть забезпечувати більш ефективні способи кодування відносно інших способів при кодуванні інформації позиції останнього значущого коефіцієнта для блока і інформації позиції значущих коефіцієнтів для блока. Кодування інформації позиції останнього значущого коефіцієнта до кодування інформації позиції значущих коефіцієнтів має ефект розділення цих етапів кодування, що може забезпечувати паралельне кодування інформації і може забезпечувати використання систем кодування, які мають меншу складність відносно інших систем, наприклад, систем, які кодують інформацію переміжним способом. Додатково, доступність інформації позиції останнього значущого коефіцієнта до кодування інформації позиції значущих коефіцієнтів може забезпечувати використання інформації позиції останнього значущого коефіцієнта, щоб кодувати саму інформацію і іншу інформацію для блока. У деяких прикладах, інформація позиції останнього значущого коефіцієнта може бути використана як контекст для кодування самої інформації і для кодування інформації позиції значущих коефіцієнтів, наприклад, при виконанні процесу контекстно-адаптивного ентропійного кодування (наприклад, процесу контекстно-адаптивного двійкового арифметичного кодування (CABAC)), який включає в себе застосування контекстної моделі на основі контексту. Таке використання інформації позиції останнього значущого коефіцієнта може приводити до використання точної статистики для того, щоб кодувати саму інформацію і кодувати інформацію позиції значущих коефіцієнтів, що може забезпечувати більш ефективне кодування інформації, наприклад, з використанням меншого числа бітів, ніж при використанні інших способів. У інших прикладах, інформація позиції останнього значущого коефіцієнта може бути використана як синтаксична інформація для кодування самої інформації і для кодування інформації позиції значущих коефіцієнтів, що може, крім іншого, забезпечувати використання систем кодування, які мають меншу складність відносно інших систем, і більш ефективних способів кодування відносно інших способів. Як один приклад, інформація позиції останнього значущого коефіцієнта може бути використана для того, щоб визначати те, як сама інформація повинна бути кодована, наприклад, з використанням різних технологій для того, щоб кодувати інформацію залежно від позиції останнього значущого коефіцієнта в блоці згідно з порядком сканування, що може забезпечувати більш ефективне кодування інформації, ніж при використанні інших способів. Як інший приклад, інформація позиції останнього значущого коефіцієнта може бути використана для того, щоб визначати контекст для кодування інформації позиції значущих коефіцієнтів, наприклад, при виконанні процесу контекстно-адаптивного ентропійного кодування (наприклад, САВАС-процесу), який включає в себе застосування контекстної моделі на основі контексту. Наприклад, значущість коефіцієнтів, розташованих перед останнім значущим коефіцієнтом в блоці згідно з порядком сканування, може бути кодована в зворотному порядку сканування, починаючи з останнього значущого коефіцієнта і рухаючись до першого коефіцієнта в порядку сканування. У цьому прикладі, значущість кожного коефіцієнта може бути кодована за допомогою використання значущості раніше кодованих коефіцієнтів як контексту, що може приводити до використання точної статистики для того, щоб кодувати інформацію позиції значущих коефіцієнтів, і забезпечувати більш ефективне кодування інформації, ніж при використанні інших способів. Як ще один інший приклад, інформація позиції останнього значущого коефіцієнта може бути використана для того, щоб спільно кодувати інформацію позиції значущих коефіцієнтів. Наприклад, інформація позиції значущих коефіцієнтів може бути кодована за допомогою розміщення декількох коефіцієнтів, розташованих перед останнім значущим коефіцієнтом в блоці згідно з порядком сканування, в одній або більше групах і спільне кодування значущості коефіцієнтів в кожній групі. Таке використання інформації позиції останнього значущого коефіцієнта може забезпечувати паралельне кодування самої інформації позиції значущих коефіцієнтів, що може, крім іншого, забезпечувати використання систем кодування, які мають меншу складність, ніж інші системи, і більш ефективне кодування інформації, ніж при використанні інших способів. Технології цього розкриття суті можуть бути використані в будь-якій технології контекстноадаптивного ентропійного кодування, що включає в себе CABAC, ентропійне кодування з сегментуванням на інтервали імовірності (PIPE) або іншу технологію контекстно-адаптивного ентропійного кодування. CABAC описується в цьому розкритті суті з метою ілюстрації, але без обмеження відносно технологій, широко описаних в цьому розкритті суті. Крім того, технології можуть, загалом, застосовуватися до кодування інших типів даних, наприклад, в доповнення до відеоданих. 2 UA 109684 C2 5 10 15 20 25 30 35 40 45 50 55 60 Відповідно, технології цього розкриття суті можуть забезпечувати використання систем кодування, які мають меншу складність відносно інших систем, і більш ефективних способів кодування відносно інших способів при кодуванні інформації позиції останнього значущого коефіцієнта для блока і інформації позиції значущих коефіцієнтів для блока. Таким чином, може бути відносна економія бітів для кодованого потоку бітів, що включає в себе інформацію, і відносне зменшення складності для системи, що використовується для того, щоб кодувати інформацію, при використанні технологій цього розкриття суті. У одному прикладі, спосіб кодування коефіцієнтів, асоційованих з блоком відеоданих, під час процесу кодування відео включає в себе кодування інформації, яка ідентифікує позицію останнього ненульового коефіцієнта в блоці згідно з порядком сканування, асоційованим з блоком, до кодування інформації, яка ідентифікує позиції інших ненульових коефіцієнтів в блоці, при цьому кодування інформації, яка ідентифікує позицію останнього ненульового коефіцієнта в блоці згідно з порядком сканування, включає в себе щонайменше одне з наступного: кодування одновимірної позиції в блоці, яка ідентифікує позицію останнього ненульового коефіцієнта в блоці згідно з порядком сканування; кодування двовимірної позиції в блоці, яка ідентифікує позицію останнього ненульового коефіцієнта в блоці згідно з порядком сканування; і кодування прапора, який вказує те, знаходиться чи ні останній ненульовий коефіцієнт в блоці згідно з порядком сканування в рамках діапазону позицій в блоці, і кодування одновимірної позиції в блоці, коли останній ненульовий коефіцієнт в блоці згідно з порядком сканування знаходиться в рамках діапазону, і в іншому випадку кодування двовимірної позиції в блоці. У іншому прикладі, пристрій для кодування коефіцієнтів, асоційованих з блоком відеоданих, під час процесу кодування відео включає в себе відеокодер, виконаний з можливістю кодувати інформацію, яка ідентифікує позицію останнього ненульового коефіцієнта в блоці згідно з порядком сканування, асоційованим з блоком, до кодування інформації, яка ідентифікує позиції інших ненульових коефіцієнтів в блоці, при цьому для того, щоб кодувати інформацію, яка ідентифікує позицію останнього ненульового коефіцієнта в блоці згідно з порядком сканування, відеокодер виконаний з можливістю здійснювати щонайменше одне з наступного: кодувати одновимірну позицію вблоці, яка ідентифікує позицію останнього ненульового коефіцієнта в блоці згідно з порядком сканування; кодувати двовимірну позицію в блоці, яка ідентифікує позицію останнього ненульового коефіцієнта в блоці згідно з порядком сканування; і кодувати прапор, який вказує те, знаходиться чи ні останній ненульовий коефіцієнт в блоці згідно з порядком сканування в рамках діапазону позицій в блоці, і кодувати одновимірну позицію в блоці, коли останній ненульовий коефіцієнт в блоці згідно з порядком сканування знаходиться в рамках діапазону, і в іншому випадку кодувати двовимірну позицію в блоці. У іншому прикладі, пристрій для кодування коефіцієнтів, асоційованих з блоком відеоданих, під час процесу кодування відео включає в себе засіб для кодування інформації, яка ідентифікує позицію останнього ненульового коефіцієнта в блоці згідно з порядком сканування, асоційованим з блоком, до кодування інформації, яка ідентифікує позиції інших ненульових коефіцієнтів в блоці, при цьому засіб для кодування інформації, яка ідентифікує позицію останнього ненульового коефіцієнта в блоці згідно з порядком сканування, включає в себе щонайменше одне з наступного: засіб для кодування одновимірної позиції в блоці, яка ідентифікує позицію останнього ненульового коефіцієнта в блоці згідно з порядком сканування; засіб для кодування двовимірної позиції в блоці, яка ідентифікує позицію останнього ненульового коефіцієнта в блоці згідно з порядком сканування; і засіб для кодування прапора, який вказує те, знаходиться чи ні останній ненульовий коефіцієнт в блоці згідно з порядком сканування в рамках діапазону позицій в блоці, і кодування одновимірної позиції в блоці, коли останній ненульовий коефіцієнт в блоці згідно з порядком сканування знаходиться в рамках діапазону, і у іншому випадку кодування двовимірної позиції в блоці. Технології, описані в даному розкритті суті, можуть бути реалізовані в апаратних засобах, програмному забезпеченні, мікропрограмному забезпеченні або в комбінаціях вищезазначеного. При реалізації в апаратних засобах, пристрій може бути здійснений як інтегральна схема, процесор, дискретна логіка або будь-яка комбінація вищезазначеного. При реалізації в програмному забезпеченні, програмне забезпечення може виконуватися в одному або більше процесорах, таких як мікропроцесор, спеціалізована інтегральна схема (ASIC), програмована користувачем вентильна матриця (FPGA) або процесор цифрових сигналів (DSP). Програмне забезпечення, яке виконує технології, може бути спочатку збережене на матеріальному машиночитаному носії і завантажене і приведене у виконання в процесорі. Відповідно, це розкриття суті також розглядає машиночитаний носій, що містить інструкції, які при виконанні інструктують процесору кодувати інформацію, яка ідентифікує позицію останнього ненульового коефіцієнта в блоці згідно з порядком сканування, асоційованим з 3 UA 109684 C2 5 10 15 20 25 30 35 40 45 50 55 60 блоком, до кодування інформації, яка ідентифікує позиції інших ненульових коефіцієнтів в блоці, при цьому інструкції, які інструктують процесору кодувати інформацію, яка ідентифікує позицію останнього ненульового коефіцієнта в блоці згідно з порядком сканування, включають в себе інструкції, які інструктують процесору виконувати щонайменше одне з наступного: кодувати одновимірну позицію в блоці, яка ідентифікує позицію останнього ненульового коефіцієнта в блоці згідно з порядком сканування; кодувати двовимірну позицію в блоці, яка ідентифікує позицію останнього ненульового коефіцієнта в блоці згідно з порядком сканування; і кодувати прапор, який вказує те, знаходиться чи ні останній ненульовий коефіцієнт в блоці згідно з порядком сканування в рамках діапазону позицій в блоці, і кодувати одновимірну позицію в блоці, коли останній ненульовий коефіцієнт в блоці згідно з порядком сканування знаходиться в рамках діапазону, і в іншому випадку кодувати двовимірну позицію в блоці. Подробиці одного або більше прикладів викладені на прикладених кресленнях і в нижчеприведеному описі. Інші ознаки, цілі і переваги повинні ставати очевидними з опису і креслень і з формули винаходу. Короткий опис креслень Фіг. 1 є блок-схемою, яка ілюструє приклад системи кодування і декодування відео, яка може реалізовувати технології для кодування інформації позиції останнього значущого коефіцієнта для блока відеоданих до кодування інформації позиції значущих коефіцієнтів для блока, згідно з технологіями цього розкриття суті. Фіг. 2 є блок-схемою,яка ілюструє приклад відеокодера, який може реалізовувати технології для кодування інформації позиції останнього значущого коефіцієнта для блока відеоданих до кодування інформації позиції значущих коефіцієнтів для блока, згідно з технологіями цього розкриття суті. Фіг. 3 є блок-схемою, яка ілюструє приклад відеодекодера, який може реалізовувати технології для декодування кодованої інформації позиції останнього значущого коефіцієнта для блока відеоданих до декодування кодованої інформації позиції значущих коефіцієнтів для блока, згідно з технологіями цього розкриття суті. Фіг. 4A-4C є концептуальними схемами, які ілюструють приклад блока відеоданих і відповідної інформації позиції значущих коефіцієнтів і інформації позиції останнього значущого коефіцієнта. Фіг. 5A-5C є концептуальними схемами, які ілюструють приклади блоків відеоданих, сканованих з використанням зигзагоподібного порядку сканування, горизонтального порядку сканування і вертикального порядку сканування. Фіг. 6A-6B є концептуальними схемами, які ілюструють приклади інформації позиції останнього значущого коефіцієнта для блоків відеоданих. Фіг. 7 є блок-схемою послідовності операцій способу, яка ілюструє приклад способу для кодування інформації позиції останнього значущого коефіцієнта для блока відеоданих до кодування інформації позиції значущих коефіцієнтів для блока. Фіг. 8 є блок-схемою послідовності операцій способу, яка ілюструє приклад способу для кодування інформації позиції останнього значущого коефіцієнта для блока відеоданих до кодування інформації позиції значущих коефіцієнтів для блока. Фіг. 9 є блок-схемою послідовності операцій способу, яка ілюструє приклад способу для декодування кодованої інформації позиції останнього значущого коефіцієнта для блока відеоданих до декодування кодованої інформації позиції значущих коефіцієнтів для блока. Докладний опис винаходу Це розкриття суті описує технології для кодування коефіцієнтів, асоційованих з блоком відеоданих, під час процесу кодування відео. Технології включають в себе кодування інформації, яка ідентифікує позицію останнього ненульового або "значущого" коефіцієнта в блоці згідно з порядком сканування, асоційованим з блоком, тобто інформації позиції останнього значущого коефіцієнта для блока, до кодування інформації, яка ідентифікує позиції інших значущих коефіцієнтів в блоці, тобто інформації позиції значущих коефіцієнтів для блока. Технології додатково включають в себе кодування інформації позиції останнього значущого коефіцієнта для блока за допомогою виконання щонайменше одного з наступного: кодування одновимірної позиції в блоці, яка ідентифікує позицію останнього значущого коефіцієнта в блоці згідно з порядком сканування; кодування двовимірної позиції в блоці, яка ідентифікує позицію останнього значущого коефіцієнта в блоці згідно з порядком сканування; і кодування прапора, який вказує те, знаходиться чи ні останній значущий коефіцієнт в блоці згідно з порядком сканування в рамках діапазону позицій в блоці, і кодування одновимірної позиції в блоці, коли останній значущий коефіцієнт в блоці згідно з порядком сканування знаходиться в рамках діапазону, і в іншому випадку кодування двовимірної позиції в блоці. 4 UA 109684 C2 5 10 15 20 25 30 35 40 45 50 55 60 Технології цього розкриття суті можуть давати можливість системам кодування мати меншу складність відносно інших систем і можуть забезпечувати більш ефективні способи кодування відносно інших способів при кодуванні інформації позиції останнього значущого коефіцієнта для блока і інформації позиції значущих коефіцієнтів для блока. У цьому розкритті суті, термін "кодування" (coding) означає кодування (encoding), яке здійснюється в кодері, або декодування, яке здійснюється в декодері. Аналогічно, термін "кодер" (coder) означає кодер (encoder), декодер або комбінований кодер/декодер ("кодек"). Терміни кодер (coder), кодер (encoder), декодер і кодек означають конкретні машини, спроектовані з можливістю кодування (coding) (кодування (encoding) і/або декодування) відеоданих відповідно до цього розкриття суті. Кодування інформації позиції останнього значущого коефіцієнта для блока до кодування інформації позиції значущих коефіцієнтів для блока має ефект розділення цих етапів кодування, що може забезпечувати паралельне кодування інформації і може забезпечувати використання систем кодування, які мають меншу складність, ніж інші системи. Наприклад, замість кодування інформації переміжним способом, наприклад, за допомогоюкодування прапора значущого коефіцієнта і подальшого кодування прапора останнього значущого коефіцієнта для кожного коефіцієнта блока згідно з порядком сканування, що виконується згідно з деякими технологіями, технології цього розкриття суті розділяють кодування інформації. У зв'язку з цим, використання технологій цього розкриття суті може забезпечувати кодування інформації з використанням паралельних алгоритмів кодування і може приводити до використання систем кодування, які мають меншу складність, ніж інші системи, щоб кодувати інформацію. Додатково, доступність інформації позиції останнього значущого коефіцієнта до кодування інформації позиції значущих коефіцієнтів може забезпечувати використання інформації позиції останнього значущого коефіцієнта, щоб кодувати саму інформацію і іншу інформацію для блока. У деяких прикладах, інформація позиції останнього значущого коефіцієнта може бути використана як контекст для кодування самої інформації і для кодування інформації позиції значущих коефіцієнтів, наприклад, при виконанні процесу контекстно-адаптивного ентропійного кодування (наприклад, процесу контекстно-адаптивного двійкового арифметичного кодування (CABAC)), який включає в себе застосування контекстної моделі на основі контексту. Таке використання інформації позиції останнього значущого коефіцієнта може приводити до використання точної статистики для того, щоб кодувати саму інформацію і кодувати інформацію позиції значущих коефіцієнтів, що може забезпечувати більш ефективне кодування інформації, наприклад, з використанням меншого числа бітів, ніж при використанні інших способів. Наприклад, контекстна модель може надавати статистику або оцінки імовірності для інформації позиції останнього значущого коефіцієнта або інформації позиції значущих коефіцієнтів, що використовується для того, щоб кодувати інформацію як частину виконання процесу контекстно-адаптивного ентропійного кодування, наприклад, САВАС-процесу. Крім того, оцінки імовірності для контекстної моделі можуть бути оновлені на основі кодованої інформації, щоб відображати те, яка інформація позиції останнього значущого коефіцієнта або інформація позиції значущих коефіцієнтів з більшою або меншою імовірністю повинна виникати з урахуванням контексту. Зокрема, оновлені оцінки імовірності для контекстної моделі можуть використовуватися для кодування подальших блоків відеоданих з використанням ідентичної контекстної моделі. У інших прикладах, інформація позиції останнього значущого коефіцієнта може бути використана як синтаксична інформація для кодування самої інформації і для кодування інформації позиції значущих коефіцієнтів, що може, крім іншого, забезпечувати використання систем кодування, які мають меншу складність, ніж інші системи, і більш ефективних способів кодування, ніж інші способи. Як один приклад, інформація позиції останнього значущого коефіцієнта може бути використана як синтаксична інформація для того, щоб визначати те, як сама інформація повинна бути кодована, наприклад, з використанням різних технологій для того, щоб кодувати інформацію залежно від позиції останнього значущого коефіцієнта в блоці згідно з порядком сканування, що може забезпечувати більш ефективне кодування інформації, ніж при використанні інших способів. Наприклад, в деяких випадках, значущі коефіцієнти, що включають в себе останній значущий коефіцієнт блока, можуть бути сконцентровані в піднаборі позицій блоків, наприклад, на початку в порядку сканування, в той час як в інших випадках, коефіцієнти можуть знаходитися у всьому блоці, наприклад, по всьому або більшій частині порядку сканування. У цьому прикладі, кодування одновимірної позиції може вимагати використання меншого числа бітів, ніж кодування двовимірної позиції, коли останній значущий коефіцієнт знаходиться на початку в порядку сканування. Аналогічно, кодування двовимірної позиції може 5 UA 109684 C2 5 10 15 20 25 30 35 40 45 50 55 60 вимагати використання меншого числа бітів, ніж кодування одновимірної позиції, коли останній значущий коефіцієнт знаходиться далі в порядку сканування. Замість кодування інформації позиції останнього значущого коефіцієнта з використанням фіксованого способу, наприклад, за допомогою кодування одновимірної позиції або двовимірної позиції, технології цього розкриття суті можуть кодувати прапор, який вказує те, знаходиться чи ні останній значущий коефіцієнт в рамках діапазону позицій в блоці. Наприклад, діапазон може відповідати позиціям в блоці, які знаходяться практично на початку в порядку сканування. Технології додатково можуть кодувати одновимірну позицію, коли останній значущий коефіцієнт знаходиться в рамках діапазону, і в іншому випадку кодувати двовимірну позицію. Таке використання інформації позиції останнього значущого коефіцієнта може забезпечувати більш ефективне кодування інформації, ніж при використанні фіксованого способу або інших способів. Як інший приклад, інформація позиції останнього значущого коефіцієнта може бути використана як синтаксична інформація для того, щоб визначати контекст для кодування інформації позиції значущих коефіцієнтів, наприклад, при виконанні процесу контекстноадаптивного ентропійного кодування (наприклад, САВАС-процесу), який включає в себе застосування контекстної моделі на основі контексту. Наприклад, значущість коефіцієнтів, розташованих перед останнім значущим коефіцієнтом в блоці згідно з порядком сканування, може бути кодована в зворотному порядку сканування, починаючи з останнього значущого коефіцієнта і рухаючись до першого коефіцієнта в порядку сканування. У цьому прикладі, значущість кожного коефіцієнта може бути кодована за допомогою використання значущості раніше кодованих коефіцієнтів як контекст, що може приводити до використання точної статистики або оцінок імовірності для того, щоб кодувати інформацію позиції значущих коефіцієнтів, і забезпечувати більш ефективне кодування інформації, ніж при використанні інших способів. Як ще один інший приклад, інформація позиції останнього значущого коефіцієнта може бути використана як синтаксична інформація для того, щоб спільно кодувати інформацію позиції значущих коефіцієнтів. Наприклад, інформація позиції значущих коефіцієнтів може бути кодована за допомогою розміщення декількох коефіцієнтів, розташованих перед останнім значущим коефіцієнтом в блоці згідно з порядком сканування, в одній або більше групах і спільне кодування значущості коефіцієнтів в кожній групі. Таке використання інформації позиції останнього значущого коефіцієнта може забезпечувати паралельне кодування самої інформації позиції значущих коефіцієнтів, що може, крім іншого, забезпечувати використання систем кодування, які мають меншу складність, ніж інші системи, і більш ефективне кодування інформації, ніж при використанні інших способів. Технології цього розкриття суті можуть бути використані в будь-якій технології контекстноадаптивного ентропійного кодування, що включає в себе CABAC, ентропійне кодування з сегментуванням на інтервали імовірності (PIPE) або іншу технологію контекстно-адаптивного ентропійного кодування. CABAC описується в цьому розкритті суті з метою ілюстрації, але без обмеження відносно технологій, широко описаних в цьому розкритті суті. Крім того, технології можуть, загалом, застосовуватися до кодування інших типів даних, наприклад, в доповнення до відеоданих. Відповідно, технології цього розкриття суті можуть забезпечувати використання систем кодування, які мають меншу складність відносно інших систем, і більш ефективних способів кодування відносно інших способів при кодуванні інформації позиції останнього значущого коефіцієнта для блока і інформації позиції значущих коефіцієнтів для блока. Таким чином, може бути відносна економія бітів для кодованого потоку бітів, що включає в себе інформацію, і відносне зменшення складності для системи, що використовується для того, щоб кодувати інформацію, при використанні технологій цього розкриття суті. Фіг. 1 є блок-схемою, яка ілюструє приклад системи 10 кодування і декодування відео, яка може реалізовувати технології для кодування інформації позиції останнього значущого коефіцієнта для блока відеоданих до кодування інформації позиції значущих коефіцієнтів для блока, згідно з технологіями цього розкриття суті. Як показано на фіг. 1, система 10 включає в себе вихідний пристрій 12, який передає кодоване відео в цільовий пристрій 14 через канал 16 зв'язку. Вихідний пристрій 12 і цільовий пристрій 14 можуть містити будь-який з широкого діапазону пристроїв. У деяких випадках, вихідний пристрій 12 і цільовий пристрій 14 можуть містити пристрої бездротового зв'язку, такі як бездротові переносні телефони, так звані стільникові або супутникові радіотелефони або будь-які бездротові пристрої, які можуть передавати відеоінформацію по каналу 16 зв'язку, коли канал 16 зв'язку є бездротовим. Проте, технології цього розкриття суті, які пов'язані з кодуванням інформації позиції останнього значущого коефіцієнта для блока відеоданих до кодування інформації позиції 6 UA 109684 C2 5 10 15 20 25 30 35 40 45 50 55 60 значущих коефіцієнтів для блока, не обов'язково обмежені додатками або настройками бездротового зв'язку. Ці технології можуть, загалом, застосовуватися до будь-якого сценарію, в якому виконується кодування або декодування, що включає в себе широкомовні телепередачі по радіоінтерфейсу, кабельні телепередачі, супутникові телепередачі, потокові передачі відео по Інтернету, кодоване цифрове відео, яке кодується на носій зберігання даних або витягується і декодується з носія зберігання даних, або інші сценарії. Відповідно, канал 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, наприклад, для потокової передачі відео, відтворення відео, широкомовної передачі відео або відеотелефонії. Відеоджерело вихідного пристрою 12 може включати в себе пристрій відеозахоплення, такий як відеокамера, відеоархів, що містить раніше захоплене відео, і/або відеопередачу від постачальника відеовмісту. Як додаткова альтернатива, відеоджерело може формувати основані на комп'ютерній графіці дані як вихідне відео або комбінацію відео, що передається вживу, архівного відео і машиногенерованого відео. У деяких випадках, якщо відеоджерелом є відеокамера, вихідний пристрій 12 і цільовий пристрій 14 можуть формувати так звані камерофони або відеофони. Проте, як згадано вище, технології, описані в цьому розкритті суті, можуть бути застосовним до кодування відео загалом і можуть застосовуватися до бездротових і/або дротових варіантів застосування. У кожному випадку, захоплене, заздалегідь захоплене або машиногенероване відео може бути кодоване за допомогою відеокодера 20. Кодована відеоінформація потім може бути модульована за допомогою модему 22 згідно зі стандартом зв'язку і передана в цільовий пристрій 14 через передавальний пристрій 24. Модем 22 може включати в себе різні мікшери, фільтри, підсилювачі або інші компоненти, спроектовані з можливістю модуляції сигналів. Передавальний пристрій 24 може включати в себе схеми, розроблені для передачі даних, в тому числі підсилювачі, фільтри і одну або більше антен. Приймальний пристрій 26 цільового пристрою 14 приймає інформацію по каналу 16, і модем 28 демодулює інформацію. З іншого боку, процес кодування відео, описаний вище, може реалізовувати одну або більше технологій, описаних в даному документі, щоб кодувати інформацію позиції останнього значущого коефіцієнта для блока відеоданих до кодування інформації позиції значущих коефіцієнтів для блока. Інформація, що передається по каналу 16, може включати в себе синтаксичну інформацію, задану за допомогою відеокодера 20, яка також використовується за допомогою відеодекодера 30, яка включає в себе елементи синтаксису, які описують характеристики і/або обробку блоків відеоданих (наприклад, макроблоків або одиниць кодування), наприклад, інформацію позиції останнього значущого коефіцієнта і інформацію позиції значущих коефіцієнтів для блоків, а також іншу інформацію. Пристрій 32 відображення відображає декодований відеодані користувачеві і може містити будь-який з множини пристроїв 7 UA 109684 C2 5 10 15 20 25 30 35 40 45 50 55 60 відображення, таких як дисплей на електронно-променевій трубці (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). Відеокодер 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 8 UA 109684 C2 5 10 15 20 25 30 35 40 45 50 55 60 пікселів. Загалом, блок 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), цілочисельне перетворення, вейвлет-перетворення або концептуально аналогічне перетворення, до залишкових даних для даного відеоблока, при цьому залишкові дані представляють піксельні різниці між відеоданими для блока і прогнозуючими даними, сформованими для блока. У деяких випадках, відеоблоки можуть містити блоки квантованих коефіцієнтів перетворення в області перетворення, при цьому після застосування перетворення до залишкових даних для даного відеоблока, результуючі коефіцієнти перетворення також квантуються. Сегментація на блоки служить важливій меті в технологіях блокового кодування відео. Використання меншого числа блоків для того, щоб кодувати відеодані, може приводити до кращого прогнозування даних для місцеположень відеокадра, які включають в себе високі рівні деталізування, і, отже, може зменшувати результуючу помилку (тобто відхилення прогнозуючих даних від вихідних відеоданих), представлену як залишкові дані. Проте, при потенційному зменшенні залишкових даних такі технології можуть вимагати додаткової синтаксичної інформації, щоб вказувати те, як менші блоки сегментуються відносно відеокадра, і можуть приводити до збільшеної швидкості передачі кодованих відеобітів. Відповідно, в деяких технологіях, сегментація на блоки може залежати від балансування необхідного зменшення залишкових даних щодо результуючого збільшення швидкості передачі бітів кодованих відеоданих внаслідок додаткової синтаксичної інформації. Загалом, блоки і різні їх сегменти (тобто субблоки) можуть вважатися відеоблоками. Крім цього, серія послідовних макроблоків може вважатися множиною відеоблоків (наприклад, макроблоків або одиниць кодування) і/або субблоків (сегментів макроблоків або субодиниць кодування). Кожна серія послідовних макроблоків може бути незалежно декодованою одиницею відеокадра. Альтернативно, самі кадри можуть бути декодованими одиницями, або інші частини кадру можуть бути задані як декодовані одиниці. Крім того, 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 розбиття, включає в себе чотири дочірні вузли, кожний з яких 9 UA 109684 C2 5 10 15 20 25 30 35 40 45 50 55 60 відповідає одній з суб-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, можуть поділятися на менші одиниці з використанням структури у вигляді дерева квадрантів, відомої як "залишкове дерево квадрантів" (RQT). У цьому випадку, кінцеві вузли RQT можуть згадуватися як TU, для яких можуть бути перетворені і квантовані відповідні залишкові вибірки. Після внутрішнього прогнозуючого або взаємного прогнозуючого кодування для того, щоб формувати прогнозуючі дані і залишкові дані, і після перетворень (таких як цілочисельне перетворення 4×4 або 8×8, що використовується в H.264/AVC, або дискретне косинусне перетворення (DCT)) для того, щоб формувати коефіцієнти перетворення, може бути виконано квантування коефіцієнтів перетворення. Квантування, загалом, означає процес, в якому коефіцієнти перетворення квантуються, щоб, можливо, зменшувати об'єм даних, що використовуються для того, щоб представляти коефіцієнти. Процес квантування може зменшувати бітову глибину, асоційовану з деякими або всіма коефіцієнтами. Наприклад, nбітове значення може бути округлене в меншу сторону до m-бітового значення в ході квантування, при цьому n більше m. Після квантування може бути виконане ентропійне кодування квантованих даних (тобто квантованих коефіцієнтів перетворення). Ентропійне кодування може відповідати технологіям цього розкриття суті відносно кодування інформації позиції останнього значущого коефіцієнта для блока відеоданих до кодування інформації позиції значущих коефіцієнтів для блока, а також може використовувати інші технології ентропійного кодування, такі як контекстно-адаптивне кодування змінної довжини (CAVLC), CABAC, PIPE або інша технологія ентропійного кодування. Наприклад, значення коефіцієнтів, представлені як абсолютні величини і відповідні знаки (наприклад, "+1", або "-1") для квантованих коефіцієнтів перетворення, можуть бути кодовані з використанням технологій ентропійного кодування. Потрібно зазначити, що прогнозування, перетворення і квантування, описані вище, можуть бути виконані для будь-якого блока відеоданих, наприклад, для PU і/або TU для CU або для макроблока, залежно від вказаного стандарту кодування. Відповідно, технології цього розкриття суті, пов'язані з кодуванням інформації позиції останнього значущого коефіцієнта для блока відеоданих до кодування інформації позиції значущих коефіцієнтів для блока, можуть застосовуватися до будь-якого блока відеоданих, наприклад, до будь-якого блока квантованих 10 UA 109684 C2 5 10 15 20 25 30 35 40 45 50 55 60 коефіцієнтів перетворення, що включає в себе макроблок або 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-кодування. Іншими словами, сканування може перетворювати в послідовну форму двовимірний блок коефіцієнтів в одновимірне представлення, щоб визначати значущість коефіцієнтів. Можуть бути використані різні порядки сканування (наприклад, зигзагоподібний, горизонтальний і вертикальний). Фіг. 5A-5C, також детальніше описані нижче, ілюструють приклади деяких з різних порядків сканування, які можуть використовуватися для блоків 8×8 відеоданих. Проте, технології цього розкриття суті також можуть застосовуватися відносно множини інших порядків сканування, що включають в себе діагональний порядок сканування, порядки сканування, які є комбінаціями зигзагоподібного, горизонтального, вертикального і/або діагонального порядку сканування, а також порядки сканування, які є частково зигзагоподібними, частково горизонтальними, частково вертикальними і/або частково діагональними. Крім цього, технології цього розкриття суті також можуть розглядати порядок сканування, який є адаптивним на основі статистики, асоційованої з раніше кодованими блоками відеоданих (наприклад, блоками, що мають розмір блока або режим кодування, ідентичний розміру блока або режиму кодування кодованого поточного блока). Наприклад, в деяких випадках порядок адаптивного сканування може бути порядком сканування, асоційованим з блоком. З урахуванням прапора кодованого блока, яке вказує те, що щонайменше один значущий коефіцієнт існує в даному блоці, і порядку сканування для блока, SM для блока може бути кодований таким чином. Двовимірний блок квантованих коефіцієнтів перетворення може спочатку перетворюватися в одновимірну матрицю з використанням порядку сканування. Для кожного коефіцієнта в матриці згідно з порядком сканування, може бути кодований однобітовий прапор значущого коефіцієнта (наприклад, згідно з елементом синтаксису "significant_coeff_flag"). Іншими словами, кожній позиції в матриці може призначатися двійкове значення, яке може задаватися рівним "1", якщо відповідний коефіцієнт є значущим, і задаватися рівним "0", якщо він є незначущим (тобто нульовим). Якщо даний прапор значущого коефіцієнта дорівнює "1", що вказує те, що відповідний коефіцієнт є значущим, також може бути кодований додатковий однобітовий прапор останнього значущого коефіцієнта (наприклад, згідно з елементом синтаксису "last_significant_coeff_flag"), який може вказувати те, є чи ні 11 UA 109684 C2 5 10 15 20 25 30 35 40 45 50 55 60 відповідний коефіцієнт останнім значущим коефіцієнтом в матриці (тобто в блоці з урахуванням порядку сканування). Зокрема, кожний прапор останнього значущого коефіцієнта може задаватися рівним "1", якщо відповідний коефіцієнт є останнім значущим коефіцієнтом в матриці, і задаватися рівним "0" в іншому випадку. Якщо остання позиція матриці досягається таким чином, і процес SM-кодування не завершений за допомогою прапора останнього значущого коефіцієнта, який дорівнює "1", то останній коефіцієнт в матриці (і внаслідок цього блок з урахуванням порядку сканування) може логічно виводитися як значущий, і прапор останнього значущого коефіцієнта не може бути кодований для останньої позиції матриці. Фіг. 4B-4C є концептуальними схемами, які ілюструють приклади наборів прапорів значущих коефіцієнтів і прапорів останніх значущих коефіцієнтів, відповідно, згідно з SM-даними для блока, проілюстрованого на фіг. 4A, представленого в формі карти, а не в формі матриці. Потрібно зазначити, що прапори значущих коефіцієнтів і прапори останніх значущих коефіцієнтів, як описано вище, можуть задаватися рівними різним значенням (наприклад, прапор значущого коефіцієнта може задаватися рівним "0", якщо відповідний коефіцієнт є значущим, і "1", якщо він є незначущим, і прапор останнього значущого коефіцієнта може задаватися рівним "0", якщо відповідний коефіцієнт є останнім значущим коефіцієнтом, і "1", якщо він не є останнім значущим коефіцієнтом) в інших прикладах. Після того, як SM кодується, як описано вище, значення кожного значущого коефіцієнта (тобто абсолютна величина і знак кожного значущого коефіцієнта, наприклад, що указуються за допомогою елементів синтаксису "coeff_abs_level_minus1" і "coeff_sign_flag", відповідно) в блоці також може бути кодовано. Один недолік технологій, описаних вище, полягає в тому, що рішення відносно кодування інформації позиції останнього значущого коефіцієнта, наприклад, last_significant_coeff_flag, для конкретного коефіцієнта блока залежить від відповідної інформації позиції значущих коефіцієнтів цього коефіцієнта, наприклад, significant_coeff_flag. Як результат використання технологій переміжного кодування, описаних вище, відеокодер, що використовується для того, щоб кодувати інформацію, може мати велику складність відносно інших систем. Крім того, інформація позиції останнього значущого коефіцієнта і інформація позиції значущих коефіцієнтів можуть використовувати високий процент від загальної швидкості передачі стиснених відеобітів при неефективному кодуванні, наприклад, з використанням контекстних моделей, що містять неточну статистику, при кодуванні інформації за допомогою виконання процесу контекстно-адаптивного ентропійного кодування, наприклад, САВАС-процесу або без використання іншої корисної синтаксичної інформації. Отже, належне проектування і застосування контекстної моделі і використання іншої корисної синтаксичної інформації є дуже важливим для досягнення ефективного кодування інформації позиції останнього значущого коефіцієнта і інформації позиції значущих коефіцієнтів і для ефективного повного стиснення відеоданих. Відповідно, це розкриття суті описує технології, які можуть забезпечувати використання систем кодування, які мають меншу складність (і/або поліпшене стиснення) відносно інших систем при кодуванні інформації позиції останнього значущого коефіцієнта і інформації позиції значущих коефіцієнтів, і більш ефективне кодування інформації, ніж при використанні інших способів. Зокрема, це розкриття суті надає технології для кодування інформації позиції останнього значущого коефіцієнта для блока відеоданих до кодування інформації позиції значущих коефіцієнтів для блока. Кодування інформації позиції останнього значущого коефіцієнта для блока до кодування інформації позиції значущих коефіцієнтів для блока має ефект розділення цих етапів кодування, що може забезпечувати паралельне кодування інформації і може забезпечувати використання систем кодування, які мають меншу складність, ніж інші системи. Додатково, це розкриття суті надає технології для використання інформації позиції останнього значущого коефіцієнта, щоб кодувати саму інформацію і інформацію позиції значущих коефіцієнтів. У деяких прикладах, інформація позиції останнього значущого коефіцієнта може бути використана як контекст для кодування самої інформації і для кодування інформації позиції значущих коефіцієнтів, наприклад, при виконанні процесу контекстноадаптивного ентропійного кодування (наприклад, САВАС-процесу), який включає в себе застосування контекстної моделі на основі контексту. У інших прикладах, інформація позиції останнього значущого коефіцієнта може бути використана як синтаксична інформація для кодування самої інформації і для кодування інформації позиції значущих коефіцієнтів. Як один приклад, відеокодер 20 вихідного пристрою 12 може бути виконаний з можливістю кодувати певні блоки відеоданих (наприклад, один або більше макроблоків або TU для CU), і відеодекодер 30 цільового пристрою 14 може бути виконаний з можливістю приймати кодовані 12 UA 109684 C2 5 10 15 20 25 30 35 40 45 50 55 60 відеодані з відеокодера 20, наприклад, з модему 28 і приймального пристрою 26. Відповідно до технологій цього розкриття суті, як один приклад, відеокодер 20 і/або відеодекодер 30 може бути виконаний з можливістю кодувати інформацію, яка ідентифікує позицію останнього значущого коефіцієнта в блоці згідно з порядком сканування, асоційованим з блоком, до кодування інформації, яка ідентифікує позиції інших значущих коефіцієнтів в блоці, при цьому для того, щоб кодувати інформацію, яка ідентифікує позицію останнього значущого коефіцієнта в блоці згідно з порядком сканування, відеокодер 20 і/або відеодекодер 30 може бути виконаний з можливістю здійснювати щонайменше одне з наступного: кодувати одновимірну позицію в блоці, яка ідентифікує позицію останнього значущого коефіцієнта в блоці згідно з порядком сканування; кодувати двовимірну позицію в блоці, яка ідентифікує позицію останнього значущого коефіцієнта в блоці згідно з порядком сканування; і кодувати прапор, який вказує те, знаходиться чи ні останній значущий коефіцієнт в блоці згідно з порядком сканування в рамках діапазону позицій в блоці, і кодувати одновимірну позицію в блоці, коли останній значущий коефіцієнт в блоці згідно з порядком сканування знаходиться в рамках діапазону, і в іншому випадку кодувати двовимірну позицію в блоці. Як один приклад, для того, щоб кодувати одновимірну позицію в блоці, відеодекодер 20 і/або відеодекодер 30 може бути виконаний з можливістю кодувати інформацію позиції останнього значущого коефіцієнта з використанням порядку сканування. Наприклад, відеокодер 20 і/або відеодекодер 30 може кодувати біт або "елемент вибірки" для кожного з одного або більше коефіцієнтів в порядку сканування, починаючи з першого коефіцієнта в порядку сканування і закінчуючи останнім значущим коефіцієнтом. У цьому прикладі, відеокодер 20 і/або відеодекодер 30 може кодувати кожний елемент вибірки за допомогою виконання процесу контекстно-адаптивного ентропійного кодування (наприклад, САВАС-процесу), який включає в себе застосування контекстної моделі на основі щонайменше одного контексту, при цьому щонайменше один контекст може включати в себе позицію коефіцієнта, відповідного елементу вибірки в блоці згідно з порядком сканування. Оцінки імовірності для контекстної моделі, що використовується для того, щоб кодувати кожний елемент вибірки, можуть вказувати імовірність рівності елемента вибірки конкретному значенню (наприклад, "0" або "1"). Як інший приклад, для того, щоб кодувати двовимірну позицію в блоці, відеокодер 20 і/або відеодекодер 30 може бути виконаний з можливістю використовувати інформацію позиції останнього значущого коефіцієнта як контекст для кодування самої інформації. У наступних прикладах, двовимірна позиція може містити горизонтальну і вертикальну координати (наприклад, координати X і Y) позиції останнього значущого коефіцієнта в блоці, при цьому горизонтальна координата відповідає номеру стовпця позиції, а вертикальна координата відповідає номеру рядка позиції. Наприклад, номери рядків і стовпців можуть бути відносно номерів рядків і стовпців, відповідних вихідній позиції або позиції "початку координат" в блоці, наприклад, позиції верхнього лівого блока, яка також називається "DC-позицією". Додатково, в наступних прикладах, кожна координата може представлятися як послідовність з одного або більше елементів вибірки або "перетворюватися в двійкову форму", при цьому послідовність містить унарне кодове слово, яке включає в себе один або більше елементів вибірки. Крім того, оцінки імовірності для контекстної моделі, що використовується для того, щоб кодувати кожний елемент вибірки, можуть вказувати імовірність рівності елемента вибірки конкретному значенню (наприклад, "0" або "1"). У цих прикладах, кожний елемент вибірки даного унарного кодового слова може відповідати номеру рядка або стовпця, починаючи з рядка або стовпця позиції початку координат в блоці і закінчуючи рядком або стовпцем, відповідним позиції останнього значущого коефіцієнта в блоці. У деяких прикладах, елемент вибірки, відповідний позиції останнього значущого коефіцієнта, може задаватися рівним значенню "0", в той час як всі елементи вибірки кодового слова, що залишилися, можуть задаватися рівними значенню "1". У інших прикладах, елементи вибірки можуть задаватися рівними іншим значенням. Потрібно зазначити, що, в інших прикладах згідно з технологіями цього розкриття суті, можуть бути використані інші типи кодових слів, наприклад, зрізані унарні кодові слова, експонентні кодові слова Голомба, конкатеновані кодові слова, а також комбінації різних технологій кодування. У одному прикладі, відеокодер 20 і/або відеодекодер 30 може кодувати кожний елемент вибірки унарного кодового слова для даної координати за допомогою виконання процесу контекстно-адаптивного ентропійного кодування (наприклад, САВАС-процесу), який включає в себе застосування контекстної моделі на основі щонайменше одного контексту, при цьому щонайменше один контекст може включати в себе позицію елемента вибірки в унарному кодовому слові. Як описано вище, позиція елемента вибірки в унарному кодовому слові може відповідати номеру рядка або стовпця позиції в блоці, відповідному елементу вибірки. Іншими 13 UA 109684 C2 5 10 15 20 25 30 35 40 45 50 55 60 словами, контекст, що використовується для того, щоб кодувати елемент вибірки, може бути позицією в блоці в напрямку по осі X або Y, який відповідає елементу вибірки. У деяких випадках, горизонтальна і вертикальна координати позиції останнього значущого коефіцієнта можуть бути корельовані. Наприклад, якщо горизонтальна координата дорівнює невеликому значенню, то вертикальна координата з більшою імовірністю дорівнює невеликому, а не великому значенню. Іншими словами, різні значення однієї координати можуть приводити до різної статистики для іншої координати, тобто до різних оцінок імовірності для елементів вибірки унарного кодового слова для іншої координати. У зв'язку з цим, при кодуванні однієї координати позиції останнього значущого коефіцієнта з використанням статистики, відповідної координаті, наприклад, при виконанні процесу контекстно-адаптивного ентропійного кодування (наприклад, САВАС-процесу), використання статистики, яка включає в себе інформацію відносно значення іншої координати, може приводити до точності статистики і, отже, може забезпечувати ефективне кодування. Відповідно, в іншому прикладі, при кодуванні інформації позиції останнього значущого коефіцієнта у випадках, якщо одна координата (наприклад, вертикальна) кодується після іншої координати (наприклад, горизонтальної), відеокодер 20 і/або відеодекодер 30 може кодувати кожний елемент вибірки унарного кодового слова для однієї координати за допомогою виконання процесу контекстно-адаптивного ентропійного кодування (наприклад, САВАСпроцесу), який включає в себе застосування контекстної моделі на основі щонайменше одного контексту, при цьому щонайменше один контекст може включати в себе позицію елемента вибірки в унарному кодовому слові, як описано вище, і значення раніше кодованої іншої координати. Аналогічно, в деяких випадках, різні значення елемента вибірки унарного кодового слова для однієї координати позиції останнього значущого коефіцієнта можуть приводити до різних оцінок імовірності для елемента вибірки унарного кодового слова для іншої координати. У зв'язку з цим, при кодуванні елемента вибірки унарного кодового слова для однієї координати позиції останнього значущого коефіцієнта з використанням оцінок імовірності, відповідних елементу вибірки, як описано вище, використання оцінок імовірності, які включають в себе інформацію відносно значення елемента вибірки, наприклад, відповідного елемента вибірки унарного кодового слова для іншої координати, може приводити до точності оцінок імовірності і, отже, може забезпечувати ефективне кодування. Наприклад, для того, щоб кодувати горизонтальну координату і вертикальну координату, відеокодер 20 і/або відеодекодер 30 може бути виконаний з можливістю кодувати щонайменше один елемент вибірки послідовності, яка відповідає одній з координат щонайменше частково на основі значення щонайменше одного елемента вибірки послідовності, яка відповідає іншій координаті. Наприклад щонайменше один елемент вибірки послідовності, яка відповідає іншій координаті, може бути елементом вибірки, який відповідає щонайменше одному елементу вибірки послідовності, яка відповідає одній з координат, наприклад, елементи вибірки можуть знаходитися в ідентичних або аналогічних позиціях елемента вибірки у відповідних кодових словах. Як один приклад, для того, щоб кодувати щонайменше один елемент вибірки послідовності, яка відповідає одній з координат щонайменше частково на основі значення щонайменше одного елемента вибірки послідовності, яка відповідає іншій координаті, відеокодер 20 і/або відеодекодер 30 може бути виконаний з можливістю здійснювати процес контекстно-адаптивного ентропійного кодування, який включає в себе застосування контекстної моделі на основі щонайменше одного контексту, при цьому щонайменше один контекст включає в себе значення щонайменше одного елемента вибірки послідовності, яка відповідає іншій координаті. Відповідно, в ще одному іншому прикладі, при кодуванні інформації позиції останнього значущого коефіцієнта, відеокодер 20 і/або відеодекодер 30 може кодувати горизонтальну і вертикальну координати переміжним способом з використанням раніше кодованих елементів вибірки як контекстів. Іншими словами, відеокодер 20 і/або відеодекодер 30 може кодувати кожний елемент вибірки унарного кодового слова для даної координати за допомогою виконання процесу контекстно-адаптивного ентропійного кодування (наприклад, САВАС-процесу), який включає в себе застосування контекстної моделі на основі щонайменше одного контексту, при цьому щонайменше один контекст може включати в себе позицію елемента вибірки в унарному кодовому слові, як описано вище, і значення одного або більше раніше кодованих елементів вибірки унарного кодового слова для іншої координати. Додатково, відеокодер 20 і/або відеодекодер 30, загалом, може бути виконаний з можливістю кодувати один або більше елементів вибірки послідовності, яка відповідає одній координаті, і один або більше елементів вибірки послідовності, яка відповідає іншій координаті, переміжним способом. У деяких прикладах, відеокодер 20 і/або відеодекодер 30 може кодувати 14 UA 109684 C2 5 10 15 20 25 30 35 40 45 50 55 60 окремі елементи вибірки кожного кодового слова переміжним способом. У інших прикладах, відеокодер 20 і/або відеодекодер 30 може кодувати групи елементів вибірки кожного кодового слова переміжним способом. Наприклад щонайменше один елемент вибірки з кожного з одного або більше елементів вибірки послідовності, яка відповідає одній координаті, і одного або більше елементів вибірки послідовності, яка відповідає іншій координаті, може містити елемент вибірки, кодований з використанням режиму регулярного кодування, і щонайменше один елемент вибірки кожної з послідовностей може містити елемент вибірки, кодований з використанням режиму обхідного кодування. У цьому прикладі, для того, щоб кодувати один або більше елементів вибірки послідовності, яка відповідає одній координаті, і один або більше елементів вибірки послідовності, яка відповідає іншій координаті, переміжним способом, відеокодер 20 і/або відеодекодер 30 може бути виконаний з можливістю кодувати щонайменше один елемент вибірки з одного або більше елементів вибірки послідовності, яка відповідає одній координаті, кодованій з використанням режиму регулярного кодування, до кодування щонайменше одного елемента вибірки з одного або більше елементів вибірки послідовності, яка відповідає іншій координаті, кодованій з використанням режиму регулярного кодування, і подальшого кодування щонайменше одного елемента вибірки з одного або більше елементів вибірки послідовності, яка відповідає одній координаті, кодованій з використанням режиму обхідного кодування, до кодування щонайменше одного елемента вибірки з одного або більше елементів вибірки послідовності, яка відповідає іншій координаті, кодованій з використанням режиму обхідного кодування. У інших прикладах, відеокодер 20 і/або відеодекодер 30 може бути виконаний з можливістю спільно кодувати елементи вибірки послідовностей, кодованих з використанням режиму обхідного кодування. У ще одному іншому прикладі, відеокодер 20 може розміщувати блокові коефіцієнти в безперервній послідовності на основі порядку сканування, тобто перетворювати в послідовну форму коефіцієнти і перетворювати коефіцієнти у другий блок з використанням другого порядку сканування, при цьому другий блок відрізняється від першого блока, і другий порядок сканування відрізняється від першого порядку сканування. Потім, відеокодер 20 може кодувати позицію останнього значущого коефіцієнта у другому блоці згідно з другим порядком сканування з використанням горизонтальної і вертикальної координат, як описано вище. Відеодекодер 30 може, в свою чергу, декодувати горизонтальну і вертикальну координати позиції останнього значущого коефіцієнта у другому блоці згідно з другим порядком сканування, розміщувати блокові коефіцієнти в безперервній послідовності на основі другого порядку сканування і перетворювати коефіцієнти в третій, відмінний блок з використанням третього, відмінного порядку сканування. У цьому прикладі, значущі коефіцієнти, що включають в себе останній значущий коефіцієнт, вихідного блока можуть з більшою імовірністю знаходитися ближче, а не далі в початковому порядку сканування. Виконання вищезгаданих етапів за допомогою відеокодера 20 і/або відеодекодера 30 може приводити до варіювання імовірності даної позиції у другому блоці, що містить останній значущий коефіцієнт, залежно від горизонтальної і вертикальної координат позиції. Наприклад, у випадках, якщо другий порядок сканування є горизонтальним порядком сканування, імовірність розташування останнього значущого коефіцієнта в першому рядку другого блока може бути вищою імовірності розташування останнього значущого коефіцієнта в подальших рядках. Крім того, для даного рядка імовірність розташування останнього значущого коефіцієнта в першому стовпці (тобто на початку рядка)другого блока також може бути вищою імовірності розташування останнього значущого коефіцієнта в подальших стовпцях (тобто далі в рядку). Іншими словами, різні значення однієї координати можуть приводити до різних оцінок імовірності для елементів вибірки унарного кодового слова для іншої координати. Додатково, різні позиції елементів вибірки унарного кодового слова для іншої координати в кодовому слові можуть приводити до різних оцінок імовірності для елементів вибірки кодового слова. Іншими словами, різні номери рядків або стовпців позицій у другому блоці, відповідному елементам вибірки, можуть приводити до різних оцінок імовірності для елементів вибірки. Аналогічне явище може виникати, коли другий порядок сканування є іншим порядком сканування, наприклад, вертикальним порядком сканування. У цьому прикладі, при кодуванні однієї координати позиції останнього значущого коефіцієнта у другому блоці з використанням статистики, відповідної одній координаті, тобто оцінок ймовірностей для елементів вибірки унарного кодового слова для однієї координати, використання статистики, яка включає в себе інформацію відносно значення іншої координати і позицій елементів вибірки унарного кодового слова для однієї координати в кодовому слові, може приводити до точності статистики і, отже, може забезпечувати ефективне кодування. У зв'язку з цим, в цьому прикладі, при кодуванні інформації позиції останнього значущого 15 UA 109684 C2 5 10 15 20 25 30 35 40 45 50 55 коефіцієнта у випадках, якщо одна координата кодується після іншої координати, відеокодер 20 і/або відеодекодер 30 може кодувати кожний елемент вибірки унарного кодового слова для однієї координати за допомогою виконання процесу контекстно-адаптивного ентропійного кодування (наприклад, САВАС-процесу), який включає в себе застосування контекстної моделі на основі щонайменше одного контексту, при цьому щонайменше один контекст може включати в себе позицію елемента вибірки в унарному кодовому слові, як описаний вище, і значення раніше кодованої іншої координати. Як проілюстровано за допомогою вищенаведених прикладів, відеокодер 20 і/або відеодекодер 30 може використовувати інформацію позиції останнього значущого коефіцієнта як контекст для кодування самої інформації. У інших прикладах, відеокодер 20 і/або відеодекодер 30 може використовувати інформацію позиції останнього значущого коефіцієнта як контекст для кодування інформації позиції значущих коефіцієнтів, наприклад, за допомогою виконання процесу контекстно-адаптивного ентропійного кодування (наприклад, САВАСпроцесу), який включає в себе застосування контекстної моделі на основі контексту. У цих прикладах, оцінки імовірності для контекстної моделі, що використовується для того, щоб кодувати інформацію позиції значущих коефіцієнтів, можуть вказувати імовірність значущості конкретного коефіцієнта (наприклад, імовірність рівності прапора значущого коефіцієнта для коефіцієнта "0" або "1"). Зокрема, відеокодер 20 і/або відеодекодер 30 може кодувати значущість коефіцієнтів, розташованих перед останнім значущим коефіцієнтом в блоці згідно з порядком сканування, з використанням позиції останнього значущого коефіцієнта як контексту. Як один приклад, позиція останнього значущого коефіцієнта, що знаходиться вище даного порогового значення позиції в порядку сканування, може відповідати одному контексту, в той час як позиція, що знаходиться в або нижче порогового значення позиції, може відповідати іншому контексту. У цьому прикладі, імовірність того, що конкретний з коефіцієнтів є значущим, може варіюватися залежно від того, знаходяться коефіцієнти ближче або далі в порядку сканування, як указано за допомогою позиції останнього значущого коефіцієнта. Іншими словами, різні позиції останніх значущих коефіцієнтів можуть приводити до різної статистики для значущості коефіцієнтів. Аналогічно описаному вище, в цьому прикладі, при кодуванні інформації позиції значущих коефіцієнтів з використанням відповідної статистики, тобто оцінок ймовірностей для значущості кожного коефіцієнта, використання статистики, яка включає в себе інформацію відносно позиції останнього значущого коефіцієнта, може приводити до точності статистики і, отже, може забезпечувати ефективне кодування. Відповідно, в цьому прикладі, при кодуванні інформації позиції значущих коефіцієнтів, відеокодер 20 і/або відеодекодер 30 може кодувати значущість кожного коефіцієнта за допомогою виконання процесу контекстно-адаптивного ентропійного кодування (наприклад, САВАС-процесу), який включає в себе застосування контекстної моделі на основі щонайменше одного контексту, при цьому щонайменше один контекст може включати в себе позицію останнього значущого коефіцієнта і, наприклад, позицію коефіцієнта в блоці згідно з порядком сканування. Як інший приклад, відеокодер 20 і/або відеодекодер 30 може використовувати інформацію позиції останнього значущого коефіцієнта як синтаксичну інформацію для кодування інформації позиції значущих коефіцієнтів. У одному прикладі, відеокодер 20 і/або відеодекодер 30 може використовувати інформацію позиції останнього значущого коефіцієнта для того, щоб кодувати інформацію позиції значущих коефіцієнтів, з використанням самої інформації позиції значущих коефіцієнтів як контексту. Наприклад, відеокодер 20 і/або відеодекодер 30 може кодувати інформацію позиції значущих коефіцієнтів за допомогою кодування значущості коефіцієнтів, розташованих перед останнім значущим коефіцієнтом в блоці згідно з порядком сканування в зворотному порядку сканування, починаючи з останнього значущого коефіцієнта і рухаючись до першого коефіцієнта в порядку сканування (наприклад, згідно з DC-позицією). Відеокодер 20 і/або відеодекодер 30 може кодувати значущість кожного коефіцієнта за допомогою використання значущості раніше кодованих коефіцієнтів як контексту, наприклад, також за допомогою виконання процесу контекстно-адаптивного ентропійного кодування (наприклад, САВАС-процесу), який включає в себе застосування контекстної моделі на основі контексту. Таким чином, оцінки імовірності для контекстної моделі, що використовується для того, щоб кодувати значущість кожного коефіцієнта, можуть включати дані по значущості коефіцієнтів, розташованих далі в початковому порядку сканування, що може приводити до використання точних оцінок імовірності і, отже, може забезпечувати ефективне кодування. Крім того, така інформація значущості не може бути отримана з використанням інших технологій, оскільки для 16 UA 109684 C2 5 10 15 20 25 30 35 40 45 50 55 60 даного коефіцієнта значущість коефіцієнтів, розташованих далі в початковому порядку сканування, може бути невідома. Як ще один інший приклад, відеокодер 20 і/або відеодекодер 30 може використовувати інформацію позиції останнього значущого коефіцієнта, щоб спільно кодувати інформацію позиції значущих коефіцієнтів. Наприклад, згідно з деякими технологіями, значущість коефіцієнтів кодується по одному коефіцієнту за раз. Іншими словами, визначення відносно того, є чи ні коефіцієнти значущими, виконується послідовно для кожного коефіцієнта згідно з порядком сканування. Згідно з технологіями цього розкриття суті, відеокодер 20 і/або відеодекодер 30 може використовувати інформацію позиції останнього значущого коефіцієнта, щоб розміщувати декілька коефіцієнтів, розташованих перед останнім значущим коефіцієнтом в блоці згідно з порядком сканування, в одній або більше групах і спільно кодувати значущість коефіцієнтів в кожній групі, що, крім іншого, може забезпечувати паралельні реалізації кодування і ефективне кодування. Наприклад, для кожної групи, відеокодер 20 і/або відеодекодер 30 може формувати прапор, який вказує те, мають чи ні всі коефіцієнти в групі нульове значення, і коли щонайменше один з коефіцієнтів є значущим, прапор значущого коефіцієнта для кожного з коефіцієнтів, який вказує те, є чи ні відповідний коефіцієнт значущим. Як ще один інший приклад, відеокодер 20 і/або відеодекодер 30 може використовувати інформацію позиції останнього значущого коефіцієнта як синтаксичну інформацію для кодування самої інформації. Наприклад, в деяких випадках, значущі коефіцієнти, що включають в себе останній значущий коефіцієнт блока, можуть бути сконцентровані в піднаборі позицій блоків, наприклад, на початку в порядку сканування і в безпосередній близькості від DC-позиції, в той час як в інших випадках, коефіцієнти можуть знаходитися у всьому блоці, наприклад, по всьому або більшій частині порядку сканування. У цьому прикладі, кодування одновимірної позиції останнього значущого коефіцієнта може вимагати використання меншого числа бітів, ніж кодування двовимірної позиції останнього значущого коефіцієнта, коли останній значущий коефіцієнт знаходиться на початку в порядку сканування. Аналогічно, кодування двовимірної позиції може вимагати використання меншого числа бітів, ніж кодування одновимірної позиції, коли останній значущий коефіцієнт знаходиться далі в порядку сканування. У зв'язку з цим, замість кодування позиції останнього значущого коефіцієнта з використанням фіксованого способу, наприклад, за допомогою кодування одновимірної або двовимірної позиції, відеокодер 20 і/або відеодекодер 30 може використовувати це явище за допомогою кодування прапора, який вказує те, знаходиться чи ні останній значущий коефіцієнт в рамках діапазону позицій в блоці, і кодування одновимірної позиції, коли останній значущий коефіцієнт знаходиться в рамках діапазону, і у іншому випадку кодування двовимірної позиції. Іншими словами, відеокодер 20 і/або відеодекодер 30 може використовувати позицію останнього значущого коефіцієнта відносно діапазону, щоб вказувати те, знаходиться останній значущий коефіцієнт ближче або далі в порядку сканування. Наприклад, діапазон може задаватися як субблок в блоці, наприклад, субблок 4×4 в блоці 16×16, або як діапазон позицій в блоці згідно з порядком сканування, наприклад, перші 10 позицій в порядку сканування. У зв'язку з цим, відеокодер 20 і/або відеодекодер 30 може кодувати інформацію позиції останнього значущого коефіцієнта по-різному залежно від самої інформації, що може забезпечувати ефективне кодування. Відповідно, технології цього розкриття суті можуть надавати можливість відеокодеру 20 і/або відеодекодеру 30 мати меншу складність відносно інших систем і можуть надавати можливість відеокодеру 20 і/або відеодекодеру 30 більш ефективно кодувати інформацію позиції останнього значущого коефіцієнта і інформацію позиції значущих коефіцієнтів, ніж при використанні інших способів. Таким чином, може бути відносна економія бітів для кодованого потоку бітів, що включає в себе інформацію, і відносне зменшення складності для відеокодера 20 і/або відеодекодера 30, що використовується для того, щоб кодувати інформацію, при використанні технологій цього розкриття суті. Відеокодер 20 і відеодекодер 30 можуть бути реалізовані як будь-яка з множини належних схем кодера або декодера при відповідних умовах, наприклад, один або більше мікропроцесорів, процесори цифрових сигналів (DSP), спеціалізовані інтегральні схеми (ASIC), програмовані користувачем вентильні матриці (FPGA), дискретна логічна схема, програмне забезпечення, апаратні засоби, мікропрограмне забезпечення або будь-які комбінації вищезазначеного. Кожний з відеокодера 20 і відеодекодера 30 може бути включений в один або більше кодерів або декодерів, будь-який з яких може бути інтегрований як частина комбінованого відеокодера/декодера (кодека). Пристрій, що включає в себе відеокодер 20 і/або 17 UA 109684 C2 5 10 15 20 25 30 35 40 45 50 55 60 відеодекодер 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 компенсації руху можуть мати високий ступінь інтеграції, але проілюстровані окремо в концептуальних цілях. Оцінка руху є процесом формування векторів руху, які оцінюють руху для відеоблоків. Вектор руху, наприклад, може вказувати зміщення прогнозного блока в межах прогнозуючого опорного кадру (або іншої кодованої одиниці) відносно поточного блока, що кодується в межах поточного кадру (або іншої кодованої одиниці). Прогнозний блок є блоком, для якого виявляється, що він практично співпадає з блоком, який повинен бути кодований, з точки зору піксельної різниці, яка може бути визначена за допомогою суми абсолютної різниці (SAD), суми квадрата різниці (SSD) або інших різницевих показників. Вектор руху також може вказувати зміщення сегмента блока. Компенсація руху може містити в собі вибірку або формування прогнозного блока на основі вектора руху, визначеного за допомогою оцінки руху. З іншого боку, в деяких прикладах модуль 42 оцінки руху і модуль 44 компенсації руху можуть бути функціонально інтегровані. Модуль 42 оцінки руху може обчислювати вектор руху для відеоблока взаємно кодованого кадру за допомогою порівняння відеоблока з відеоблоками опорного кадру в запам'ятовуючому пристрої 64. Модуль 44 компенсації руху також може інтерполювати субцілочисельні пікселі опорного кадру, наприклад, I-кадру або Р-кадру, з метою цього порівняння. Стандарт H.264 ITU, 18 UA 109684 C2 5 10 15 20 25 30 35 40 45 50 55 60 як приклад, описує два списки: список 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 перетворення може застосовувати перетворення до залишкового блока, формуючи блок залишкових коефіцієнтів перетворення. Перетворення може перетворювати залишкову інформацію з піксельної області в область перетворення, такої як частотна область. Модуль 54 квантування може квантувати залишкові коефіцієнти перетворення, щоб додатково зменшувати швидкість передачі бітів. Процес квантування може зменшувати бітову глибину, асоційовану з деякими або всіма коефіцієнтами. Ступінь квантування може бути модифікована за допомогою регулювання параметра квантування. Після квантування модуль 56 ентропійного кодування може ентропійно кодувати квантовані коефіцієнти перетворення з використанням технологій цього розкриття суті для кодування інформації позиції останнього значущого коефіцієнта для блока відеоданих до кодування інформації позиції значущих коефіцієнтів для блока. Проте, для інших типів елементів 19 UA 109684 C2 5 10 15 20 25 30 35 40 45 50 55 60 синтаксису модуль 56 ентропійного кодування може виконувати інші технології ентропійного кодування, які можуть включати в себе CAVLC, CABAC, PIPE або іншу технологію ентропійного кодування. Після ентропійного кодування за допомогою модуля 56 ентропійного кодування, кодоване відео може бути передане в інший пристрій або заархівоване для подальшої передачі або витягання. У деяких випадках, модуль 56 ентропійного кодування або інший модуль відеокодера 20 може бути виконаний з можливістю здійснювати інші функції кодування, в доповнення до ентропійного кодування квантованих коефіцієнтів перетворення, як описано вище. Наприклад, модуль 56 ентропійного кодування може складати інформацію заголовка дляблока (наприклад, макроблока, CU або LCU) або відеокадра, що містить блока, з належними елементами синтаксису для передачі в кодованому потоці відеобітів. Згідно з деякими стандартами кодування, такі елементи синтаксису можуть включати в себе інформацію позиції останнього значущого коефіцієнта і інформацію позиції значущих коефіцієнтів для блока, як описано вище. Як також описано вище, кодування цієї інформації згідно з деякими технологіями може вимагати використання систем кодування, які мають велику складність відносно інших систем, і результуюча кодована інформація може використовувати високий процент від загальної швидкості передачі стиснутих відеобітів при неефективному кодуванні. У зв'язку з цим, дане розкриття суті описує технології, які можуть забезпечувати використання систем кодування, які мають меншу складність відносно інших систем при кодуванні інформації позиції останнього значущого коефіцієнта і інформації позиції значущих коефіцієнтів, і більш ефективне кодування інформації, ніж при використанні інших способів. Як один приклад, модуль 56 ентропійного кодування відеокодера 20 може бути виконаний з можливістю кодувати певні блоки відеоданих (наприклад, один або більше макроблоків або TU для CU). Наприклад, як описано вище з посиланням на фіг. 1, модуль 56 ентропійного кодування може бути виконаний з можливістю кодувати інформацію, яка ідентифікує позицію останнього значущого коефіцієнта в блоці відеоданих згідно з порядком сканування, асоційованим з блоком, до кодування інформації, яка ідентифікує позиції інших значущих коефіцієнтів в блоці, при цьому для того, щоб кодувати інформацію, яка ідентифікує позицію останнього значущого коефіцієнта в блоці згідно з порядком сканування, модуль 56 ентропійного кодування може бути виконаний з можливістю здійснювати щонайменше одне з наступного: кодувати одновимірну позицію в блоці, яка ідентифікує позицію останнього значущого коефіцієнта в блоці згідно з порядком сканування; кодувати двовимірну позицію в блоці, яка ідентифікує позицію останнього значущого коефіцієнта в блоці згідно з порядком сканування; і кодувати прапор, який вказує те, знаходиться чи ні останній значущий коефіцієнт в блоці згідно з порядком сканування в рамках діапазону позицій в блоці, і кодувати одновимірну позицію в блоці, коли останній значущий коефіцієнт в блоці згідно з порядком сканування знаходиться в рамках діапазону, і в іншому випадку кодувати двовимірну позицію в блоці. Як один приклад, для того, щоб кодувати одновимірну позицію в блоці, модуль 56 ентропійного кодування може бути виконаний з можливістю, для кожного з одного або більше коефіцієнтів, асоційованих з блоком, починаючи з першого коефіцієнта в блоці згідно з порядком сканування і закінчуючи останнім значущим коефіцієнтом в блоці згідно з порядком сканування і рухаючись згідно з порядком сканування, визначати те, є чи ні коефіцієнт останнім значущим коефіцієнтом в блоці згідно з порядком сканування, і формувати прапор останнього значущого коефіцієнта, який вказує те, є чи ні коефіцієнт останнім значущим коефіцієнтом в блоці згідно з порядком сканування. Модуль 56 ентропійного кодування може бути додатково виконаний з можливістю розміщувати прапори останніх значущих коефіцієнтів для одного або більше коефіцієнтів в безперервній послідовності на основі порядку сканування і кодувати послідовність. Як інший приклад, для того, щоб кодувати двовимірну позицію в блоці, модуль 56 ентропійного кодування може бути виконаний з можливістю визначати горизонтальну координату позиції останнього значущого коефіцієнта в блоці згідно з порядком сканування, визначати вертикальну координату позиції останнього значущого коефіцієнта в блоці згідно з порядком сканування і кодувати горизонтальну координату і вертикальну координату. У цьому прикладі, блок може бути першим блоком, порядок сканування може бути першим порядком сканування, і модуль 56 ентропійного кодування може бути додатково виконаний з можливістю розміщувати коефіцієнти, асоційовані з другим блоком, в безперервній послідовності на основі другого порядку сканування, при цьому другий блок відрізняється від першого блока, і другий порядок сканування відрізняється від першого порядку сканування, і перетворювати послідовність в перший блок з використанням першого порядку сканування, щоб формувати перший блок. 20 UA 109684 C2 5 10 15 20 25 30 35 40 45 50 55 60 Також в цьому прикладі, як описано вище, для того, щоб кодувати кожну з горизонтальної координати і вертикальної координати, модуль 56 ентропійного кодування може бути виконаний з можливістю перетворювати в двійкову форму відповідну координату таким чином, що координата містить послідовність з одного або більше елементів вибірки, і кодувати послідовність. Наприклад, послідовність з одного або більше елементів вибірки може містити одне з унарного кодового слова, зрізаного унарного кодового слова, експонентного кодового слова Голомба і конкатенованого кодового слова. Як один приклад, зрізане унарне кодове слово може містити, у випадку, якщо відповідна координата має значення, яке менша попередньо визначеного зрізаного значення, унарне кодове слово, що містить змінне число для першого символу (наприклад, "1"), змінне число, відповідне значенню координати, після чого йде другий символ (наприклад, "0"), при цьому перший символ відрізняється від другого символу, а у випадку, якщо координата має значення, яке перевищує або дорівнює зрізаному значенню, попередньо визначене число для першого символу, причому попередньо визначене число відповідає зрізаному значенню. Як інший приклад, конкатеноване кодове слово може містити конкатенацію першого кодового слова (наприклад, кодового слова, сформованого з використанням першого способу кодування) і другого кодового слова (наприклад, кодового слова, сформованого з використанням другого способу кодування), при цьому перше кодове слово відрізняється від другого кодового слова. У цьому прикладі, конкатеноване кодове слово може бути використане у випадках, коли блок відеоданих є досить великим, так що використання унарного кодового слова або зрізаного унарного кодового слова для того, щоб представляти відповідну координату, може вимагати більшого числа бітів, ніж використання конкатенованого кодового слова. Як також описано вище, для того, щоб кодувати горизонтальну координату і вертикальну координату, модуль 56 ентропійного кодування може бути виконаний з можливістю кодувати щонайменше один елемент вибірки послідовності, яка відповідає одній з координат щонайменше частково на основі значення щонайменше одного елемента вибірки послідовності, яка відповідає іншій координаті. Як один приклад, для того, щоб кодувати щонайменше один елемент вибірки послідовності, яка відповідає одній з координат щонайменше частково на основі значення щонайменше одного елемента вибірки послідовності, яка відповідає іншій координаті, модуль 56 ентропійного кодування може бути виконаний з можливістю здійснювати процес контекстно-адаптивного ентропійного кодування, який включає в себе застосування контекстної моделі на основі щонайменше одного контексту, при цьому щонайменше один контекст включає в себе значення щонайменше одного елемента вибірки послідовності, яка відповідає іншій координаті. Додатково, модуль 56 ентропійного кодування може бути виконаний з можливістю кодувати один або більше елементів вибірки послідовності, яка відповідає одній координаті, і один або більше елементів вибірки послідовності, яка відповідає іншій координаті, переміжним способом. Наприклад щонайменше один елемент вибірки з кожного з одного або більше елементів вибірки послідовності, яка відповідає одній координаті, і одного або більше елементів вибірки послідовності, яка відповідає іншій координаті, може містити елемент вибірки, кодований з використанням режиму регулярного кодування, і щонайменше один елемент вибірки кожної з послідовностей може містити елемент вибірки, кодований з використанням режиму обхідного кодування. У цьому прикладі, для того, щоб кодувати один або більше елементів вибірки послідовності, яка відповідає одній координаті, і один або більше елементів вибірки послідовності, яка відповідає іншій координаті, переміжним способом, модуль 56 ентропійного кодування може бути виконаний з можливістю кодувати щонайменше один елемент вибірки з одного або більше елементів вибірки послідовності, яка відповідає одній координаті, кодованій з використанням режиму регулярного кодування, до кодування щонайменше одного елемента вибірки з одного або більше елементів вибірки послідовності, яка відповідає іншій координаті, кодованій з використанням режиму регулярного кодування, і подальшого кодування щонайменше одного елемента вибірки з одного або більше елементів вибірки послідовності, яка відповідає одній координаті, кодованій з використанням режиму обхідного кодування, до кодування щонайменше одного елемента вибірки з одного або більше елементів вибірки послідовності, яка відповідає іншій координаті, кодованій з використанням режиму обхідного кодування. У інших прикладах, модуль 56 ентропійного кодування може бути виконаний з можливістю спільно кодувати елементи вибірки послідовностей, кодованих з використанням режиму обхідного кодування. Як інший приклад, для того, щоб кодувати інформацію позиції значущих коефіцієнтів, при цьому порядок сканування може бути першим порядком сканування, модуль 56 ентропійного 21 UA 109684 C2 5 10 15 20 25 30 35 40 45 50 55 60 кодування може бути виконаний з можливістю, для кожного з одного або більше коефіцієнтів, асоційованих з блоком, починаючи з останнього значущого коефіцієнта в блоці згідно з порядком сканування і закінчуючи першим коефіцієнтом в блоці згідно з порядком сканування і рухаючись згідно з другим порядком сканування, який є зворотним відносно першого порядку сканування, визначати те, є чи ні коефіцієнт значущим коефіцієнтом, і формувати прапор значущого коефіцієнта, який вказує те, є чи ні коефіцієнт значущим коефіцієнтом. Модуль 56 ентропійного кодування може бути додатково виконаний з можливістю розміщувати прапори значущих коефіцієнтів для одного або більше коефіцієнтів в безперервній послідовності на основі другого порядку сканування і кодувати послідовність. Як інший приклад, для того, щоб кодувати інформацію позиції значущих коефіцієнтів, модуль 56 ентропійного кодування може бути виконаний з можливістю розміщувати один або більше коефіцієнтів, асоційованих з блоком, починаючи з першого коефіцієнта в блоці згідно з порядком сканування і закінчуючи останнім значущим коефіцієнтом в блоці згідно з порядком сканування і рухаючись згідно з порядком сканування, в одній або більше групах, при цьому кожна з однієї або більше груп містить один або більше коефіцієнтів. Модуль 56 ентропійного кодування може бути додатково виконаний з можливістю, для кожної з однієї або більше груп, визначати те, є чи ні один або більше коефіцієнтів значущими коефіцієнтами, і формувати один або більше прапорів, при цьому один або більше прапорів включають в себе прапор групи, який вказує те, є чи ні один або більше коефіцієнтів коефіцієнтами з нульовим значенням (тобто незначущими), і коли щонайменше один з одного або більше коефіцієнтів є значущим коефіцієнтом, один або більше прапорів додатково включають в себе прапор значущого коефіцієнта для кожного з одного або більше коефіцієнтів, який вказує те, є чи ні відповідний коефіцієнт значущим коефіцієнтом. Модуль 56 ентропійного кодування може бути додатково виконаний з можливістю розміщувати один або більше прапорів для однієї або більше груп в безперервній послідовності на основі порядку сканування і кодувати послідовність. У ще одному іншому прикладі, для того, щоб кодувати інформацію позиції останнього значущого коефіцієнта і кодувати інформацію позиції значущих коефіцієнтів, модуль 56 ентропійного кодування може бути виконаний з можливістю здійснювати процес контекстноадаптивного ентропійного кодування (наприклад, САВАС-процес), який включає в себе застосування контекстної моделі за допомогою модуля 56 ентропійного кодування на основі щонайменше одного контексту, при цьому щонайменше один контекст включає в себе одну з інформації позиції останнього значущого коефіцієнта і інформації позиції значущих коефіцієнтів. Як один приклад, для того, щоб кодувати послідовність з одного або більше елементів вибірки, які відповідають кожній з горизонтальної координати і вертикальної координати, модуль 56 ентропійного кодування може бути виконаний з можливістю кодувати кожний елемент вибірки послідовності за допомогою виконання процесу контекстно-адаптивного ентропійного кодування, який включає в себе застосування контекстної моделі на основі щонайменше одного контексту, при цьому щонайменше один контекст включає в себе позицію відповідного елемента вибірки в послідовності. Як описано вище, позиція елемента вибірки в послідовності може відповідати номеру рядка або стовпця позиції в блоці, відповідному елементу вибірки. Іншими словами, контекст, що використовується для того, щоб кодувати елемент вибірки, може бути позицією в блоці в напрямку по осі X або Y, який відповідає елементу вибірки. У цьому прикладі, модуль 56 ентропійного кодування, сконфігурований так, як описано, може надавати можливість модулю 56 ентропійного кодування більш ефективно кодувати інформацію, наприклад, з використанням меншого числа бітів, ніж при використанні інших способів. У зв'язку з цим, технології цього розкриття суті можуть надавати можливість модулю 56 ентропійного кодування мати меншу складність відносно інших систем і можуть надавати можливість модулю 56 ентропійного кодування більш ефективно кодувати інформацію позиції останнього значущого коефіцієнта і інформацію позиції значущих коефіцієнтів, ніж при використанні інших способів. Таким чином, може бути відносна економія бітів для кодованого потоку бітів, що включає в себе інформацію, і відносне зменшення складності для модуля 56 ентропійного кодування, що використовується для того, щоб кодувати інформацію, при використанні технологій цього розкриття суті. Модуль 58 зворотного квантування і модуль 60 зворотного перетворення застосовують зворотне квантування і зворотне перетворення, відповідно, щоб відновлювати залишковий блок в піксельній області, наприклад, для подальшого використання як опорного блока. Модуль 44 компенсації руху може обчислювати опорний блок за допомогою додавання залишкового блока до прогнозного блока одного з кадрів запам'ятовуючого пристрою 64. Модуль 44 компенсації руху також може застосовувати один або більше інтерполяційних фільтрів до відновленого залишкового блока, щоб обчислювати значення субцілочисельних пікселів для використання в 22 UA 109684 C2 5 10 15 20 25 30 35 40 45 50 55 60 оцінці руху. Суматор 62 підсумовує відновлений залишковий блок з прогнозним блоком з компенсацією руху, сформованим за допомогою модуля 44 компенсації руху, щоб сформувати відновлений відеоблок для зберігання в пам'яті 64. Відновлений відеоблок може використовуватися за допомогою модуля 42 оцінки руху і модуля 44 компенсації руху як опорний блок для того, щоб взаємно кодувати блок в подальшому відеокадрі. Таким чином, відеокодер 20 представляє приклад відеокодера, виконаного з можливістю кодувати інформацію, яка ідентифікує позицію останнього значущого коефіцієнта в блоці відеоданих згідно з порядком сканування, асоційованим з блоком, до кодування інформації, яка ідентифікує позиції інших значущих коефіцієнтів в блоці, при цьому для того, щоб кодувати інформацію, яка ідентифікує позицію останнього значущого коефіцієнта в блоці згідно з порядком сканування, відеокодер виконаний з можливістю здійснювати щонайменше одне з наступного: кодувати одновимірну позицію в блоці, яка ідентифікує позицію останнього значущого коефіцієнта в блоці згідно з порядком сканування; кодувати двовимірну позицію в блоці, яка ідентифікує позицію останнього значущого коефіцієнта в блоці згідно з порядком сканування; і кодувати прапор, який вказує те, знаходиться чи ні останній значущий коефіцієнт в блоці згідно з порядком сканування в рамках діапазону позицій в блоці, і кодувати одновимірну позицію в блоці, коли останній значущий коефіцієнт в блоці згідно з порядком сканування знаходиться в рамках діапазону, і в іншому випадку кодувати двовимірну позицію в блоці. Фіг. 3 є блок-схемою, яка ілюструє приклад відеодекодера, який може реалізовувати технології для декодування кодованої інформації позиції останнього значущого коефіцієнта для блока відеоданих до декодування кодованої інформації позиції значущих коефіцієнтів для блока, згідно з технологіями цього розкриття суті. У прикладі по фіг. 3, відеодекодер 30 включає в себе модуль 70 ентропійного декодування, модуль 72 компенсації руху, модуль 74 внутрішнього прогнозування, модуль 76 зворотного квантування, модуль 78 зворотного перетворення, запам'ятовуючий пристрій 82 і суматор 80. Відеодекодер 30 може, в деяких прикладах, виконувати прохід декодування, загалом, взаємно-зворотний відносно проходу кодування, описаного відносно відеокодера 20 (фіг. 2). Модуль 72 компенсації руху може формувати прогнозуючі дані на основі векторів руху, що приймаються з модуля 70 ентропійного декодування. Відеодекодер 30 може бути виконаний з можливістю приймати кодовані відеодані (наприклад, один або більше макроблоків або TU для CU) з відеокодера 20. Відповідно до технологій цього розкриття суті, як один приклад, відеодекодер 30 може бути виконаний з можливістю кодувати інформацію, яка ідентифікує позицію останнього значущого коефіцієнта в блоці відеоданих згідно з порядком сканування, асоційованим з блоком, до кодування інформації, яка ідентифікує позиції інших значущих коефіцієнтів в блоці, при цьому для того, щоб кодувати інформацію, яка ідентифікує позицію останнього значущого коефіцієнта в блоці згідно з порядком сканування, відеодекодер 30 може бути виконаний з можливістю здійснювати щонайменше одне з наступного: кодувати одновимірну позицію в блоці, яка ідентифікує позицію останнього значущого коефіцієнта в блоці згідно з порядком сканування; кодувати двовимірну позицію в блоці, яка ідентифікує позицію останнього значущого коефіцієнта в блоці згідно з порядком сканування; і кодувати прапор, який вказує те, знаходиться чи ні останній значущий коефіцієнт в блоці згідно з порядком сканування в рамках діапазону позицій в блоці, і кодувати одновимірну позицію в блоці, коли останній значущий коефіцієнт в блоці згідно з порядком сканування знаходиться в рамках діапазону, і в іншому випадку кодувати двовимірну позицію в блоці. Як один приклад, для того, щоб кодувати одновимірну позицію в блоці, модуль 70 ентропійного декодування може бути виконаний з можливістю декодувати безперервну послідовність прапорів останніх значущих коефіцієнтів для одного або більше коефіцієнтів, асоційованих з блоком, починаючи з першого коефіцієнта в блоці згідно з порядком сканування і закінчуючи останнім значущим коефіцієнтом в блоці згідно з порядком сканування і рухаючись згідно з порядком сканування, при цьому кожний з прапорів останніх значущих коефіцієнтів вказує те, є чи ні відповідний коефіцієнт останнім значущим коефіцієнтом в блоці згідно з порядком сканування. Модуль 70 ентропійного декодування може бути додатково виконаний з можливістю, для кожного коефіцієнта, асоційованого з блоком, визначати те, є чи ні коефіцієнт останнім значущим коефіцієнтом в блоці згідно з порядком сканування, на основі послідовності. Як інший приклад, для того, щоб кодувати двовимірну позицію в блоці, модуль 70 ентропійного декодування може бути виконаний з можливістю декодувати горизонтальну координату позиції останнього значущого коефіцієнта в блоці згідно з порядком сканування і декодувати вертикальну координату позиції останнього значущого коефіцієнта в блоці згідно з порядком сканування. Модуль 70 ентропійного декодування може бути додатково виконаний з 23 UA 109684 C2 5 10 15 20 25 30 35 40 45 50 55 60 можливістю, для кожного коефіцієнта, асоційованого з блоком, визначати те, є чи ні коефіцієнт останнім значущим коефіцієнтом в блоці згідно з порядком сканування, на основі горизонтальної координати і вертикальної координати. У цьому прикладі, блок може бути першим блоком, порядок сканування може бути першим порядком сканування, і модуль 70 ентропійного декодування може бути додатково виконаний з можливістю розміщувати коефіцієнти, асоційовані з першим блоком, в безперервній послідовності на основі першого порядку сканування і перетворювати послідовність у другий блок з використанням другого порядку сканування, при цьому другий блок відрізняється від першого блока, і другий порядок сканування відрізняється від першого порядку сканування, щоб формувати другий блок. Модуль 70 ентропійного декодування може бути додатково виконаний з можливістю, для кожного коефіцієнта, асоційованого з другим блоком, визначати те, є чи ні коефіцієнт останнім значущим коефіцієнтом у другому блоці згідно з другим порядком сканування, на основі визначень для першого блока. Також в цьому прикладі, як описано вище, кожна з горизонтальної координати і вертикальної координати може містити перетворену в двійкову форму координату таким чином, що координата містить послідовність з одного або більше елементів вибірки, при цьому для того, щоб декодувати кожну з горизонтальної координати і вертикальної координати, модуль 70 ентропійного декодування може бути виконаний з можливістю декодувати відповідну послідовність. Наприклад, послідовність з одного або більше елементів вибірки може містити одне з унарного кодового слова, зрізаного унарного кодового слова, експонентного кодового слова Голомба і конкатенованого кодового слова. Як один приклад, зрізане унарне кодове слово може містити, у випадку, якщо відповідна координата має значення, яке менше попередньо визначеного зрізаного значення, унарне кодове слово, що містить змінне число для першого символу (наприклад, "1"), змінне число, відповідне значенню координати, після чого йде другий символ (наприклад, "0"), при цьому перший символ відрізняється від другого символу, а у випадку, якщо координата має значення, яке перевищує або дорівнює зрізаному значенню, попередньо визначене число для першого символу, причому попередньо визначене число відповідає зрізаному значенню. Як інший приклад, конкатеноване кодове слово може містити конкатенацію першого кодового слова (наприклад, кодового слова, сформованого з використанням першого способу кодування) і другого кодового слова (наприклад, кодового слова, сформованого з використанням другого способу кодування), при цьому перше кодове слово відрізняється від другого кодового слова. У цьому прикладі, конкатеноване кодове слово може бути використане у випадках, коли блок відеоданих є досить великим, так що використання унарного кодового слова або зрізаного унарного кодового слова для того, щоб представляти відповідну координату, може вимагати більшого числа бітів, ніж використання конкатенованого кодового слова. Як також описано вище, щоб декодувати горизонтальну координату і вертикальну координату, модуль 70 ентропійного декодування може бути виконаний з можливістю декодувати щонайменше один елемент вибірки послідовності, яка відповідає одній з координат щонайменше частково на основі значення щонайменше одного елемента вибірки послідовності, яка відповідає іншій координаті. Як один приклад, для того, щоб декодувати щонайменше один елемент вибірки послідовності, яка відповідає одній з координат щонайменше частково на основі значення щонайменше одного елемента вибірки послідовності, яка відповідає іншій координаті, модуль 70 ентропійного декодування може бути виконаний з можливістю здійснювати процес контекстно-адаптивного ентропійного кодування, який включає в себе застосування контекстної моделі на основі щонайменше одного контексту, при цьому щонайменше один контекст включає в себе значення щонайменше одного елемента вибірки послідовності, яка відповідає іншій координаті. Додатково, модуль 70 ентропійного декодування може бути виконаний з можливістю декодувати один або більше елементів вибірки послідовності, яка відповідає одній координаті, і один або більше елементів вибірки послідовності, яка відповідає іншій координаті, переміжним способом. Наприклад щонайменше один елемент вибірки з кожного з одного або більше елементів вибірки послідовності, яка відповідає одній координаті, і одного або більше елементів вибірки послідовності, яка відповідає іншій координаті, може містити елемент вибірки, кодований з використанням режиму регулярного кодування, і щонайменше один елемент вибірки кожної з послідовностей може містити елемент вибірки, кодований з використанням режиму обхідного кодування. У цьому прикладі для того, щоб декодувати один або більше елементів вибірки послідовності, яка відповідає одній координаті, і один або більше елементів вибірки 24 UA 109684 C2 5 10 15 20 25 30 35 40 45 50 55 60 послідовності, яка відповідає іншій координаті, переміжним способом, модуль 70 ентропійного декодування може бути виконаний з можливістю декодувати щонайменше один елемент вибірки з одного або більше елементів вибірки послідовності, яка відповідає одній координаті, кодованій з використанням режиму регулярного кодування, до декодування щонайменше одного елемента вибірки з одного або більше елементів вибірки послідовності, яка відповідає іншій координаті, кодованій з використанням режиму регулярного кодування, і подальшого декодування щонайменше одного елемента вибірки з одного або більше елементів вибірки послідовності, яка відповідає одній координаті, кодованій з використанням режиму обхідного кодування, до декодування щонайменше одного елемента вибірки з одного або більше елементів вибірки послідовності, яка відповідає іншій координаті, кодованій з використанням режиму обхідного кодування. У інших прикладах, модуль 70 ентропійного декодування може бути виконаний з можливістю спільно декодувати елементи вибірки послідовностей, кодованих з використанням режиму обхідного кодування. Як інший приклад, для того, щоб кодувати інформацію позиції значущих коефіцієнтів, при цьому порядок сканування може бути першим порядком сканування, модуль 70 ентропійного декодування може бути виконаний з можливістю декодувати безперервну послідовність прапорів значущих коефіцієнтів для одного або більше коефіцієнтів, асоційованих з блоком, починаючи з останнього значущого коефіцієнта в блоці згідно з порядком сканування і закінчуючи першим коефіцієнтом в блоці згідно з порядком сканування і рухаючись згідно з другим порядком сканування, який є зворотним відносно першого порядку сканування, при цьому кожний з прапорів значущих коефіцієнтів вказує те, є чи ні відповідний коефіцієнт значущим коефіцієнтом. Модуль 70 ентропійного декодування може бути додатково виконаний з можливістю, для кожного коефіцієнта, асоційованого з блоком, визначати те, є чи ні коефіцієнт значущим коефіцієнтом, на основі послідовності. Як інший приклад, для того, щоб кодувати інформацію позиції значущих коефіцієнтів, модуль 70 ентропійного декодування може бути виконаний з можливістю декодувати безперервну послідовність прапорів для одного або більше коефіцієнтів, асоційованих з блоком, що розміщується в одній або більше групах, починаючи з першого коефіцієнта в блоці згідно з порядком сканування і закінчуючи останнім значущим коефіцієнтом в блоці згідно з порядком сканування і рухаючись згідно з порядком сканування, при цьому кожна з однієї або більше груп містить один або більше коефіцієнтів. У цьому прикладі, для кожної з однієї або більше груп, послідовність може містити один або більше прапорів, що включають в себе прапор групи, який вказує те, є чи ні один або більше коефіцієнтів коефіцієнтами з нульовим значенням (тобто незначущими), і коли щонайменше один з одного або більше коефіцієнтів є значущим коефіцієнтом, прапор значущого коефіцієнта для кожного з одного або більше коефіцієнтів, який вказує те, є чи ні відповідний коефіцієнт значущим коефіцієнтом. Модуль 70 ентропійного декодування може бути додатково виконаний з можливістю, для кожного коефіцієнта, асоційованого з блоком, визначати те, є чи ні коефіцієнт значущим коефіцієнтом, на основі послідовності. У ще одному іншому прикладі, для того, щоб кодувати інформацію позиції останнього значущого коефіцієнта і кодувати інформацію позиції значущих коефіцієнтів, модуль 70 ентропійного декодування може бути виконаний з можливістю здійснювати процес контекстноадаптивного ентропійного кодування (наприклад, САВАС-процес), який включає в себе застосування контекстної моделі за допомогою модуля 70 ентропійного декодування на основі щонайменше одного контексту, при цьому щонайменше один контекст включає в себе одну з інформації позиції останнього значущого коефіцієнта і інформації позиції значущих коефіцієнтів. Як один приклад, для того, щоб декодувати послідовність з одного або більше елементів вибірки, які відповідають кожній з горизонтальної координати і вертикальної координати, модуль 70 ентропійного декодування може бути виконаний з можливістю декодувати кожний елемент вибірки послідовності за допомогою виконання процесу контекстно-адаптивного ентропійного кодування, який включає в себе застосування контекстної моделі на основі щонайменше одного контексту, при цьому щонайменше один контекст включає в себе позицію відповідного елемента вибірки в послідовності. Як описано вище, позиція елемента вибірки в послідовності може відповідати номеру рядка або стовпця позиції в блоці, відповідному елементу вибірки. Іншими словами, контекст, що використовується для того, щоб кодувати елемент вибірки, може бути позицією в блоці в напрямку по осі X або Y, який відповідає елементу вибірки. У цьому прикладі, модуль 70 ентропійного декодування, сконфігурований так, як описано, може надавати можливість модулю 70 ентропійного декодування більш ефективно кодувати інформацію, наприклад, з використанням меншого числа бітів, ніж при використанні інших способів. 25 UA 109684 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 представляє приклад відеокодера, виконаного з можливістю кодувати інформацію, яка ідентифікує позицію останнього значущого коефіцієнта в блоці відеоданих згідно з порядком сканування, асоційованим з блоком, до кодування інформації, яка 26 UA 109684 C2 5 10 15 20 25 30 35 40 45 50 55 ідентифікує позиції інших значущих коефіцієнтів в блоці, при цьому для того, щоб кодувати інформацію, яка ідентифікує позицію останнього значущого коефіцієнта в блоці згідно з порядком сканування, відеокодер виконаний з можливістю здійснювати щонайменше одне з наступного: кодувати одновимірну позицію в блоці, яка ідентифікує позицію останнього значущого коефіцієнта в блоці згідно з порядком сканування; кодувати двовимірну позицію в блоці, яка ідентифікує позицію останнього значущого коефіцієнта в блоці згідно з порядком сканування; і кодувати прапор, який вказує те, знаходиться чи ні останній значущий коефіцієнт в блоці згідно з порядком сканування в рамках діапазону позицій в блоці, і кодувати одновимірну позицію в блоці, коли останній значущий коефіцієнт в блоці згідно з порядком сканування знаходиться в рамках діапазону, і в іншому випадку кодувати двовимірну позицію в блоці. Фіг. 4A-4C є концептуальними схемами, які ілюструють приклад блока відеоданих і відповідної інформації позиції значущих коефіцієнтів і інформації позиції останнього значущого коефіцієнта. Як показано на фіг. 4A, блок відеоданих, наприклад, макроблок або TU для CU, може включати в себе квантовані коефіцієнти перетворення. Наприклад, як показано на фіг. 4A, блок 400 може включати в себе квантовані коефіцієнти перетворення, сформовані з використанням вищеописаних технологій прогнозування, перетворення і квантування. Допустимо, згідно з цим прикладом, що блок 400 має розмір 2N×2N, де N дорівнює двом. Відповідно, блок 400 має розмір 4×4 і включає в себе шістнадцять квантованих коефіцієнтів перетворення, як також показано на фіг. 4A. Додатково припустимо, що порядок сканування, асоційований з блоком 400, є зигзагоподібним порядком сканування, як показано на фіг. 5A, детальніше описаним нижче. У цьому прикладі, останній значущий коефіцієнт в блоці 400 згідно із зигзагоподібним порядком сканування є квантованим коефіцієнтом перетворення, який дорівнює "1", розташованим в позиції 406 в блоці 400. У інших прикладах, як описано вище, блок може мати розмір, який менший або більший розміру блока 400, і може включати в себе більше або менше квантованих коефіцієнтів перетворення, ніж блок 400. У ще одних інших прикладах, порядок сканування, асоційований з блоком 400, може бути іншим порядком сканування, наприклад, горизонтальним порядком сканування, вертикальним порядком сканування, діагональним порядком сканування або іншим порядком сканування. Фіг. 4B ілюструє приклад даних прапорів значущих коефіцієнтів, тобто прапорів значущих коефіцієнтів, представлених в формі карти або блок-схеми, як описано вище. У прикладі по фіг. 4B, блок 402 може відповідати блоку 400, проілюстрованому на фіг. 4A. Іншими словами, прапори значущих коефіцієнтів блока 402 можуть відповідати квантованим коефіцієнтам перетворення блока 400. Як показано на фіг. 4B, прапори значущих коефіцієнтів блока 402, які дорівнюють "1", відповідають значущим коефіцієнтам блока 400. Аналогічно, прапори значущих коефіцієнтів блока 402, які дорівнюють "0", відповідають нульовим або незначущим коефіцієнтам блока 400. У цьому прикладі, прапор значущого коефіцієнта блока 402, який відповідає останньому значущому коефіцієнту в блоці 400 згідно із зигзагоподібним порядком сканування, є прапором значущого коефіцієнта, який дорівнює "1", розташованим в позиції 408 в блоці 402. У інших прикладах, значення прапорів значущих коефіцієнтів, що використовуються для того, щоб вказувати незначущі або значущі коефіцієнти, можуть варіюватися (наприклад, прапори значущих коефіцієнтів, які дорівнюють "0", можуть відповідати значущим коефіцієнтам, а прапори значущих коефіцієнтів, які дорівнюють "1", можуть відповідати незначущим коефіцієнтам). Фіг. 4C ілюструє приклад даних прапорів останніх значущих коефіцієнтів, тобто прапорів останніх значущих коефіцієнтів, представлених в формі карти або блок-схеми, як також описано вище. У прикладі по фіг. 4C, блок 404 може відповідати блоку 400 і блоку 402, проілюстрованому на фіг. 4A і фіг. 4B, відповідно. Іншими словами, прапори останніх значущих коефіцієнтів блока 404 можуть відповідати квантованим коефіцієнтам перетворення блока 400 і прапорам значущих коефіцієнтів блока 402. Як показано на фіг. 4C, прапор останнього значущого коефіцієнта блока 404, який дорівнює "1", розташований в позиції 410 в блоці 404, відповідає останньому значущому коефіцієнту блока 400 і останньому з прапорів значущих коефіцієнтів блока 402, які дорівнюють "1", згідно із зигзагоподібним порядком сканування. Аналогічно, прапори останніх значущих коефіцієнтів блока 404, які дорівнюють "0" (тобто всі прапори останніх значущих коефіцієнтів, що залишилися), відповідають нульовим або незначущим коефіцієнтам блока 400 і всім прапорам значущих коефіцієнтів блока 402, які дорівнюють "1", крім останнього з таких прапорів значущих коефіцієнтів згідно із зигзагоподібним порядком сканування. 27 UA 109684 C2 5 10 15 20 25 30 35 40 45 50 55 Значення прапорів останніх значущих коефіцієнтів, що використовуються для того, щоб вказувати останній значущий коефіцієнт згідно з порядком сканування, можуть варіюватися (наприклад, прапор останнього значущого коефіцієнта, дорівнює "0", може відповідати останньому значущому коефіцієнту згідно з порядком сканування, і прапори останніх значущих коефіцієнтів, які дорівнюють "1", можуть відповідати всім коефіцієнтам, що залишилися). У будьякому випадку, прапори значущих коефіцієнтів блока 402 і прапори останніх значущих коефіцієнтів блока 404 можуть спільно згадуватися як SM-дані для блока 400. Як описано вище, інформація позиції значущих коефіцієнтів для блока відеоданих може вказуватися за допомогою перетворення в послідовну форму прапорів значущих коефіцієнтів для блока з двовимірного блокового представлення, як проілюстровано в блоці 402, показаному на фіг. 4B, в одновимірну матрицю, з використанням порядку сканування, асоційованого з блоком. У прикладі блоків 400-402, показаних на фіг. 4A-4B, також при умові зигзагоподібного порядку сканування, інформація позиції значущих коефіцієнтів для блока 400 може вказуватися за допомогою перетворення в послідовну форму прапорів значущих коефіцієнтів блока 402 в одновимірну матрицю. Іншими словами, інформація позиції значущих коефіцієнтів для блока 400 може вказуватися за допомогою формування послідовності прапорів значущих коефіцієнтів блока 402 згідно із зигзагоподібним порядком сканування. У цьому прикладі, сформована послідовність може відповідати значенню "111111", що представляє перші 6 прапорів значущих коефіцієнтів блока 402 згідно із зигзагоподібним порядком сканування. Потрібно зазначити, що сформована послідовність може містити прапори значущих коефіцієнтів, відповідні діапазону позицій блоків в блоці 400, починаючи з першої позиції блока в зигзагоподібному порядку сканування (тобто DC-позиції) і закінчуючи позицією блока, відповідною останньому значущому коефіцієнту блока 400 згідно із зигзагоподібним порядком сканування (тобто згідно з прапором останнього значущого коефіцієнта, який дорівнює "1", для блока 404). Як також описано вище, згідно з технологіями цього розкриття суті, інформація позиції останнього значущого коефіцієнта для блока може вказуватися з використанням одновимірної позиції, яка вказує позицію останнього значущого коефіцієнта в блоці, наприклад, за допомогою перетворення в послідовну форму прапорів останніх значущих коефіцієнтів для блока з двовимірного блокового представлення, як проілюстровано в блоці 404, показаному на фіг. 4C, в одновимірну матрицю, з використанням порядку сканування, асоційованого з блоком. У прикладі блоків 400-404, показаних на фіг. 4A-4C, також при умові зигзагоподібного порядку сканування, інформація позиції останнього значущого коефіцієнта для блока 400 може вказуватися за допомогою перетворення в послідовну форму прапорів останніх значущих коефіцієнтів блока 404 в одновимірну матрицю. Іншими словами, інформація позиції останнього значущого коефіцієнта для блока 400 може вказуватися за допомогою формування послідовності прапорів останніх значущих коефіцієнтів блока 404 згідно із зигзагоподібним порядком сканування. У цьому прикладі, сформована послідовність може відповідати значенню "000001", що представляє перші 6 прапорів останніх значущих коефіцієнтів блока 404 згідно із зигзагоподібним порядком сканування. Крім того, потрібно зазначити, що сформована послідовність може містити прапори останніх значущих коефіцієнтів, відповідні діапазону позицій блоків в блоці 400, починаючи з першої позиції блока в зигзагоподібному порядку сканування і закінчуючи позицією блока, відповідною останньому значущому коефіцієнту блока 400 згідно із зигзагоподібним порядком сканування (тобто згідно з прапором останнього значущого коефіцієнта, який дорівнює "1", для блока 404). Відповідно, в цьому прикладі, прапори останніх значущих коефіцієнтів після прапора останнього значущого коефіцієнта, дорівнює "1" згідно із зигзагоподібним порядком сканування, не включаються в послідовність. Взагалі кажучи, прапори останніх значущих коефіцієнтів після прапора останнього значущого коефіцієнта, який дорівнює "1", згідно з порядком сканування, асоційованим з блоком відеоданих, можуть не вимагатися для того, щоб вказувати інформацію позиції останнього значущого коефіцієнта для блока. У зв'язку з цим, в деяких прикладах, ці прапори опускаються з сформованої послідовності прапорів останніх значущих коефіцієнтів, що використовуються для того, щоб вказувати інформацію. Також потрібно зазначити, що, як описано вище, якщо останній значущий коефіцієнт знаходиться в останній позиції блока згідно з порядком сканування (наприклад, позиції нижнього правого блока), сформована послідовність може не включати в себе прапор останнього значущого коефіцієнта, відповідний останній позиції блока, оскільки позиція може логічно виводитися, щоб містити останній значущий коефіцієнт для блока. Відповідно, в цьому прикладі, сформована послідовність може відповідати значенню "000000000000000", в якому прапор 28

Дивитися

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

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

Sole Rojals, Joel, Joshi, Rajan Laxman, Karczewicz, Marta

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

Соле Рохальс Хоель, Джоши Раджан Лаксман, Карчевич Марта

МПК / Мітки

МПК: H04N 19/129, H04N 11/04, H04N 11/02, H03M 7/40

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

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

<a href="https://ua.patents.su/53-109684-okreme-koduvannya-pozici-ostannogo-znachushhogo-koeficiehnta-videobloka-pri-koduvanni-video.html" target="_blank" rel="follow" title="База патентів України">Окреме кодування позиції останнього значущого коефіцієнта відеоблока при кодуванні відео</a>

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