Деблокування режиму кодування з інтра-імпульсно-кодовою модуляцією (ipcm) і кодування без втрат для відеокодування

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

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

Автори: Ван Сянлінь, Карчєвіч Марта, Ван Дер Аувера Герт

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

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

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

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

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

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

призначення ненульового значення QP для згаданого щонайменше одного блока, кодованого з використанням режиму кодування з ІРСМ; і

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

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

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

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

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

5. Спосіб за п. 1, який додатково включає дозвіл деблокуючої фільтрації для згаданих одного або більше зі згаданої множини блоків відеоданих до виконання деблокуючої фільтрації відносно згаданих одного або більше зі згаданої множини блоків відеоданих на основі режиму кодування з ІРСМ і призначеного ненульового значення QP.

6. Спосіб за п. 1, в якому кодування включає декодування, і в якому декодування згаданого щонайменше одного блока включає:

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

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

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

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

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

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

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

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

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

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

призначення ненульового значення QP для згаданого щонайменше одного блока, кодованого з використанням режиму кодування з ІРСМ; і

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

9. Пристрій за п. 8, в якому для виконання деблокуючої фільтрації відносно згаданих одного або більше зі згаданої множини блоків відеоданих на основі режиму кодування з ІРСМ і призначеного ненульового значення QP відеокодер сконфігурований для:

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

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

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

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

11. Пристрій за п. 8, в якому відеокодер додатково сконфігурований для дозволу деблокуючої фільтрації для згаданих одного або більше зі згаданої множини блоків відеоданих до виконання деблокуючої фільтрації відносно згаданих одного або більше зі згаданої множини блоків відеоданих на основі режиму кодування з ІРСМ і призначеного ненульового значення QP.

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

для декодування згаданого щонайменше одного блока відеокодер сконфігурований для:

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

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

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

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

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

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

14. Пристрій за п. 8, при цьому пристрій містить щонайменше одне з: інтегральної схеми;

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

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

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

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

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

засіб для призначення ненульового значення QP для згаданого щонайменше одного блока, кодованого з використанням режиму кодування з ІРСМ; і

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

16. Пристрій за п. 15, в якому засіб для виконання деблокуючої фільтрації відносно згаданих одного або більше зі згаданої множини блоків відеоданих на основі режиму кодування з ІРСМ і призначеного ненульового значення QP містить:

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

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

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

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

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

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

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

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

19. Пристрій за п. 15, в якому кодування містить здійснення кодування, і в якому

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

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

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

виконуваний комп'ютером код для кодування множини блоків відеоданих, в тому числі кодування щонайменше одного блока зі згаданої множини блоків відеоданих з використанням режиму кодування з інтра-імпульсно-кодовою модуляцією (ІРСМ);

виконуваний комп'ютером код для передбачення ненульового значення параметра квантування (QP) для згаданого щонайменше одного блока, кодованого з використанням режиму кодування з ІРСМ, базуючись, щонайменше частково, на значенні QP для групи квантування, яка включає в себе згаданий щонайменше один блок, кодований з використанням режиму кодування з ІРСМ, при цьому група квантування містить один або більше блоків, які йдуть один за одним, в черзі кодування згаданої множини блоків; виконуваний комп'ютером код для призначення ненульового значення QP для згаданого щонайменше одного блока, кодованого з використанням згаданого режиму кодування з ІРСМ; і

виконуваний комп'ютером код для виконання деблокуючої фільтрації відносно одного або більше зі згаданої множини блоків відеоданих на основі режиму кодування з ІРСМ і призначеного ненульового значення QP для згаданого щонайменше одного блока.

21. Зчитуване комп'ютером запам'ятовуюче середовище за п. 20, в якому виконуваний комп'ютером код для виконання деблокуючої фільтрації відносно згаданих одного або більше зі згаданої множини блоків відеоданих на основі режиму кодування з ІРСМ і призначеного ненульового значення QP містить:

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

22. Зчитуване комп'ютером запам'ятовуюче середовище за п. 21, в якому виконуваний комп'ютером код для виконання деблокуючої фільтрації відносно згаданого щонайменше одного блока на основі призначеного ненульового значення QP містить один або більше з:

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

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

23. Зчитуване комп'ютером запам'ятовуюче середовище за п. 20, в якому кодування містить декодування, і в якому

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

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

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

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

24. Зчитуване комп'ютером запам'ятовуюче середовище за п. 20, в якому кодування містить здійснення кодування, і при цьому

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

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

25. Спосіб кодування відеоданих, який включає етапи, на яких:

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

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

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

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

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

призначають нульове значення QP для згаданого щонайменше одного блока;

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

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

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

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

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

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

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

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

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

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

31. Спосіб за п. 25, в якому призначення ненульового значення QP для згаданого щонайменше одного блока містить визначення призначеного ненульового значенняQP на основі одного або більше з наступного:

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

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

33. Спосіб за п. 25, в якому призначення ненульового значення QP для згаданого щонайменше одного блока містить встановлення постійного значення як призначеного ненульового значення QP.

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

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

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

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

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

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

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

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

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

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

блок збереження відеоданих, сконфігурований для зберігання відеоданих; і

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

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

передбачення зазначеного щонайменше одного блока для генерування передбаченого блока для режиму кодування без втрат: і

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

50. Пристрій за п. 38, при цьому пристрій містить щонайменше одне з: інтегральної схеми;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

виконуваний комп'ютером код для призначення ненульового значення QP для згаданого щонайменше одного блока;

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

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

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

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

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

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

61. Зчитуване комп'ютером запам'ятовуюче середовище за п. 60, в якому виконуваний комп'ютером код для виконання деблокуючої фільтрації відносно кожного з згаданого щонайменше одного блока і суміжного блока на основі призначеного ненульового значення QP містить:

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

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

62. Зчитуване комп'ютером запам'ятовуюче середовище за п. 59, в якому виконуваний комп'ютером код для призначення ненульового значення QP для згаданого щонайменше одного блока містить виконуваний комп'ютером код для визначення призначеного ненульового значення QP на основі одного або більше з наступного:

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

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

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

64. Зчитуване комп'ютером запам'ятовуюче середовище за п. 59, в якому виконуваний комп'ютером код для призначення ненульового значення QP для згаданого щонайменше одного блока містить виконуваний комп'ютером код для встановлювання постійного значення як призначеного ненульового значення QP.

65. Зчитуване комп'ютером запам'ятовуюче середовище за п. 59, в якому кодування містить декодування, і в якому

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

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

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

66. Зчитуване комп'ютером запам'ятовуюче середовище за п. 59, в якому кодування містить здійснення кодування, і при цьому

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

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

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

Текст

Реферат: Методики для кодування відеоданих містять кодування множини блоків відеоданих, при цьому щонайменше один блок з множини блоків відеоданих кодують, використовуючи режим кодування, що є або режимом кодування з інтра-імпульсно-кодовою модуляцією (ІРСМ), або режимом кодування без втрат. У деяких прикладах режим кодування без втрат може використовувати прогнозування. Запропоновані методики, крім того, включають в себе призначення ненульового значення параметра квантування (QP) для згаданого щонайменше одного блока, кодованого з використанням згаданого режиму кодування. Запропоновані методики також містять виконання деблокуючої фільтрації відносно згаданого одного або більше з множини блоків відеоданих на основі режиму кодування, використаного для кодування UA 114494 C2 (12) UA 114494 C2 згаданого щонайменше одного блока і призначеного ненульового значення QP для згаданого щонайменше одного блока. UA 114494 C2 5 10 15 20 25 30 35 40 45 50 55 60 Дана заявка заявляє пріоритет по попередній заявці США №61/549,597, поданій 20 жовтня 2011 року, попередній заявці США №61/605,705, поданій 01 березня 2012 року, попередній заявці США №61/606,277, поданій 02 березня 2012 року, попередній заявці США №61/624,901, поданій 16 квітня 2012 року і попередній заявці США №61/641,775, поданій 02 травня 2012 року, повний зміст кожної з яких включений до складу даного документа по посиланню. Галузь техніки Винахід стосується відеокодування і, зокрема, стосується кодування блоків відеоданих, створених в процесах відеокодування. Рівень техніки Можливості цифрового відео можуть бути включені в пристрої найширшого застосування, в тому числі цифрові телевізійні приймачі, системи прямого цифрового мовлення, системи бездротового мовлення, персональні цифрові помічники (PDA), комп'ютери типу "лептоп" або настільні комп'ютери, планшетні комп'ютери, пристрої для читання електронних книг, цифрові камери, цифрові записуючі пристрої, цифрові медіаплеєри, відеоігрові пристрої, відеоігрові консолі, стільникові або супутникові радіотелефони, так звані "смартфони", пристрої для проведення телеконференцій, пристрої потокового відео і т. п. Пристрої цифрового відео реалізовують різні методики стиснення відео, які, наприклад, описані в стандартах, визначених як MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, Частина 10, стандарт вдосконаленого відеокодування (AVC), стандарт високоефективного відеокодування (HEVC), що знаходиться в процесі розробки, а також розширення вказаних стандартів. Відеопристрої можуть передавати, приймати, кодувати, декодувати і/або запам'ятовувати цифрову відеоінформацію більш ефективно за допомогою реалізації вказаних методик стиснення відео. Згідно з методиками стиснення відео виконується просторове (внутрішньокадрове) прогнозування і/або часове (міжкадрове) прогнозування з метою зменшення або виключення надмірності, властивої відеопослідовностям. Для відеокодування на блоковій основі відеослайс (тобто, відеокадр або частина відеокадра) може бути розділений на відеоблоки, які також можуть називатися деревовидними блоками, одиницями кодування (CU) і/або вузлами кодування. Відеоблоки в інтра-кодованому (внутрішньо кодованому) слайсі зображення (I) кодують з використанням просторового прогнозування застосовно до опорних елементів дискретизації в сусідніх блоках одного і того ж зображення. Відеоблоки в інтер-кодованому (зовнішньо кодованому) слайсі зображення (Р або В) можуть використовувати просторове прогнозування відносно опорних елементів дискретизації в сусідніх блоках одного і того ж зображення або часове прогнозування відносно опорних елементів дискретизації інших опорних зображень. Зображення можуть називатися кадрами, а опорні зображення можуть називатися опорними кадрами. Просторове або часове прогнозування приводить в результаті до предиктивного блока для блока, який повинен бути кодований. Залишкові дані представляють піксельні різниці між вихідним блоком, який повинен бути кодований, і предиктивним блоком. Кодування інтеркодованого блока здійснюють відповідно до вектора руху, який вказує блок опорних елементів дискретизації, які утворюють предиктивний блок, і залишкові дані, які вказують відмінність між кодованим блоком і предиктивним блоком. Кодування інтра-кодованого блока здійснюють відповідно до режиму інтра-кодування і залишкових даних. Для подальшого стиснення залишкові дані можуть бути перетворені з піксельної області в область перетворення, в результаті чого отримують залишкові коефіцієнти перетворення, які потім можна квантувати. Квантовані коефіцієнти перетворення, спочатку скомпоновані в двовимірній матриці, можна сканувати для створення одновимірного вектора коефіцієнтів перетворення. Потім можна застосувати ентропійне кодування для досягнення ще більшого стиснення. Суть винаходу У загальному випадку дане розкриття описує методики виконання деблокуючої (видалення блоковості) фільтрації відносно блоків відеоданих, кодованих з використанням режимів кодування з інтра-імпульсно-кодовою модуляцією (IPCM) і/або кодування без втрат. Зокрема, методики даного розкриття можуть включати в себе виконання деблокуючої фільтрації відносно одного або більше блоків відеоданих, які включають в себе один або більше кодованих з IPCM блоків, кодованих без втрат блоків і блоків, кодованих з використанням методик або "режимів" кодування з втратами. Описані в даному документі методики дозволяють підвищити візуальну якість одного або більше блоків відеоданих при кодуванні блоків, в порівнянні з іншими методиками. Зокрема, описані тут методики можуть підвищити візуальну якість одного або більше кодованих з IPCM блоків, які включають в себе відновлені відеодані, шляхом дозволу деблокуючої фільтрації для цих блоків і виконання деблокуючої фільтрації конкретним чином. 1 UA 114494 C2 5 10 15 20 25 30 35 40 45 50 55 60 Додатково, ці методики можуть підвищити візуальну якість одного або більше кодованого без втрат блоків, які включають в себе вихідні відеодані, шляхом заборони деблокуючої фільтрації для цих блоків. Крім того, ці методики також можуть підвищити візуальну якість одного або більше блоків, кодованих з використанням режимів кодування з втратами, наприклад, блоків, розташованих суміжно з одним або більше IPCM кодованими і кодованими без втрат блоками, за допомогою виконання деблокуючої фільтрації відносно цих блоків конкретним чином. У результаті відкривається можливість відносного поліпшення візуальної якості одного або більше блоків відеоданих, що включають в себе блоки, кодовані з використанням режимів кодування з IPCM, кодування без втрат і кодування з втратами, при використанні методик з даного розкриття. У одному прикладі даного розкриття спосіб кодування відеоданих включає в себе кодування множини блоків відеоданих, при цьому щонайменше один блок зі згаданої множини блоків відеоданих кодують, використовуючи режим кодування, який містить один з режиму кодування з IPCM і режиму кодування без втрат, який використовує прогнозування, призначення ненульового значення параметра квантування (QP) для згаданого щонайменше одного блока, кодованого з використанням згаданого режиму кодування, і виконання деблокуючої фільтрації відносно одного або більше зі згаданої множини блоків відеоданих, на основі режиму кодування, використаного для кодування згаданого щонайменше одного блока і призначеного ненульового значення QP для згаданого щонайменше одного блока. У іншому прикладі цього розкриття пристрій, сконфігурований для кодування відеоданих, включає в себе відеокодер. У цьому прикладі відеокодер сконфігурований для кодування множини блоків відеоданих, при цьому відеокодер сконфігурований для кодування щонайменше одного блока зі згаданої множини блоків відеоданих з використанням режиму кодування, який містить один з режиму кодування з IPCM або режиму кодування без втрат, який використовує прогнозування, призначення ненульового значення QP для згаданого щонайменше одного блока, кодованого з використанням згаданого режиму кодування, і виконання деблокуючої фільтрації відносно одного або більше зі згаданої множини блоків відеоданих, на основі режиму кодування, використаного для кодування згаданого щонайменше одного блока, і призначеного ненульового значення QP для згаданого щонайменше одного блока. У іншому прикладі розкриття пристрій, сконфігурований для кодування відеоданих включає в себе засіб для кодування множини блоків відеоданих, в тому числі засіб для кодування щонайменше одного блока зі згаданої множини блоків відеоданих, з використанням режиму кодування, який містить один з режиму кодування з IPCM або режиму кодування без втрат, який використовує прогнозування, засіб для призначення ненульового значення QP для згаданого щонайменше одного блока, кодованого з використанням режиму кодування, і засіб для виконання деблокуючої фільтрації відносно одного або більше зі згаданої множини блоків відеоданих, на основі режиму кодування, використаного для кодування згаданого щонайменше одного блока, і призначеного ненульового значення QP для згаданого щонайменше одного блока. Методики, описані в даному винаході, можна реалізувати апаратними засобами, програмними засобами, програмно-апаратними засобами або їх комбінацією. При реалізації програмними засобами ці програмні засоби можуть виконуватися в одному або більше процесорах, таких як мікропроцесор, прикладна спеціалізована інтегральна схема (ASIC), програмована користувачем вентильна матриця (FPGA) або цифровий процесор сигналів (DSP). Програмні засоби, що реалізовують вказані методики, можуть спочатку зберігатися на матеріальному зчитуваному комп'ютером носії і завантажуватися і виконуватися в процесорі. Відповідно, в іншому прикладі у винаході пропонується зчитуване комп'ютером запам'ятовуюче середовище, що зберігає інструкції, які при виконанні спонукають один або більше процесорів кодувати відеодані. У цьому прикладі згадані інструкції спонукають згаданий один або більше процесорів кодувати множину блоків відеоданих, в тому числі кодувати щонайменше один блок зі згаданої множини блоків відеоданих з використанням режиму кодування, який містить один з режиму кодування з IPCM і режиму кодування без втрат, який використовує прогнозування, призначати ненульове значення QP для згаданого щонайменше одного блока, кодованого з використанням згаданого режиму кодування, і виконувати деблокуючу фільтрацію відносно одного або більше зі згаданої множини блоків відеоданих, на основі режиму кодування, використаного для кодування згаданого щонайменше одного блока, і призначеного ненульового значення QP для згаданого щонайменше одного блока. У нижченаведеному описі і супровідних кресленнях розкриті подробиці одного або більше прикладів здійснення винаходу. Інші ознаки, цілі і переваги даного винаходу стануть очевидними з його опису і креслень, а також з формули винаходу. 2 UA 114494 C2 5 10 15 20 25 30 35 40 45 50 55 60 Короткий опис креслень Фіг. 1 - блок-схема, яка ілюструє приклад системи здійснення кодування і декодування відео, яка може виконувати методики деблокування режиму кодування з інтра-імпульсно-кодовою модуляцією (IPCM) і кодування без втрат, згідно з методиками даного розкриття; фіг. 2 - блок-схема, яка ілюструє приклад засобу здійснення кодування, який може реалізувати методики деблокування режиму кодування з IPCM і кодування без втрат, згідно з методиками даного розкриття; фіг. 3 - блок-схема, яка ілюструє приклад відеодекодера, який може реалізувати методики деблокування режиму кодування з IPCM і кодування без втрат, згідно з методиками даного розкриття; фіг. 4 - концептуальна схема, де показаний приклад деблокуючої фільтрації, що виконується відносно границі двох суміжних блоків відеоданих, згідно з методиками даного розкриття; фіг. 5 - концептуальна схема, де показаний приклад сигналізації значення дельта QP для кожного з одного або більше блоків відеоданих, згідно з методиками даного розкриття; фіг. 6 - блок-схема послідовності операцій, де показаний зразковий спосіб обчислення значення сили границі для деблокуючого фільтра згідно з методиками даного розкриття; фіг. 7А-7В - концептуальні схеми, на яких показані приклади деблокування режиму кодування з IPCM, згідно з методиками даного розкриття; фіг. 8А-8В - концептуальні схеми, де показані приклади деблокування режиму кодування без втрат згідно з методиками даного розкриття; фіг. 9-11 - блок-схеми послідовності операцій, де проілюстровані зразкові способи деблокування режиму кодування без втрат і з IPCM, згідно з методиками даного розкриття. Детальний опис У цьому розділі описуються загалом методики виконання деблокуючої фільтрації відносно блоків відеоданих, кодованих з використанням режимів кодування з інтра-імпульсно-кодовою модуляцією IPCM і/або кодування без втрат. Зокрема, методики згідно з даним винаходом можуть включати в себе виконання деблокуючої фільтрації відносно одного або більше блоків відеоданих, які включають в себе один або більше кодованих з IPCM блоків, кодованих без втрат блоків, і блоків, кодованих з використанням методик або "режимів" кодування з втратами. Описані тут методики дозволяють підвищити візуальну якість одного або більше блоків відеоданих при їх кодуванні в порівнянні з іншими методиками. Як один приклад, описані методики можуть підвищити візуальну якість одного або більше кодованих з IPCM блоків, які включають в себе відновлені відеодані шляхом дозволу деблокуючої фільтрації для цих блоків і виконання деблокуючої фільтрації конкретним чином. Наприклад, ці методики включають в себе призначення ненульового значення параметра квантування (QP) для Кодованого з IPCM блока на основі одного або більше з просигналізованого значення QP, яке вказує призначене ненульове значення QP, прогнозованого значення QP і значення дельта QP ("dQP"), яке представляє різницю між призначеним ненульовим значенням QP і прогнозованим значенням QP для Кодованого з IPCM блока. Ці методики додатково включають в себе виконання деблокуючої фільтрації відносно IPCM кодованого блока на основі призначеного ненульового значення QP для Кодованого з IPCM блока. Як інший приклад, описані тут методики можуть поліпшити візуальну якість одного або більше кодованих без втрат блоків, які включають в себе вихідні відеодані, шляхом заборони деблокуючої фільтрації для вказаних блоків. Наприклад, згадані методики включають в себе сигналізацію одного або більше синтаксичних елементів (наприклад, 1-бітові коди або "прапори"), які вказують на заборону деблокуючої фільтрації для одного або більше кодованих без втрат блоків. У деяких прикладах один або більше синтаксичних елементів можуть вказувати, що деблокуюча фільтрація заборонена для всіх границь одного або більше кодованих без втрат блоків, які спільно використовуються з іншими суміжними блоками відеоданих. Ще в одному прикладі описані методики також дозволяють поліпшити візуальну якість одного або більше блоків відеоданих, які розташовані суміжно з IPCM кодованим блоком або кодованим без втрат блоком, і які кодують з використанням режимів кодування з втратами, виконуючи деблокуючу фільтрацію відносно блоків з втратами конкретним чином. Наприклад, такі методики включають в себе виконання деблокуючої фільтрації відносно одного або більше блоків з втратами на основі призначеного ненульового значення QP для суміжного кодованого без втрат або кодованого з IPCM блока. Таким чином з'являється можливість відносного поліпшення візуальної якості одного або більше блоків відеоданих, що включають в себе блоки, кодовані з використанням режимів 3 UA 114494 C2 5 10 15 20 25 30 35 40 45 50 55 60 кодування з IPCM, кодування без втрат і кодування з втратами, при використанні розкритих тут методик. На фіг. 1 представлена блок-схема, де показаний приклад системи здійснення кодування і декодування відео, в якій можуть бути реалізовані методики деблокування режиму кодування з IPCM і без втрат згідно з методиками даного розкриття. Як показано на фіг. 1, система 10 включає в себе пристрій-джерело 12, яке створює закодовані відеодані, які надалі повинні бути декодовані пристроєм-адресатом 14. Пристрій-джерело 12 і пристрій-адресат 14 можуть містити будь-який з найрізноманітніших пристроїв, в тому числі, настільний комп'ютер, комп'ютер типу "ноутбук" (тобто "лептоп"), планшетний комп'ютер, телевізійну приставку, телефонну трубку, таку як так званий "смартфон", так званий "смартпад", телевізійний приймач, камеру, пристрій відображення, цифровий медіаплеєр, відеоігрову консоль, пристрій потокового відео або т. п. В деяких випадках пристрій-джерело 12 і пристрій-адресат 14 можуть бути обладнані засобами бездротового зв'язку. Пристрій-адресат 14 може приймати закодовані відеодані, які повинні бути декодовані, через лінію 16 зв'язку. Лінія 16 зв'язку може містити середовище або пристрій будь-якого типу, здатний переміщувати закодовані відеодані від пристрою-джерела 12 на пристрій-адресата 14. У одному прикладі лінія 16 зв'язку може містити середовище зв'язку, що дозволяє пристроюджерелу 12 передавати закодовані відеодані безпосередньо на пристрій-адресата 14 в режимі реального часу. Закодовані відеодані можуть бути модульовані відповідно до стандарту зв'язку, такого як протокол бездротового зв'язку, і можуть передаватися на пристрій-адресата 14. Середовище зв'язку може містити будь-який носій дротового або бездротового зв'язку, наприклад, радіочастотний (RF) спектр або одну або більше фізичних ліній передачі. Середовище зв'язку може залишати частину мережі пакетної передачі, такої як локальна мережа, регіональна мережа або глобальна мережа, наприклад Інтернет. Середовище зв'язку може включати в себе маршрутизатори, комутатори, базові станції або будь-яке інше обладнання, яке може бути корисне для здійснення зв'язку між пристроєм-джерелом 12 і пристроєм-адресатом 14. Як альтернатива закодовані дані можуть виводитися з вихідного інтерфейсу 22 в запам'ятовуючий пристрій 24. Аналогічним чином, до закодованих даних можливий доступ з боку запам'ятовуючого пристрою 24 через вхідний інтерфейс 26. Запам'ятовуючий пристрій 24 може включати в себе будь-яке запам'ятовуюче середовище з числа найрізноманітніших розподілених або локально доступних середовищ (носіїв даних), таких як накопичувач на жорсткому диску, диски типу Blu-ray, диски DVD, диски CD, флеш-пам'ять, енергозалежна або енергонезалежна пам'ять, або будь-яке інше відповідне цифрове запам'ятовуюче середовище для зберігання закодованих відеоданих. У ще одному прикладі запам'ятовуючий пристрій 24 може відповідати файловому серверу або іншому проміжному запам'ятовуючому пристрою, який може зберігати закодоване відео, створене пристроєм-джерелом 12. Пристрій-адресат 14 може звертатися до запам'ятовуваних в запам'ятовуючому пристрої 24 відеоданих, використовуючи потокову передачу або завантаження відеоданих. Файловий сервер може являти собою сервер будь-якого типу, здатний запам'ятовувати і зберігати закодовані відеодані і передавати їх на пристрій-адресат 14. Приклади файлових серверів включають в себе Webсервер (наприклад, для Web-сайту), FTP сервер, підключені до мережі запам'ятовуючі пристрої (NAS) або локальний накопичувач на диску. Пристрій-адресат 14 може мати доступ до закодованих відеоданих через будь-яке стандартне з'єднання для передачі даних, в тому числі Інтернет-з'єднання. Таке з'єднання може включати в себе бездротовий канал (наприклад, Wi-Fi з'єднання), дротове з'єднання (наприклад, DSL, кабельний модем і т. д.), або комбінацію обох видів з'єднань, яка підходить для доступу до закодованих відеоданих, що зберігаються на файловому сервері. Передача закодованих відеоданих із запам'ятовуючого пристрою 24 може бути реалізована у вигляді потокової передачі, передачі з вивантаженням або їх комбінації. Розкриті тут методики не обов'язково обмежуються бездротовими додатками або установками. Ці методики можна застосувати до відеокодування для підтримки будь-якого з різноманітних мультимедійних додатків, таких як ефірне телевізійне мовлення, передачі кабельного телебачення, передачі супутникового телебачення, передачі потокового відео, наприклад, через Інтернет, кодування цифрового відео для запам'ятовування на носії даних, декодування цифрового відео, що зберігається на носії даних, або інші додатки. У деяких прикладах система 10 може бути сконфігурована для підтримки однонаправленої або двонаправленої передачі відео для підтримки додатків, такої як потокове відео, відео відтворення, відеомовлення або відеотелефонія. У прикладі по фіг. 1 пристрій-джерело 12 включає в себе джерело 18 відео, засіб 20 здійснення кодування (засіб здійснення кодування) і вихідний інтерфейс 22. У деяких випадках 4 UA 114494 C2 5 10 15 20 25 30 35 40 45 50 55 60 вихідний інтерфейс 22 може включати в себе модулятор/демодулятор (модем) і/або передавач. У пристрої-джерелі 12 джерело 18 відео може включати в себе таке джерело, як пристрій фіксації відео, наприклад, відеокамеру, відеоархіви, що містять раніше зафіксоване відео, інтерфейс подачі відео для прийому відео від провайдера відеоконтенту або системи комп'ютерної графіки для створення комп'ютерних графічних даних як початкового відео або комбінації вказаних джерел. Наприклад, якщо джерело 18 відео являє собою відеокамеру, то пристрій-джерело 12 і пристрій-адресат 14 можуть утворити так звані відеофони або камерофони. Однак описані в цьому винаході методики можна застосовувати до відеокодування загалом і використовувати для бездротових і/або дротових додатків. Зафіксоване в даний момент, попередньо зафіксоване або створене комп'ютером відео може бути закодоване засобом 20 здійснення кодування. Закодовані відеодані можуть передаватися безпосередньо на пристрій-адресат 14 через вихідний інтерфейс 22 пристроюджерела 12. Закодовані відеодані також (або як альтернатива) можуть запам'ятовуватися в запам'ятовуючому пристрої 24 для звернення до них в майбутньому з боку пристрою-адресата 14 або інших пристроїв для декодування і/або відтворення. Пристрій-адресат 14 включає в себе вхідний інтерфейс 26, відеодекодер 30 і пристрій 28 відображення. У деяких випадках вхідний інтерфейс 26 може включати в себе приймач і/або модем. Вхідний інтерфейс 26 пристрою-адресата 14 приймає закодовані відеодані через лінію 16 зв'язку або від запам'ятовуючого пристрою 24. Закодовані відеодані, передані через лінію 16 зв'язку або прогнозовані в запам'ятовуючому пристрої 24, можуть включати в себе різноманітні синтаксичні елементи, створені засобом 20 здійснення кодування для використання відеодекодером, таким як відеодекодер 30, при декодуванні відеоданих. Вказані синтаксичні елементи можуть бути включені в закодовані відеодані, що передаються через середовище зв'язку, що запам'ятовуються на носії даних або що запам'ятовуються на файловому сервері. Пристрій 28 відображення може бути складовою частиною (або бути зовнішнім) пристроюадресата 14. У деяких прикладах пристрій-адресат 14 може включати в себе інтегрований в нього пристрій відображення, а також бути сконфігурований для взаємодії із зовнішнім пристроєм відображення. У інших прикладах пристроєм-адресатом 14 може бути пристрій відображення. У загальному випадку пристрій 28 відображення відображає користувачеві декодовані відеодані і може містити будь-який з різноманітних пристроїв відображення, таких як рідкокристалічний пристрій відображення (LCD), плазмовий пристрій відображення, пристрій відображення на органічних світловипромінювальних діодах (OLED) або пристрій відображення іншого типу. Засіб 20 здійснення кодування і відеодекодер 30 можуть функціонувати згідно зі стандартом стиснення відео, таким як стандарт високоефективного відеокодування (HEVC), що розробляється Об'єднаною командою розробників систем відеокодування (JCT-VC) з Експертної групи по відеокодуванню ITU-T (VCEG) і Експертної групи по рухомих зображеннях (MPEG) ISO/IEC, і може відповідати тестовій моделі HEVC. Як альтернатива засіб 20 здійснення кодування і відеодекодер 30 можуть працювати згідно з іншими комерційними або промисловими стандартами, такими як стандарт ITU-T H.264, який також називається MPEG-4, частина 10, AVC (вдосконалене відеокодування) або розширенням вказаних стандартів. Однак методики, розкриті в цьому винаході, не обмежуються яким-небудь конкретним стандартом кодування. Інші приклади стандартів стиснення відео включають в себе MPEG-2 і ITU-T H.263. Останній проект стандарту HEVC, який називається "HEVC Working Draft 8" або "WD8" описаний в документі JCTVC-J1003_d7, Bross і інш., "High efficiency video coding (HEVC) text specification draft 8" описаний в документі JCTVC-J1003_d7, Bross і інш., "High efficiency video coding (HEVC) text specification draft 8" Об'єднаної команди розробників систем відеокодування (JCT-VC) стандартів ITU-T SG16 WP3 і ISO/IEC JTC1/SC29/WG11, 10th Meeting: Stockholm, SE, 11-20 липня 2012 року, який за станом 2 жовтня 2012 року можна скачати з http://phenix.intevry.fr/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J1003-v8.zip. Інший попередній проект стандарту HEVC, який називається в цьому описі "HEVC Working Draft 4" або "WD4," описаний в документі JCTVC-F803_d2, Bross і інш., "WD4: Working Draft 4 °F High-Efficiency Video Coding, " Об'єднаної команди розробників систем відеокодування (JCT-VC) стандартів ITU-T SG16 WP3 і ISO/IEC JTC1/SC29/WG11, 6th Meeting: Torino, IT, 14-22 липня 2011 року, який на 2 жовтня 2012 року можна скачати з http://phenix.intevry.fr/jct/doc_end_user/documents/6_Torino/wg11/JCTVC-F803-v8.zip. Інший попередній проект стандарту HEVC, який називається в цьому описі "HEVC Working Draft 6" or "WD6," описаний в документі JCTVC-H1003, Bross і інш., "High efficiency video coding (HEVC) text specification draft 6," Об'єднаній команди розробників систем відеокодування (JCT-VC) стандартів ITU-T SG16 WP3 і ISO/IEC JTC1/SC29/WG11, 8th Meeting: San Jose, Calif., USA, 20 лютого 2012 року, який на 5 UA 114494 C2 5 10 15 20 25 30 35 40 45 50 55 1 червня 2012 року можна скачати з http://phenix.intevey.fr/jct/doc_end_user/documents/8_San%20Jose/wg11/JCTVC-H1003-v22.zip Хоча це на фіг. 1 не показано, згідно з деякими аспектами засіб 20 здійснення кодування і відеодекодер 30 можуть бути інтегровані кожний із засобом здійснення кодування аудіо і аудіодекодером і можуть включати в себе відповідні блоки MUX-DMUX (мультиплексордемультиплексор) або інші апаратні і програмні засоби для здійснення кодування як аудіо, так і відео в загальному потоці даних або в окремих потоках даних. У деяких прикладах, якщо це має місце, блоки MUX-DMUX можуть відповідати Протоколу мультиплексора ITU H.223 або іншим протоколам, таким як Протокол дейтаграм користувача (UDP). Засіб 20 здійснення кодування і відеодекодер 30 можуть бути реалізовані кожний у вигляді будь-яких відповідних схем засобу здійснення кодування (енкодера) або декодера, таких як один або більше мікропроцесорів, процесори DSP, інтегральні схеми ASIC, вентильні матриці FPGA, дискретні логічні схеми, програмні засоби, апаратні засоби, програмно-апаратні засоби або будь-яка їх комбінація. При частковій реалізації вказаних методик програмними засобами пристрій може зберігати інструкції програмного забезпечення на відповідному непостійному зчитуваному комп'ютером носії і виконувати ці інструкції апаратними засобами з використанням одного або більше процесорів, що реалізовують розкриті у винаході методики. Як засіб 20 здійснення кодування, так і відеодекодер 30 можуть бути включені до складу одного або більше засобів здійснення кодування або декодерів, або кожний з них може бути інтегрований в об'єднаному засобі здійснення кодування/декодері ("CODEC") у відповідному пристрої. Роботи по стандартизації HEVC основані на вдосконалюваній моделі пристрою відеокодування, яка називається тестовою моделлю (HM) стандарту HEVC. У моделі HM закладено декілька додаткових можливостей для пристроїв відеокодування в порівнянні з існуючими пристроями, відповідними, наприклад, стандарту ITU-T H.264/AVC. Наприклад, в той час як стандарт H.264 забезпечує дев'ять режимів кодування з інтра(внутрішнім)прогнозуванням, модель HM може забезпечити до тридцяти п'яти режимів кодування з інтрапрогнозуванням. У загальному випадку робоча модель HM передбачає, що відеокадр або відеозображення можна розділити на послідовність деревовидних блоків або найбільших одиниць кодування (LCU), які включають в себе елементи дискретизації яскравості і елементи дискретизації кольоровості. Призначення деревовидного блока таке ж, як у макроблока в стандарті H.264. Слайс включає в себе ряд послідовних деревовидних блоків в порядку кодування. Відеокадр або відеозображення може бути розбитий на один або більше слайсів. Кожний деревовидний блок можна розділити на одиниці кодування (CU) згідно з квадродеревом. Наприклад, кореневий вузол квадродерева можна розділити на чотири дочірні вузли, а кожний дочірній вузол, в свою чергу, може являти собою батьківський вузол і бути розділений на чотири інші дочірні вузли. Кінцевий не розділений дочірній вузол як кінцевий вузол квадродерева містить вузол кодування, тобто, кодований відеоблок. Синтаксичні дані, пов'язані з кодованим бітовим потоком можуть визначати максимальну кількість можливих розділень деревовидного блока, а також можуть визначати мінімальний розмір вузлів кодування. CU включає в себе вузол кодування і одиниці прогнозування (PU) і одиниці перетворення (TU), пов'язані з вузлом кодування. Розмір CU відповідає розміру вузла кодування і повинен мати квадратну форму. Розмір CU може знаходитися в діапазоні від 8×8 пікселів до розміру деревовидного блока з максимальним розміром 64×64 пікселя або більше. Кожна CU може містити одну або більше PU і одну або більше TU. Синтаксичні дані, пов'язані з CU, можуть описувати, наприклад, розбиття CU на одну або більше PU. Режими розбиття можуть відрізнятися залежно від того, чи пропущена CU, чи здійснене кодування в прямому режимі, чи здійснене кодування в режимі інтра-прогнозування або чи здійснене кодування в режимі інтерпрогнозування. PU можуть бути розділені на частини не квадратної форми. Синтаксичні дані, пов'язані з CU, можуть також описувати, наприклад, розбиття CU на одну або більше TU згідно з квадродеревом. TU може мати квадратну або не квадратну форму. Стандарт HEVC дозволяє виконувати перетворення відповідно до TU, які можуть відрізнятися у різних CU. Розмір TU, як правило, оснований на розмірі PU в даній CU, визначеній для розділеної LCU, хоча це не завжди так. Як правило, TU мають однаковий або менший розмір з PU. У деяких прикладах залишкові елементи дискретизації, які відповідають одній CU, можна додатково розділити на менші одиниці, використовуючи структуру квадродерева, відому під назвою "залишкове квадродерево" (RQT). Кінцеві вузли дерева RQT можуть називатися TU. Значення піксельної різниці, пов'язані з TU, можна перетворити для створення коефіцієнтів перетворення з подальшим їх квантуванням. 6 UA 114494 C2 5 10 15 20 25 30 35 40 45 50 55 У загальному випадку PU включає в себе дані, які стосуються процесу прогнозування. Наприклад, коли PU закодована в інтра-режимі, вона може включати в себе дані, що описують режим інтра-прогнозування для даної PU. У іншому прикладі, коли PU закодована в інтеррежимі, вона може включати в себе дані, що визначають вектор руху для даної PU. Дані, що визначають вектор руху для PU, можуть описувати, наприклад, горизонтальну складову вектора руху, вертикальну складову вектора руху, роздільну здатність для вектора руху (наприклад, з точністю до чверті пікселя або з точністю до однієї восьмої пікселя), опорне зображення, на яке вказує вектор руху, і/або список опорних зображень (наприклад, список 0, список 1 або список С) для вектора руху. У загальному випадку TU використовується в процесах перетворення і квантування. Дана CU, що має одну або більше PU, може також включати в себе одну або більше TU. Услід за прогнозуванням засіб 20 здійснення кодування може обчислити залишкові значення, які відповідають даній PU. Залишкові значення містять значення піксельної різниці, які можна перетворити в коефіцієнти перетворення, виконати їх квантування і сканування з використанням TU, щоб створити перетворені в послідовну форму коефіцієнти перетворення для ентропійного кодування. У даному описі, як правило, використовується термін "відеоблок" або просто "блок" для посилання на вузол кодування CU. У деяких конкретних випадках в даному описі також може використовуватися термін "відеоблок" для посилання на деревовидний блок, тобто, LCU або CU, яка включає в себе вузол кодування і PU і TU. Відеопослідовність, як правило, включає в себе ряд відеокадрів або відеозображень. Група зображень (GOP) в загальному випадку містить ряд, що складається з одного або декількох відеозображень. Група GOP може включати в себе синтаксичні дані в заголовку групи GOP, заголовку одного або більше зображення або де-небудь в іншому місці, де описують кількість зображень, включених в групу GOP. Кожний слайс зображення може включати в себе синтаксичні дані слайса, які описують режим здійснення кодування для відповідного слайса. Засіб 20 здійснення кодування звичайно працює з відеоблоками всередині окремих відеослайсів для здійснення кодування відеоданих. Відеоблок може відповідати вузлу кодування в CU. Відеоблоки можуть мати фіксовані або змінні розміри і можуть відрізнятися по розмірах відповідно до заданого стандарту кодування. Наприклад, модель HM підтримує прогнозування для різних розмірів PU. Припустимо, що розмір конкретної CU становить 2N×2N, модель HM підтримує інтра-прогнозування для розмірів PU, що становлять 2N×2N або N×N, і інтер-прогнозування для симетричних розмірів PU, що становлять 2N×2N, 2N×N, N×2N або N×N. Модель HM також підтримує асиметричне розбиття для інтра-прогнозування для розмірів PU, що становлять 2N×nU, 2N×nD, nL×2N і nR×2N. При асиметричному розбитті в одному напрямку CU розбиття відсутнє, в той час як в іншому напрямку виконується розбиття на частині у відношенні 25 % і 75 %. Частина CU, відповідна 25 % частини, позначена як "n", після якої йде позначення "Вгору", "Вниз", "Ліворуч" або "Праворуч". Таким чином, наприклад, "2N×nU" стосується CU розміром 2N×2N, яка розбита по горизонталі на PU розміром 2N×0,5 N зверху і PU розміром 2N×1,5 N знизу. У даному описі форми "N×N" і "N на N" можуть використовуватися як взаємозамінні для посилання на піксельні розміри відеоблока з точки зору розмірів по вертикалі і горизонталі. Наприклад, 16×16 пікселів або 16 на 16 пікселів. У загальному випадку блок розміром 16×16 буде мати 16 пікселів у вертикальному напрямку (у=16) і 16 пікселів в горизонтальному напрямку (×=16). Аналогічним чином блок N×N звичайно має N пікселів у вертикальному напрямку і N пікселів в горизонтальному напрямку, де N представляє не негативне ціле значення. Пікселі в блоці можуть бути скомпоновані по рядках і стовпцях. Крім того, блоки не обов'язково повинні мати однакову кількість пікселів в горизонтальному напрямку і у вертикальному напрямку. Наприклад, блоки можуть містити N×M пікселів, де M не обов'язково дорівнює N. Услід за кодуванням з інтра- або інтер-прогнозуванням з використанням PU з CU засіб 20 здійснення кодування може обчислити залишкові дані для TU з CU. PU можуть містити піксельні дані в просторовій області (яка називається також піксельною областю), а TU можуть містити коефіцієнти в області перетворення після застосування перетворення, наприклад, дискретного косинусного перетворення (DCT), цілочисельного перетворення, вейвлетного перетворення або концептуально подібного перетворення, що застосовується до залишкових відеоданих. Залишкові дані можуть відповідати піксельним різницям між пікселями некодованого зображення і прогнозованими значеннями, відповідними PU. Засіб 20 здійснення кодування може утворити TU, що включають в себе залишкові дані для CU, а потім перетворити TU для створення коефіцієнтів перетворення для CU. 7 UA 114494 C2 5 10 15 20 25 30 35 40 45 50 55 60 Після будь-якого перетворення для створення коефіцієнтів перетворення засіб 20 здійснення кодування може виконати квантування коефіцієнтів перетворення. Квантування в загальному випадку стосується процесу, в ході якого виконується квантування коефіцієнтів перетворення з метою можливого скорочення об'єму даних, що використовуються для представлення вказаних коефіцієнтів, що забезпечує додаткове стиснення. Процес квантування може зменшити глибину в бітах, пов'язану з деякими або всіма згаданими коефіцієнтами. Наприклад, n-бітове значення можна округлити в меншу сторону, набувши m-бітового значення під час квантування, де n більше, ніж m. У деяких прикладах засіб 20 здійснення кодування може використовувати попередньо визначене сканування або порядок "сканування" для сканування квантованих коефіцієнтів перетворення, щоб отримати перетворений в послідовну форму вектор, який можна ентропійно закодувати. У інших прикладах засіб 20 здійснення кодування може виконувати адаптивне сканування. Після сканування квантованих коефіцієнтів перетворення для формування одновимірного вектора засіб 20 здійснення кодування може виконати здійснення ентропійного кодування цього одновимірного вектора, наприклад, відповідно до контекстно-залежного адаптивного кодування із змінною довжиною слова (CAVLC), контекстно-адаптивного двійкового арифметичного кодування (CABAC), синтаксично орієнтованого адаптивного двійкового арифметичного кодуванням (SBAC), ймовірносного ентропійного кодуванням з інтервальним розбиттям (PIPE), або іншого методу здійснення ентропійного кодування. Засіб 20 здійснення кодування може також виконати здійснення ентропійного кодування синтаксичних елементів, пов'язаних із закодованими відеоданими, для використання відеодекодером 30 при декодуванні відеоданих. Для виконання кодування CABAC засіб 20 здійснення кодування може призначити контекст в контекстній моделі символу, який повинен бути переданий. Цей контекст може стосуватися, наприклад, того, чи є сусідні значення символу нульовими. Для виконання кодування CAVLC засіб 20 здійснення кодування може вибрати код із змінною довжиною слова для символу, який повинен бути переданий. Кодові слова в VLC можуть бути побудовані так, щоб відносно більш короткі коди відповідали більш ймовірним символам, в той час як відносно більш довгі коди відповідали менш ймовірним символам. Таким чином, використання кодування VLC може забезпечити економне використання бітів, наприклад, шляхом використання кодових слів однакової довжини для кожного символу, який повинен бути переданий. Визначення імовірності може бути основане на контексті, призначеному даному символу. Нижченаведене обговорюється з посиланнями на засіб 20 здійснення кодування і відеодекодер 30 і різні їх компоненти, показані на фігурах 2 і 3 і більш детально описані нижче. Згідно з деякими методиками відеокодування у випадках, коли засіб 20 здійснення кодування (наприклад, використовуючи блок 40 вибору режиму по фіг. 2) вибирає режим кодування з IPCM для кодування конкретного "поточного" блока відеоданих на основі результатів з помилками, засіб 20 здійснення кодування (наприклад, що використовує блок 48А здійснення кодування з IPCM по фіг. 2) може виконати здійснення кодування даних або "елементів дискретизації" поточного блока як необроблених даних або елементів дискретизації безпосередньо в бітовому потоці. Зокрема, в деяких версіях робочого проекту ("WD") Стандарту HEVC (наприклад, у версії 4 або "WD4") режим інтра-кодування з IPCM дозволяє засобу 20 здійснення кодування представити елементи дискретизації яскравості і кольоровості блока відеоданих безпосередньо в бітовому потоці як необроблені дані (тобто, елементи дискретизації або значення яскравості і кольоровості кодують без їх модифікації або "як є"). Таким чином, засіб 20 здійснення кодування може виконати здійснення кодування поточного блока у вигляді Кодованого з IPCM блока без стиснення даних в цьому блоці. У одному прикладі засіб 20 здійснення кодування може вибрати режим інтра-кодування з IPCM, коли кількість бітів, необхідних для представлення стисненої версії поточного блока (наприклад, версії поточного блока, закодованої з використанням інтра-прогнозування або інтер-прогнозування) перевищує кількість бітів, необхідних для відправлення нестисненої версії даних в цьому блоці. У цьому випадку засіб 20 здійснення кодування (використовуючи, наприклад, блок 48А здійснення кодування з IPCM) може виконати здійснення кодування вихідних нестиснених даних або елементів дискретизації поточного блока у вигляді IPCM елементів дискретизації. У деяких випадках можлива фільтрація вихідних нестиснених даних деблокуючим фільтром (наприклад, деблокуючим фільтром 64 по фіг. 2) перед здійсненням їх кодування засобом 20 здійснення кодування у вигляді IPCM елементів дискретизації. У іншому прикладі засіб 20 здійснення кодування може використовувати інтра- або інтерпрогнозування для створення стисненої версії поточного блока, який повинен бути ентропійно закодований (наприклад, з використанням блока 56 здійснення ентропійного кодування по фіг. 8 UA 114494 C2 5 10 15 20 25 30 35 40 45 50 55 60 2), і створити відновлений блок зі стисненої версії поточного блока для використання як опорного зображення. Якщо засіб 20 здійснення кодування визначає, що збій конвеєрної обробки має місце швидше всього в блоці здійснення ентропійного кодування (наприклад, в блоці 56 здійснення ентропійного кодування), то засіб 20 здійснення кодування може виконати здійснення кодування відновлених елементів дискретизації відновленого блока як IPCM елементи дискретизації. У прикладі на фіг. 2, що описується нижче, відновлений блок піддається фільтрації деблокуючим фільтром, а саме, деблокуючим фільтром 64, перед його кодуванням у вигляді IPCM елементів дискретизації блоком здійснення кодування з IPCM, тобто, блоком 48А здійснення кодування з IPCM. У інших прикладах здійснення кодування відновленого блока може бути виконане блоком здійснення кодування з IPCM без виконання фільтрації. Коли відеодекодер 30 приймає закодований бітовий потік відео, що представляє блоки відеоданих, від засобу 20 здійснення кодування, який включає в себе IPCM елементи дискретизації як необроблені відеодані, відеодекодер 30 (використовуючи, наприклад, блок 98В декодування з IPCM по фіг. 3) може декодувати бітовий потік для створення блока відеоданих безпосередньо з IPCM елементів дискретизації. Як було описано вище, в деяких попередніх версіях стандарту HEVC (наприклад, WD4) режим інтра-кодування з IPCM дозволяє засобу 20 здійснення кодування представляти елементи дискретизації яскравості і кольоровості блока відеоданих безпосередньо в бітовому потоці у вигляді необроблених даних. Таким чином, відеодекодер 30 (використовуючи, наприклад, блок 98А декодування з IPCM) може декодувати поточний блок як блок, що кодується з IPCM, без розпаковування закодованих даних цього блока. У одному прикладі IPCM елементи дискретизації в бітовому потоці для поточного блока можуть являти собою вихідні нестиснені елементи дискретизації, так що декодований блок виявляється ідентичним вихідному блоку. У цьому випадку вихідний блок, створений відеодекодером 30 (наприклад, з використанням блока 98А декодування з IPCM) може бути безпосередньо виведений як декодований відеоблок. У деяких випадках вихідний блок, створений відеодекодером 30, може бути підданий фільтрації деблокуючим фільтром (наприклад, деблокуючим фільтром 94 по фіг. 3) перед його використанням як опорним зображенням і виведенням у вигляді декодованого відео. У іншому прикладі IPCM елементи дискретизації в бітовому потоці для поточного блока можуть являти собою відновлені елементи дискретизації відновленої версії поточного блока. У цьому випадку декодований блок може бути ідентичний відновленій версії вихідного блока, який може включати в себе декілька спотворень в порівнянні з вихідним блоком. У прикладі на фіг. 3, описаному нижче, відновлений блок, створений відеодекодером 30, тобто, з використанням блока 98А декодування з IPCM, може бути підданий фільтрації деблокуючим фільтром, а саме, деблокуючим фільтром 94, перед його використанням як опорним зображенням і виведенням у вигляді декодованого відео. У інших прикладах відновлений блок може безпосередньо виводитися з відеодекодера 30 (наприклад, з використанням блока 98А декодування з IPCM) у вигляді декодованого відео без фільтрації. Деякі попередні версії стандарту HEVC (наприклад, WD4) фактично підтримують вищеописаний режим інтра-кодування з IPCM, який дозволяє засобу здійснення кодування (наприклад, засобу 20 здійснення кодування) представляти елементи дискретизації яскравості і кольоровості поточного блока відеоданих безпосередньо в бітовому потоці у вигляді необроблених даних. Як пояснювалося раніше, є декілька можливих варіантів використання вказаних методик інтра-кодування з IPCM. У одному прикладі інтра-кодування з IPCM можна використовувати як засіб, що дозволяє засобу здійснення кодування забезпечити такий розмір в бітах кодованого представлення блока відеоданих, який не буде перевищувати кількість бітів, необхідних для відправлення нестиснених даних цього блока. У вказаних випадках засіб здійснення кодування може виконати здійснення кодування елементів дискретизації даних в поточному блоці у вигляді IPCM елементів дискретизації. У іншому прикладі кодування з IPCM і інтра-прогнозуванням можна використовувати, щоб уникнути збоїв конвеєрної обробки. У вказаних випадках засіб здійснення кодування може виконати здійснення кодування не вихідних елементів дискретизації, наприклад, відновлених елементів дискретизації даних у відновленій версії поточного блока у вигляді IPCM елементів дискретизації. Додатково, деякі попередні версії стандарту HEVC (наприклад, WD4) також підтримують сигналізацію синтаксичного елемента "pcm_loop_filter_disable_flag" в наборі параметрів послідовності (SPS), пов'язаному з одним або більше блоками відеоданих для вказівки, чи дозволені процеси контурної фільтрації для кодованих з IPCM блоків. Процеси контурної фільтрації можуть включати в себе деблокуючу фільтрацію, адаптивну контурну фільтрацію 9 UA 114494 C2 5 10 15 20 25 30 35 40 45 50 55 60 (ALF) і адаптивне до елементів дискретизації зміщення (SAO). Якщо значення pcm_loop_filter_disable_flag дорівнює "дійсно" або "1", то процеси деблокуючої фільтрації і адаптивної контурної фільтрації для елементів дискретизації кодованих з IPCM блоків забороняються. У іншому випадку, коли значення pcm_loop_filter_disable_flag дорівнює "хибно" або "0", то обидва цих процеси для елементів дискретизації кодованих з IPCM блоків дозволяються. Коли вихідні нестиснені елементи дискретизації поточного блока кодуються у вигляді IPCM елементів дискретизації, ці елементи дискретизації вільні від спотворень. Таким чином, необхідність в контурній фільтрації на вході, такій як деблокуюча фільтрація, ALF фільтрація і SAO фільтрація, відпадає, і така фільтрація може бути пропущена. У іншому випадку, коли нестиснені елементи дискретизації відновленої версії поточного блока кодуються у вигляді IPCM елементів дискретизації, можливо, що відеодекодеру (наприклад, відеодекодеру 30) знадобиться виконати контурну фільтрацію на вході, включаючи деблокуючу фільтрацію, вздовж країв IPCM блока. Деблокуючий фільтр (наприклад, деблокуючий фільтр 64 засобу 20 здійснення кодування по фіг. 2 або деблокуючий фільтр 94 відеодекодера 30 по фіг. 3) в деяких попередніх версіях стандарту HEVC може здійснювати фільтрацію країв деяких TU і PU блока відеоданих на основі результату обчислення "сили" границь, яке більш детально описане нижче з посиланням на фіг. 6, і на основі рішень, що стосуються деблокування. Наприклад, рішення, що стосуються деблокування, можуть включати в себе дані про те, чи включений деблокуючий фільтр, чи є деблокуючий фільтр слабким або сильним, а також дані про рівень сигналу слабкого фільтра для даного блока відеоданих. Обчислення рівня сигналу на границі і рішення, що стосуються деблокування, залежать від порогових значень параметрів "tc" і «β». Ці порогові значення можуть зберігатися в таблиці, доступ до якої здійснюється на основі значення QP конкретного блока. Наприклад, деблокуючий фільтр може набути значення QP від блока, який містить поточний край, який повинен бути деблокований (тобто, "QP яскравості" для краю яскравості і "QP кольоровості" для краю кольоровості). У деяких попередніх версіях стандарту HEVC (наприклад, WD6) деблокуюча фільтрація при її застосуванні виконує фільтрацію країв (наприклад, країв деяких TU і/або PU) між двома блоками (наприклад, так звані "загальні краї"). Згідно з цими попередніми версіями стандарту HEVC фільтрація країв основана на середньому значенні QP (наприклад, "QPave") для значень QP обох блоків. Як інший приклад, в ряді попередніх версій стандарту HEVC (наприклад, WD6) прийнятий режим кодування без втрат. У режимі кодування без втрат вихідні дані або "не оброблені" дані блока відеоданих можуть кодуватися без виконання вищеописаних етапів прогнозування, підсумовування, перетворення, квантування і ентропійного кодування. У іншому прикладі залишкові дані блока відеоданих засобом здійснення кодування (наприклад, засобом 20 здійснення кодування) не квантуються. Таким чином, в цьому прикладі, коли декодер (наприклад, відеодекодер 30) додає не квантовані залишкові дані до даних прогнозування, результуючі відеодані можуть являти собою відтворені без втрат вихідні відеодані, закодовані згаданим засобом здійснення кодування. У будь-якому випадку режим кодування без втрат може бути використаний, наприклад, засобом здійснення кодування при здійсненні кодування відеоданих і декодером при декодуванні відеоданих. У кодованому бітовому потоці установка синтаксичного елемента "qpprime_y_zero_transquant_bypass_flag" або в деяких прикладах синтаксичного елемента "cu_transquant_bypass_flag" в SPS, пов'язаному з одним або більше блоками відеоданих, в значення "1", може визначити, що при нульовому значенні QP яскравості, або "QP'Y", для поточного блока відеоданих необхідно застосувати процес кодування без втрат. У режимі кодування без втрат процеси масштабування і перетворення, а також вищеописані процеси контурної фільтрації на вході можуть не виконуватися. У деяких попередніх версіях стандарту HEVC (наприклад, WD6) параметр QP'Y квантування яскравості визначається наступним рівнянням: QP'Y=QPy+QpBdOffsety Рівняння 1, де "QpBdOffsety=6*bit_depth_luma_minus". У цьому прикладі, якщо глибина в бітах становить 8 бітів, то тоді QpBdOffsety дорівнює "0", або, якщо глибина в бітах становить 10 бітів, то тоді QpBdOffsety дорівнює "12". Діапазон QPY складає від "QpBdOffsety" до "51", а діапазон QP'Y складає від "0" до «(51+QpBdOffsety)». Згідно з деякими попередніми версіями стандарту HEVC (наприклад, WD6) контурний деблокуючий фільтр на вході може пропустити обробку поточної CU або блока відеоданих, що має "QP'Y=0", якщо qpprime_y_zero_transquant_bypass_flag для даного блока дорівнює "1". Однак, якщо поточна CU оточена блоками, які не закодовані з використанням кодування без 10 UA 114494 C2 5 10 15 20 25 30 35 40 45 50 55 60 втрат (наприклад, для яких "QP'Y>0"), то деблокуючий фільтр може пропустити обробку лівого і верхнього країв поточної CU, в той час як правий і нижній краї поточної CU можуть бути піддані деблокуючій фільтрації, як показано на фіг. 8А, детально описаній нижче. Одна потенційна проблема, пов'язана з цим підходом полягає в тому, що деблокуючий фільтр модифікує елементи дискретизації, закодовані без втрат, вздовж правого і нижнього країв поточного блока, як показано пунктирними частинами CU без втрат (тобто, блока 812), показаного на фіг. 8А. У цьому прикладі параметри β і tc деблокуючого фільтра можуть бути визначені на основі параметра "QPL", який являє собою середнє значень QPY блоків по обох сторонах поточного деблокованого краю. У тих випадках, коли з одного боку краю використовується кодування без втрат, значення QPL можна обчислити, використовуючи наступний вираз: QPL=(-QpBdOffsety+QPY+1)»1 Рівняння 2 Різні описані тут підходи, що стосуються виконання деблокуючої фільтрації для кодованих з IPCM блоків і кодованих без втрат блоків відеоданих, мають ряд недоліків. У одному прикладі у випадку кодованого з IPCM блока деякі попередні версії стандарту HEVC (наприклад, WD4) визначають, що значення QP для цього блока завжди дорівнює "0". Установка значення QP, що дорівнює "0", для кожного IPCM блока дозволяє ефективно заборонити деблокуючу фільтрацію відносно лівого і верхнього краю блока незалежно від значення pcm_loop_filter_disable_flag, пов'язаного з цим блоком. Однак в деяких випадках (наприклад, коли IPCM блок включає в себе відновлені елементи дискретизації) виконання деблокуючої фільтрації відносно лівого і верхнього краю кодованого з IPCM блока може виявитися бажаним. Додатково, в деяких випадках можлива фільтрація правого і нижнього країв IPCM блока залежно від типу і значення QP сусіднього блока відеоданих. Крім того, як було описано раніше, в деяких попередніх версіях стандарту HEVC (наприклад, WD6) визначене обчислення середнього для значень QP блоків з метою виконання деблокуючої фільтрації на "загальному краї" між цими блоками. У випадках, коли одним блоком є IPCM блок, обчислення середнього значення може привести до скорочення вдвічі значення QP іншого блока (оскільки значення QP для IPCM блока дорівнює "0"). Це може привести до недопустимого ослаблення деблокуючої фільтрації загального краю незалежно від значення pcm_loop_filter_disable_flag. У іншому прикладі спосіб фільтрації граничних країв CU (закодованих без втрат) або блоків відеоданих, що виконується у вищеописаному процесі контурної деблокуючої фільтрації на вході згідно з деякими попередніми версіями стандарту HEVC (наприклад, WD6), можна поліпшити, використовуючи розкриті в цьому винаході методики. У одному прикладі виконання деблокуючої фільтрації відносно правого і нижнього країв CU без втрат або блока, яка модифікує елементи дискретизації без втрат даного блока, може виявитися небажаним. У іншому прикладі значення QPL, отримане з використанням вищеописаних методик (дивись рівняння 2), може виявитися неадекватним в тих випадках, коли елементи дискретизації з втратами, суміжні відносно CU без втрат, модифіковані, як показано на фіг. 8В, що аналогічно деблокуванню з IPCM краю у випадку, коли pcm_loop_filter_disable_flag має значення "дійсно". У даному винаході описано декілька методик, які в ряді випадків можуть пом'якшити або повністю виключити деякі з вищеописаних недоліків. Зокрема, розкриті тут методики можуть підтримувати виконання деблокуючої фільтрації для кодованих з IPCM блоків, кодованих без втрат блоків, а також блоків, кодованих з використанням так званого "кодування з втратами", які розташовані суміжно з одним або більше кодованими без втрат або з IPCM блоками. У одному прикладі розкриті тут методики містять призначення ненульового значення QP для IPCM блока, коли деблокуюча фільтрація дозволена на основі прогнозованого значення QP. Наприклад, прогнозованим значенням QP може бути значення QP для групи квантування, яка включає в себе IPCM блок, або значення QP для сусіднього блока відеоданих, який розташований суміжно з або близько відносно цього IPCM блока. У деяких випадках розкриті у винаході методики також можна застосувати до IPCM блоків, що складаються з відновлених елементів дискретизації, оскільки вихідні елементи дискретизації вільні від спотворень, і для них, як правило, деблокуюча фільтрація не потрібна. У інших випадках ці методики можна застосувати до IPCM блоків, що складаються з відновлених елементів дискретизації або вихідних елементів дискретизації. У іншому прикладі відеодекодер 30 може призначити в неявному вигляді ненульове значення QP для IPCM блока на основі відомого прогнозованого значення QP. Прогнозованим значенням QP може бути значення QP для групи квантування, яка включає в себе IPCM блок, або для сусіднього блока відносно даного IPCM блока. Наприклад, коли IPCM блок має розмір, менший мінімального розміру групи квантування CU, відеодекодер 30 може встановити призначене ненульове значення для IPCM блока рівним значенню QP для групи квантування, яка включає в себе IPCM блок. Група квантування може включати в себе один або більше 11 UA 114494 C2 5 10 15 20 25 30 35 40 45 блоків відеоданих або CU, розмір яких менший мінімального розміру групи квантування CU, де всі блоки мають однакове значення QP. Коли розмір IPCM блока більший або дорівнює мінімальному розміру групи квантування CU, відеодекодер 30 може встановити призначене ненульове значення QP для IPCM блока, яке дорівнює значенню QP для сусіднього блока відносно IPCM блока. Сусіднім блоком може бути блок відеоданих, розташований зліва від IPCM блока або найближчий попередній блок IPCM блока в порядку кодування. У ще одному прикладі засіб 20 здійснення кодування може призначити ненульове значення QP для IPCM блока на основі прогнозованого значення QP і забезпечити в явному вигляді сигналізацію призначеного ненульового значення QP для відеодекодера 30. Наприклад, засіб 20 здійснення кодування може просигналізувати значення dQP для IPCM блока, яке представляє різницю між призначеним ненульовим значенням QP і прогнозованим значенням QP. У цьому випадку відеодекодер 30 може призначити ненульове значення QP для IPCM блока на основі прийнятого значення dQP для IPCM блока і прогнозованого значення QP. Потім відеодекодер 30 може застосувати деблокуючу фільтрацію до елементів дискретизації IPCM блока на основі призначеного ненульового значення QP для IPCM блока. У інших прикладах засіб 20 здійснення кодування може просигналізувати призначене ненульове значення QP безпосередньо відеодекодеру 30. У ще одному прикладі згідно з розкритими тут методиками, як показано на фіг. 8В, деблокуючий фільтр може вимикатися на всіх пограничних краях (тобто, верхньому, нижньому, лівому і правому пограничних краях) CU без втрат, або блока відеоданих, де QP'Y=0, якщо qpprime_y_zero_transquant_bypass_flag для цього блока дорівнює "1". Наприклад, можлива перевірка значень QP'Y=0 по обох сторонах поточного краю, який повинен бути деблокований (тобто, значень QP'Y для кодованого без втрат блока, і суміжного блока, який спільно використовує поточний край, який повинен бути деблокований), і, якщо щонайменше одне вказане значення дорівнює "0", то деблокування можна пропустити. У альтернативному варіанті можна перевірити значення QPY по обох сторонах поточного краю, і, якщо щонайменше одне вказане значення дорівнює «-QpBdOffsety", то деблокування можна пропустити. Щоб уникнути перевірки значень QP для внутрішніх країв (наприклад, країв "TU") кодованої без втрат CU або блока, деблокуючий фільтр може заборонити обробку цих країв. Наприклад, в деяких випадках можна встановити для всієї CU значення параметра "bInternalEdge" таким, що дорівнює "хибно". У іншому прикладі згідно з розкритими тут методиками деблокуючий фільтр, показаний на фіг. 8В, може модифікувати елементи дискретизації блока з втратами, які є розташованими суміжно з кодованою без втрат CU або блоком, залишаючи при цьому елементи дискретизації CU без втрат не модифікованими. Цей підхід аналогічний випадку деблокування пограничних країв кодованого з IPCM блока з pcm_loop_filter_disable_flag, що дорівнює значенню "дійсно". Згідно з розкритими тут методиками, можна змінити або перевизначити спосіб обчислення значення QPL, що використовується для визначення параметрів β і tc згідно з деякими попередніми версіями стандарту HEVC, оскільки значення QPL, обчислене з використанням вказаних методик (дивись, наприклад, приведене вище рівняння 2), може виявитися неадекватним з точки зору забезпечення візуально привабливої інтеграції кодованих без втрат CU або блоків в оточуючій кодованій з втратами області. Одне з можливих рішень, запропонованих цією методикою, полягає у використанні максимального з двох значень QPY, Р/Q для деблокування поточного краю, що спільно використовується для блока, кодованого без втрат, і суміжного блока з втратами, як показано в наступному виразі: QPL=max(QPY, Р, QPY, Q) Рівняння 3, де P і Q представляють блоки (тобто, кодовані без втрат і з втратами блоки) по обох сторонах поточного краю (наприклад, лівий і правий або верхній і нижній блоки). Це еквівалентне використанню значення QPY для CU або блока, який розташований на кодованій з втратами стороні краю, між блоками Р і Q, як показано в Таблиці 1, приведеній нижче. 50 Таблиця 1 QPL для деблокуючої фільтрації краю між блоками Р і Q залежно від режиму кодування без втрат обох блоків Чи знаходиться блок Р в CU без втрат? Так Ні Ні Чи знаходиться блок Q в CU без QPL для деблокування втрат? Ні QPy, Q Так QPY, Р Ні (QPY, Р+QPY, Q+1)/2 12 UA 114494 C2 Продовження таблиці 1 Чи знаходиться блок Р в CU без втрат? Так 5 10 15 20 25 30 35 40 45 50 55 Чи знаходиться блок Q в CU без QPL для деблокування втрат? Так Відсутнє деблокування краю Для отримання запропонованого "модифікованого" QPL можна використовувати наступний псевдокод без необхідності визначення спеціальних умов (наприклад, визначення режиму без втрат вже може бути доступне): if (CU_Q→isLosslessCoded(PartQIdx)) { QP_Q=0; QP_P «=1; } if (CU_P→isLosslessCoded(PartPIdx)) { QP_P=0; QP_Q «=1; } QP_L=(QP_P+QP_Q+1) » 1; У деяких випадках методики запропоновані в цьому винаході, згладжують розриви країв між кодованими з втратами областями і кодованими без втрат областями, за допомогою запропонованого способу отримання QPL для визначення ступеня деблокування. Використовуючи інші методики можна привести розриви між кодованою без втрат областю, і кодованою з втратами областю, до чітко видимих границь. Запропоновані тут методики, які включають в себе визначення відповідного значення QPL для деблокуючої фільтрації, в деяких випадках можуть допомогти скоротити розриви границь. Для дозволу вищеописаного режиму деблокування, який узгоджується з розкритими тут методиками, в SPS, наборі параметрів зображення (PPS), в наборі параметрів адаптації (APS) або в заголовку слайса можна сигналізувати однобітовий код або "прапор". Наприклад, для дозволу деблокуючої фільтрації кодованих з втратами елементів дискретизації, суміжних з CU без втрат, або краєм блока, як показано на фіг. 8В, можна використовувати синтаксичний елемент "lossless_loop_filter_enable_flag", що дорівнює "1", в той час як цей прапор зі значенням, яке дорівнює "0", можна використовувати для заборони деблокування всіх границь CU без втрат. Як альтернатива, визначення прапора pcm_loop_filter_disable_flag, описаного вище з посиланнями на кодовані з IPCM блоки, можна розширити так, щоб воно поширювалося на випадок кодованих без втрат CU або блоків. Наприклад, в тих випадках, коли значення pcm_loop_filter_disable_flag дорівнює "дійсно" (наприклад, дорівнює "1"), режим деблокування, показаний на фіг. 8В, можна застосувати як до граничних країв CU без втрат і з IPCM. Якщо значення pcm_loop_filter_disable_flag дорівнює "хибно" (наприклад, дорівнює "0"), то можна повністю заборонити деблокування границь CU без втрат, але в той же час можна дозволити деблокування з IPCM відносно обох сторін границь IPCM. У іншому прикладі, якщо pcm_loop_filter_disable_flag дорівнює "хибно", то тоді деблокування границь блоків або CU без втрат, можна дозволити відносно обох сторін границь, як і у випадку для границь IPCM. Ще в одному прикладі, якщо pcm_loop_filter_disable_flag дорівнює "хибно", то тоді деблокування границь блока або CU без втрат і границь IPCM, можна заборонити відносно обох сторін границь, і якщо pcm_loop_filter_disable_flag дорівнює "істина", деблокування границь CU без втрат і границь IPCM може бути дозволене відносно тільки однієї сторони, як показано на фіг. 8В. Прапор pcm_loop_filter_disable_flag можна перейменувати в синтаксичний елемент "pcm_transquant_loopfilter_disable_flag" для відображення можливості його застосування для або використання і в режимі кодування з IPCM і режимі кодування без втрат. Відповідно, ці два значення для pcm_loop_filter_disable_flag можуть відповідати: (1) дозволу деблокування для обох сторін і забороні деблокування для обох сторін; (2) дозволу деблокування для обох сторін, а також сполучення; або (3) забороні деблокування для обох сторін, а також сполучення. У цьому контексті словосполучення "для обох сторін" стосується двох сторін границі між кодованою з втратами CU або блоком і кодованою без втрат CU або блоком (тобто, один пограничний край, який є внутрішнім відносно кодованої без втрат CU, і один пограничний край, який є внутрішнім відносно кодованої з втратами CU, як показано на фігурах 8А і 8В). У цьому контексті слово "сполучення" в загальному випадку стосується 13 UA 114494 C2 5 10 15 20 25 30 35 40 45 50 55 60 описаних тут методик, коли деблокуюча фільтрація виконується для внутрішнього граничного краю кодованої з втратами CU, але деблокуюча фільтрація заборонена для внутрішнього граничного краю кодованої без втрат CU. Ще в одному прикладі згідно з розкритими тут методиками як сигналізація може передаватися значення QP або значення синтаксичного елемента "delta_QP" для поточного блока, наприклад, із засобу 20 здійснення кодування на відеодекодер 30 разом з даними CU без втрат для даного блока з метою керування деблокуючою фільтрацією вздовж граничних країв поточного блока і одного або більше інших блоків. Згідно з ще однією розкритою тут методикою значення QP для поточного блока, що використовується для керування деблокуючою фільтрацією вздовж одного або більше граничних країв кодованої без втрат CU можна передбачити зі значення QPY або значення delta_QP з кодованих з втратами CU або блоків. Згідно з іншими розкритими тут методиками для керування деблокуванням вздовж граничних країв CU без втрат може бути призначене постійне значення QP (наприклад "0" або інше значення). Відповідно, в деяких прикладах, відповідних розкритим тут методикам, засіб 20 здійснення кодування пристрою-джерела 12 може бути сконфігурований для здійснення кодування деяких блоків відеоданих (наприклад, однієї або більше PU або TU з CU). У цих прикладах відеодекодер 30 пристрою-адресата 14 може бути сконфігурований для прийому закодованих відеоданих від засобу 20 здійснення кодування і їх декодування. У одному прикладі засіб 20 здійснення кодування і/або відеодекодер 30 можуть бути сконфігуровані для кодування множини блоків відеоданих, при цьому щонайменше один блок з множини блоків відеоданих кодують з використанням одного з режиму кодування з IPCM або режиму кодування без втрат. У деяких прикладах режим кодування без втрат може відповідати режиму кодування без втрат, що використовує прогнозування. У цих прикладах засіб 20 здійснення кодування і/або відеодекодер 30 можуть виконувати щонайменше етапи прогнозування і підсумовування, описані вище, для створення залишкових даних блока відеоданих. Крім того, в цих прикладах можна уникнути квантування залишкових даних, здійснення кодування, що виконується засобом 20 і/або відеодекодером 30. Однак в інших прикладах режим кодування без втрат може відповідати режиму кодування без втрат, в якому прогнозування не використовується (наприклад, де вихідні або "не оброблені" дані блока відеоданих кодують без виконання вищеописаних етапів прогнозування, підсумовування, перетворення, квантування і ентропійного кодування). У будь-якому випадку в цьому прикладі засіб 20 здійснення кодування і/або відеодекодер 30 можуть бути додатково сконфігуровані для призначення ненульового значення QP для згаданого щонайменше одного блока, кодованого з використанням вищезгаданого режиму кодування. Також в цьому прикладі засіб 20 здійснення кодування і/або відеодекодер 30 можуть бути додатково сконфігуровані для виконання деблокуючої фільтрації відносно згаданого одного або більше з множини блоків відеоданих на основі режиму кодування, використаного для кодування щонайменше одного блока і призначеного ненульового значення QP для цього щонайменше одного блока. Таким чином, розкриті тут методики дозволяють засобу 20 здійснення кодування і/або відеодекодеру 30 підвищити візуальну якість одного або більше блоків відеоданих при їх кодуванні в порівнянні з іншими методиками. Зокрема, описані методики дозволяють підвищити якість одного або більше кодованих з IPCM блоків, що складаються з відновлених відеоданих, дозволяючи деблокуючу фільтрацію для цих блоків і виконуючи деблокуючу фільтрацію конкретним чином. Додатково, ці методики можуть підвищити візуальну якість одного або більше кодованих без втрат блоків, які включають в себе вихідні відеодані (наприклад, чи то відеодані, закодовані як вихідні або "не оброблені" відеодані, або залишкові не квантовані відеодані) шляхом заборони деблокуючої фільтрації для цих блоків. Крім того, ці методики також можуть підвищити візуальну якість одного або більше блоків, кодованих з використанням режимів кодування з втратами, наприклад, блоків, які розташовані суміжно з одним або більше блоками, кодованими з IPCM або без втрат, шляхом виконання деблокуючої фільтрації відносно цих блоків конкретним чином. У результаті можливе відносне підвищення візуальної якості одного або більше блоків відеоданих, в тому числі блоків, кодованих з використанням режимів кодування з IPCM, без втрат і з втратами, при використанні вказаних методик. Засіб 20 здійснення кодування і відеодекодер 30 можуть бути реалізовані кожний у вигляді будь-яких відповідних схем засобу здійснення кодування або декодера (якщо це застосовно), таких як один або більше мікропроцесорів, процесори DSP, інтегральні схеми ASIC, вентильні матриці FPGA, дискретні логічні схеми, програмні засоби, апаратні засоби, програмно-апаратні засоби або будь-яка їх комбінація. Засіб 20 здійснення кодування і відеодекодер 30 можуть бути включені кожен в один або більше засобів здійснення кодування або декодерів, причому кожний 14 UA 114494 C2 5 10 15 20 25 30 35 40 45 50 55 60 з них може бути складовою частиною комбінованого засобу здійснення кодування/відеодекодера (CODEC). Пристрій, що включає в себе засіб 20 здійснення кодування і/або відеодекодер 30, може містити інтегральну схему (IC), мікропроцесор і/або пристрій бездротового зв'язку, такий як стільниковий телефон. На фіг. 2 представлена блок-схема, яка ілюструє приклад засобу здійснення кодування, здатного виконувати методики для деблокування режиму кодування з IPCM і без втрат, які узгоджуються з методиками, розкритими в даному винаході. Засіб 20 здійснення кодування може виконувати інтра- і інтер-кодування відеоблоків у відеослайсах. Інтра-кодування покладається на просторове прогнозування з метою зменшення або усунення просторової надмірності в даному відеокадрі або відеозображенні. Інтер-кодування покладається на часове прогнозування з метою зменшення або усунення часової надмірності в суміжних кадрах або зображеннях відеопослідовності. Інтра-режим (I режим) може стосуватися будь-якого з декількох режимів стиснення на просторовій основі. Інтер-режими, такі як режим однонаправленого прогнозування (Р режим) або двонаправленого прогнозування (В режим) можуть стосуватися будь-якого з декількох режимів стиснення на часовій основі. У прикладі по фіг. 2 засіб 20 здійснення кодування включає в себе блок 40 вибору режиму, блок 42 оцінки руху, блок 44 компенсації руху, модуль 46 інтра-прогнозування, блок 48А кодування з IPCM, блок 48В кодування без втрат, пам'ять 66 опорних зображень, суматор 50, модуль 52 перетворення, блок 54 квантування і блок 56 здійснення ентропійного кодування. Для встановлення відеоблока засіб 20 здійснення кодування також включає в себе блок 58 зворотного квантування, модуль 60 зворотного перетворення і суматор 62. Також є деблокуючий фільтр 64 для фільтрації границь блоків з метою видалення артефактів "блоковості" з відновленого відео. Як показано на фіг. 2, засіб 20 здійснення кодування приймає поточний відеоблок у відеослайсі, який повинен бути закодований. Такий слайс може бути розділений на множину відеоблоків. Блок 40 вибору режиму може вибрати один з режимів кодування: інтра-, інтер-, з IPCM або без втрат для поточного відеоблока на основі результатів, що містять помилки. При виборі інтра- або інтер-режими блок 40 вибору режиму подає результуючий інтра- або інтеркодований блок на суматор 50 для створення залишкових даних блока і подає їх на суматор 62 для відновлення закодованого блока, щоб використати його як опорне зображення. Модуль 46 інтра-прогнозування виконує кодування з інтра-прогнозуванням поточного відеоблока відносно одного або більше сусідніх блоків в цьому ж кадрі або слайсі як поточного блока, який повинен бути кодований для забезпечення просторового стиснення. Блок 42 оцінки руху і блок 44 компенсації руху виконують кодування з інтер-прогнозуванням поточного відеоблока відносно одного або більше предиктивних блоків в одному або більше опорних зображеннях, щоб забезпечити часове стиснення. У випадку інтер-кодування блок 42 оцінки руху може бути сконфігурований для визначення режиму інтер-прогнозування для відеослайса згідно із попередньо визначеним шаблоном для відеопослідовності. Попередньо визначений шаблон може визначити відеослайси в згаданій послідовності як Р слайси, В слайси або GPB слайси. Блок 42 оцінки руху і блок 44 компенсації руху можуть бути об'єднані з високим ступенем інтеграції, але вони показані тут окремо в концептуальних цілях. Оцінка руху, що виконується блоком 42 оцінки руху, являє собою процес створення векторів руху, в ході якого оцінюється рух відеоблоків. Вектор руху, наприклад, може вказувати зміщення PU відеоблока в поточному відеокадрі або зображенні відносно предиктивного блока в опорному зображенні. Предиктивний блок - це блок, який визначають на основі близької відповідності PU відеоблока, який повинен бути кодований на основі піксельної різниці, яку можна визначити з використанням таких різницевих показників, як сума абсолютних значень різниць (SAD), сума квадратичних різниць (SSD) або інша сума. У деяких прикладах засіб 20 здійснення кодування може обчислити значення для дробових піксельних позицій опорних зображень, що зберігаються в пам'яті 66 опорних зображень. Наприклад, засіб 20 здійснення кодування може обчислити значення піксельних позицій з точністю до однієї чверті, піксельних позицій з точністю одна восьма або піксельних позицій опорного зображення з іншою дробовою точністю. Таким чином, блок 42 оцінки руху може виконати пошук руху відносно цілочисельних піксельних позицій і дробових піксельних позицій і вивести вектор руху з точністю до часток пікселя. Блок 42 оцінки руху обчислює вектор руху для PU відеоблока в інтер-кодованому слайсі, шляхом порівняння позиції даної PU з позицією предиктивного блока опорного зображення. Опорне зображення може бути вибране з першого списку опорних зображень (список 0) або другого списку опорних зображень (список 1), кожний з яких ідентифікує одне або більше опорних зображень, що зберігаються в пам'яті 66 опорних зображень. Блок 42 оцінки руху 15 UA 114494 C2 5 10 15 20 25 30 35 40 45 50 55 60 відправляє обчислений вектор руху в блок 56 здійснення ентропійного кодування і блок 44 компенсації руху. Компенсація руху, що виконується блоком 44 компенсації руху, може містити витягання або створення предиктивного блока на основі вектора руху, визначеного в результаті оцінки руху. Після отримання вектора руху для PU поточного відеоблока блок 44 компенсації руху може визначити місцеположення предиктивного блока, на яке вказує вектор руху, в одному зі списків опорних зображень. Засіб 20 здійснення кодування формує залишковий відеоблок шляхом віднімання піксельних значень предиктивного блока з піксельних значень поточного кодованого відеоблока, формуючи значення піксельних різниць. Значення піксельних різниць утворюють залишкові дані для блока, що розглядається, причому вони можуть включати в себе різницеві компоненти яскравості і кольоровості. Суматор 50 представляє ту компоненту, яка виконує вказану операцію віднімання. Блок 44 компенсації руху може також створити синтаксичні елементи, пов'язані з відеоблоками і відеослайсом, для їх використання відеодекодером 30 при декодуванні відеоблоків відеослайса. Після створення блоком 44 компенсації руху предиктивного блока для поточного відеоблока засіб 20 здійснення кодування формує залишковий відеоблок шляхом віднімання предиктивного блока з поточного відеоблока. Залишкові відеодані в залишковому блоці можуть бути включені в одну або більше TU і використані в модулі 52 перетворення. Модуль 52 перетворення виконує перетворення залишкових відеоданих в залишкові коефіцієнти перетворення, використовуючи таке перетворення, як дискретне косинусне перетворення (DCT) або концептуально подібне перетворення. Модуль 52 перетворення може перетворити залишкові відеодані з піксельної області в область перетворення, наприклад, частотну область. Модуль 52 перетворення може відправити результуючі коефіцієнти перетворення в блок 54 квантування. Блок 54 квантування виконує квантування коефіцієнтів перетворення для додаткового зменшення частоти проходження бітів. Процес квантування може зменшити глибину в бітах, пов'язану з деякими або всіма згаданими коефіцієнтами. Ступінь квантування можна модифікувати, регулюючи значення QP. У деяких прикладах блок 54 квантування може потім виконати сканування матриці, що включає в себе квантовані коефіцієнти перетворення. Як альтернатива, сканування може бути виконане блоком 56 здійснення ентропійного кодування. Услід за квантуванням блок 56 здійснення ентропійного кодування виконує здійснення ентропійного кодування квантованих коефіцієнтів перетворення. Наприклад, блок 56 здійснення ентропійного кодування може реалізувати здійснення кодування CAVLC, CABAC або інший варіант здійснення ентропійного кодування. Після виконання блоком 56 здійснення ентропійного кодування закодований бітовий потік може бути переданий на відеодекодер 10 або заархівований для більш пізньої передачі або витягання відеодекодером 30. Блок 56 здійснення ентропійного кодування також може виконати здійснення ентропійного кодування векторів руху і інших синтаксичних елементів для кодованого поточного відеослайса. Блок 58 зворотного квантування і модуль 60 зворотного перетворення виконують відповідно зворотне квантування і зворотне перетворення для відновлення залишкового блока в піксельній області для використання надалі як опорного блока опорного зображення. Блок 44 компенсації руху може обчислити опорний блок шляхом додавання залишкового блока до предиктивного блока одного з опорних зображень в одному зі списків опорних зображень. Блок 44 компенсації руху також може застосувати один або більше інтерполяційних фільтрів для відновленого залишкового блока, щоб обчислити піксельні значення в частках пікселя для використання при оцінці руху. Суматор 62 підсумовує відновлений залишковий блок з предиктивним блоком, створеним блоком 44 компенсації руху, для створення опорного блока для запам'ятовування в пам'яті 66 опорних зображень. Опорний блок може бути використаний блоком 42 оцінки руху і блоком 44 компенсації руху як опорний блок для інтер-прогнозування блока в подальшому відеокадрі або відеозображенні. Як було описано вище з посиланнями на фіг. 1, засіб 20 здійснення кодування також включає в себе блок 48А здійснення кодування з IPCM і блок 48В здійснення кодування без втрат, які надають можливість засобу 20 здійснення кодування реалізувати методики кодування з IPCM і без втрат, що стосуються засобу 20 здійснення кодування згідно з даним винаходом. У одному прикладі засіб 20 здійснення кодування може бути сконфігурований для здійснення кодування одного або більше блоків відеоданих під час процесу відеокодування. Наприклад, засіб 20 здійснення кодування може бути сконфігурований для здійснення кодування множини блоків відеоданих, де засіб 20 здійснення кодування виконує здійснення кодування щонайменше одного блока з множини блоків відеоданих, використовуючи один з режимів кодування: режим кодування з IPCM або режим кодування без втрат. Як пояснювалося раніше, в деяких випадках режим кодування без втрат може включати в себе виконання 16 UA 114494 C2 5 10 15 20 25 30 35 40 45 50 55 60 прогнозування для згаданого щонайменше одного блока з метою його кодування (наприклад, разом з підсумовуванням для створення залишкових даних щонайменше цього одного блока). Однак в інших випадках режим кодування без втрат може бути використаний для кодування щонайменше одного блока без виконання прогнозування (наприклад, як вихідних або "необроблених" відеоданих). Наприклад, як було описано раніше, щонайменше один блок з множини блоків відеоданих, кодованих з використанням режиму кодування з IPCM, може відповідати щонайменше одному блоку, що включає в себе відновлені відеодані. Наприклад, відновлені відеодані можуть створюватися засобом 20 здійснення кодування як результат виконання етапів прогнозування, підсумовування, перетворення і квантування, описаних вище з посиланнями на засіб 20 здійснення кодування по фіг. 1 з використанням блока вихідних відеоданих. Виконавши вищеописані етапи, засіб 20 здійснення кодування може створити блок квантованих і перетворених залишкових коефіцієнтів. Крім того, засіб 20 здійснення кодування може бути сконфігурований для виконання зворотного квантування, зворотного перетворення, прогнозування і підсумовування для квантованих і перетворених залишкових коефіцієнтів, як також було описано вище, для створення блока відновлених відеоданих. Як альтернатива, як також було описано раніше, щонайменше один блок, що кодується з використанням режиму кодування без втрат, може відповідати щонайменше одному блоку, що включає в себе вихідні дані або залишкові не квантовані відеодані. У будь-якому випадку засіб 20 здійснення кодування може бути додатково сконфігурований для призначення ненульового значення QP для згаданого щонайменше одного блока, кодованого з використанням згаданого режиму кодування. Як було описано вище, засіб 20 здійснення кодування може бути сконфігурований для призначення ненульового значення QP для згаданого щонайменше одного блока з використанням, наприклад, прогнозованого значення QP для згаданого щонайменше одного цього блока, яке можна визначити, використовуючи значення QP кожного з одного або більше сусідніх блоків відеоданих. Засіб 20 здійснення кодування також може бути сконфігурований для виконання деблокуючої фільтрації відносно одного або більше з множини блоків відеоданих на основі режиму кодування, використаного засобом 20 здійснення кодування для кодування даного щонайменше одного блока і призначеного ненульового значення QP для даного щонайменше одного блока. У деяких прикладах для виконання деблокуючої фільтрації відносно згаданого одного або більше з множини блоків відеоданих на основі режиму кодування, використаного для кодування даного щонайменше одного блока, і призначеного ненульового значення QP, засіб 20 здійснення кодування може бути сконфігурований для виконання наступних етапів. Наприклад, якщо режимом кодування, використаним для кодування даного щонайменше одного блока є режим кодування з IPCM, то засіб 20 здійснення кодування може бути сконфігурований для виконання деблокуючої фільтрації щонайменше відносно одного блока на основі призначеного ненульового значення QP. Крім того, якщо режимом кодування, використаним для кодування даного щонайменше одного блока є режим кодування без втрат, то засіб 20 здійснення кодування може бути сконфігурований для виконання деблокуючої фільтрації відносно суміжного блока множини блоків відеоданих на основі призначеного ненульового значення QP. У цьому прикладі суміжний блок може розташовуватися суміжно з даним щонайменше одним блоком і кодуватися з використанням режиму кодування з втратами. У деяких випадках для виконання деблокуючої фільтрації відносно даного щонайменше одного блока і суміжного блока на основі призначеного ненульового значення QP засіб 20 здійснення кодування може бути сконфігурований для вибору фільтра для деблокуючої фільтрації на основі призначеного ненульового значення QP. Наприклад, засіб 20 здійснення кодування може бути сконфігурований для вибору фільтра з використанням призначеного ненульового значення QP таким чином, що цей фільтр буде мати один або більше параметрів або характеристик фільтрації, що визначають, яким чином виконується деблокуюча фільтрація з використанням даного фільтра. У інших прикладах для виконання деблокуючої фільтрації відносно кожного щонайменше одного блока і суміжного блока на основі призначеного ненульового значення QP засіб 20 здійснення кодування може бути сконфігурований для визначення сили фільтра для деблокуючої фільтрації на основі призначеного ненульового значення QP, як було описано вище з посиланнями на технічні рішення по деблокуванню. У деяких прикладах засіб 20 здійснення кодування може бути сконфігурований для дозволу деблокуючої фільтрації для згаданого одного або більше з множини блоків відеоданих до виконання деблокуючої фільтрації відносно згаданого одного або більше з множини блоків відеоданих на основі режиму кодування, що використовується для кодування щонайменше одного блока, і призначеного ненульового значення QP. У інших прикладах режимом кодування 17 UA 114494 C2 5 10 15 20 25 30 35 40 45 50 55 може бути режим кодування без втрат. У цих випадках засіб 20 здійснення кодування може бути додатковий сконфігурований для заборони деблокуючої фільтрації для згаданого щонайменше одного блока. У цих випадках заборона деблокуючої фільтрації для згаданого щонайменше одного блока може включати в себе невиконання деблокуючої фільтрації для внутрішніх граничних країв щонайменше одного блока, що розглядається. У деяких прикладах для призначення ненульового значення QP для згаданого щонайменше одного блока засіб 20 здійснення кодування може бути сконфігурований для визначення ненульового значення QP на основі одного або більше з наступних параметрів: (1) просигналізованого значення QP для даного щонайменше одного блока (наприклад, де просигналізоване значення QP вказує призначене ненульове значення QP); (2) прогнозованого значення QP для даного щонайменше одного блока (визначеного, наприклад, з використанням значення QP кожного з сусідніх блоків відеоданих); і (3) просигналізованого значення dQP для згаданого щонайменше одного блока (наприклад, де значення dQP представляє різницю між призначеним ненульовим значенням QP і прогнозованим значенням QP). У одному прикладі, кожне з сигналізованих значень QP і dQP (якщо вони застосовуються) може бути визначене засобом 20 здійснення кодування і просигналізоване відеодекодеру 30 в бітовому потоці. У іншому прикладі прогнозоване значення QP може бути визначене засобом 20 здійснення кодування. У інших прикладах в тих випадках, коли режимом кодування, що використовується для кодування даного щонайменше одного блока, є режим кодування з IPCM, для призначення ненульового значення QP для даного щонайменше одного блока, засіб 20 здійснення кодування може бути сконфігурований для виконання наступних кроків. Наприклад, коли розмір щонайменше одного блока менше мінімального розміру групи квантування CU, засіб 20 здійснення кодування може бути сконфігурований для встановлення щонайменше одного значення QP для групи квантування, яка включає в себе щонайменше один блок, як призначене ненульове значення QP. У цих прикладах група квантування може також включати в себе один або більше блоків відеоданих, кодованих з використанням режиму кодування з втратами. Як було описано вище, в деяких прикладах кожний з блоків відеоданих, включених в групу квантування, може мати однакове групове значення QP. У цих прикладах засіб 20 здійснення кодування може бути сконфігурований для встановлення цього загального групового значення QP як призначеного ненульового значення QP. Однак в інших прикладах однакове групове значення QP можуть мати тільки деякі блоки з групи квантування (наприклад, блоки, починаючи з першого блока з групи квантування, для якої передається значення QP, наприклад, у вигляді значення dQP). У цих прикладах засіб 20 здійснення кодування може бути сконфігурований для встановлення як призначеного ненульового значення QP цього конкретного групового значення QP, яке є спільним тільки для піднабору блоків групи квантування. Крім того, коли розмір щонайменше одного блока більший або дорівнює мінімальному розміру групи квантування CU, засіб 20 здійснення кодування може бути сконфігурований для встановлення як призначеного ненульового значення QP значення QP для сусіднього блока з множини блоків відеоданих. Наприклад, сусіднім блоком може бути один або більше блоків, які розташовані суміжно з так званим "крайовим" блоком (тобто, блоком відеоданих, розташованим суміжно з границею кадру відеоданих, який включає в себе даний блок), блок, розташований суміжно зі згаданим щонайменше одним блоком може не існувати. У таких випадках сусіднім блоком може бути раніше кодований блок, тобто, блок відеоданих, що з'явився до згаданого щонайменше одного блока в порядку кодування, пов'язаному з кадром відеоданих, який включає в себе згаданий щонайменше один блок і раніше кодований блок. У деяких прикладах, коли режимом кодування, що використовується для кодування щонайменше одного блока, є режим кодування без втрат, для призначення ненульового значення QP щонайменше для вказаного одного блока, засіб 20 здійснення кодування може бути сконфігурований для встановлення значення QP або значення dQP для блока, кодованого з втратами, з множини блоків відеоданих як призначеного ненульового значення QP. У цих прикладах значення dQP може представляти різницю між значенням QP і прогнозованим значенням QP для блока з втратами. Також в цих прикладах блоком з втратами може бути блок, що кодується з використанням режиму кодування з втратами, наприклад, режиму кодування, який включає в себе виконання етапів прогнозування, підсумовування, перетворення і квантування, описаних вище, або подібних етапів. У інших прикладах в тих випадках, коли режимом кодування, що використовується для кодування згаданого щонайменше одного блока, є режим кодування без втрат, для призначення ненульового значення QP для згаданого щонайменше одного блока, засіб 20 здійснення 18 UA 114494 C2 5 10 15 20 25 30 35 40 45 50 55 кодування може бути сконфігурований для встановлення постійного значення як призначеного ненульового значення QP. У деяких прикладах кодування може являти собою здійснення кодування. У цих прикладах для здійснення кодування щонайменше одного блока засіб 20 здійснення кодування може бути сконфігурований для сигналізації залишкових неквантованих відеоданих або відновлених відеоданих згаданого щонайменше одного блока в бітовому потоці. Також в цих прикладах для призначення ненульового значення QP для згаданого щонайменше одного блока засіб 20 здійснення кодування може бути сконфігурований для виконання одного з сигналізації призначеного ненульового значення QP в бітовому потоці і сигналізації значення dQP для згаданого щонайменше одного блока в бітовому потоці. Наприклад, значення dQP може представляти різницю між призначеним ненульовим значенням QP і прогнозованим значення QP для згаданого щонайменше одного блока. У цих прикладах засіб 20 здійснення кодування додатково може бути сконфігурований для сигналізації одного або більше синтаксичних елементів в бітовому потоці. Наприклад, один або більше синтаксичних елементів можуть вказувати, що для одного або більше з множини блоків відеоданих дозволена деблокуюча фільтрація. У вищеописаних прикладах, зокрема, в тих випадках, коли режимом кодування, таким, що використовується для кодування щонайменше одного блока є режим кодування без втрат, один або більше синтаксичних елементів можуть називатися "першим" або "першими" синтаксичними елементами. У цих прикладах засіб 20 здійснення кодування може бути додатковий сконфігурований для сигналізації другого синтаксичного елемента або других синтаксичних елементів в бітовому потоці. Наприклад, другий синтаксичний елемент або другі синтаксичні елементи можуть вказувати, що для згаданого щонайменше одного блока деблокуюча фільтрація заборонена. Відповідно, як було пояснено вище, розкриті тут методики дають можливість засобу 20 здійснення кодування підвищити візуальну якість одного або більше блоків відеоданих при здійсненні кодування одного або більше блоків в порівнянні з іншими методиками. Зокрема, описані методики дають можливість підвищити візуальну якість одного або більше кодованих з IPCM блоків, що складаються з відновлених відеоданих, шляхом дозволу деблокуючої фільтрації для цих блоків і виконання деблокуючої фільтрації конкретним чином. Додатково, ці методики дозволяють підвищити візуальну якість одного або більше блоків, кодованих з втратами, які включають в себе вихідні відеодані, шляхом заборони деблокуючої фільтрації для цих блоків. Крім того, ці методики також дозволяють підвищити візуальну якість одного або більше блоків, кодованих з використанням режимів кодування з втратами, наприклад, одного або більше блоків, розташованих суміжно з одним або більше блоками, закодованими з використанням режиму кодування з IPCM або режиму кодування без втрат, шляхом виконання деблокуючої фільтрації відносно блоків, закодованих з втратами, конкретним чином. У результаті можливо відносне підвищення візуальної якості одного або більше блоків відеоданих, в тому числі блоків, кодованих з використанням режимів кодування з IPCM, кодування без втрат і кодування з втратами, при використанні розкритих тут методик. Таким чином, засіб 20 здійснення кодування представляє приклад засобу здійснення кодування, сконфігурованого для кодування множини блоків відеоданих, де засіб здійснення кодування сконфігурований для кодування щонайменше одного блока з множини блоків відеоданих з використанням режиму кодування, що є або режимом кодування з IPCM, або режимом кодування без втрат, в яких використовується прогнозування. Також в цьому прикладі засіб здійснення кодування додатковий сконфігурований для призначення ненульового значення QP для згаданого щонайменше одного блока, кодованого з використанням вказаного режиму кодування, і виконання деблокуючої фільтрації відносно згаданого одного або більше з множини блоків відеоданих на основі вказаного режиму кодування, що використовується для кодування згаданого щонайменше одного блока, і призначеного ненульового значення QP для згаданого щонайменше одного блока. На фіг. 3 представлена блок-схема, де показаний приклад відеодекодера, який може реалізувати вказані методики для деблокування режимів кодування з IPCM або кодування без втрат, відповідні методикам, розкритим в даному винаході. У прикладі на фіг. 3 відеодекодер 30 включає в себе блок 80 ентропійного декодування, блок 98А IPCM декодування, блок 98В декодування без втрат, модуль 82 прогнозування, блок 88 зворотного квантування, модуль 90 зворотного перетворення, суматор 92, деблокуючий фільтр 94 і пам'ять 96 опорних зображень. Модуль 82 прогнозування включає в себе блок 84 компенсації руху і модуль 86 інтрапрогнозування. У деяких прикладах відеодекодер 30 може виконувати прохід декодування, який 19 UA 114494 C2 5 10 15 20 25 30 35 40 45 50 55 в загальному випадку є зворотним відносно проходу здійснення кодування, описаного застосовно до засобу 20 здійснення кодування по фіг. 2. У ході процесу декодування відеодекодер 30 приймає закодований бітовий потік відео, що представляє відеоблоки закодованого відеослайса і відповідні синтаксичні елементи від засобу 20 здійснення кодування. Коли представлені в бітовому потоці відеоблоки включають в себе стиснені відеодані, блок 80 ентропійного декодування відеодекодера 30 виконує ентропійне декодування бітового потоку, створюючи квантовані коефіцієнти, вектори руху і інші синтаксичні елементи. Блок 80 ентропійного декодування спрямовує ці вектори руху і інші синтаксичні елементи в модуль 82 прогнозування. Відеодекодер 30 може прийняти синтаксичні елементи на рівні відеослайса і/або на рівні відеоблока. Коли відеослайс кодований як інтра-кодований (I) слайс, модуль 86 інтра-прогнозування модуля 82 прогнозування може створити дані прогнозування для відеоблока поточного відеослайса на основі просигналізованого режиму інтра-прогнозування, а також даних з раніше декодованих блоків поточного кадру або зображення. Коли відеокадр закодований як інтеркодований (тобто, В, Р або GPB) слайс блок 84 компенсації руху модуля 82 прогнозування створює предиктивні блоки для відеоблока поточного відеослайса на основі векторів руху і інших синтаксичних елементів, отриманих від блока 80 ентропійного декодування. Предиктивні блоки можна створити з одного з опорних зображень в одному зі списків опорних зображень. Відеодекодер 30 може побудувати списки опорних кадрів, список 0 і список 1, використовуючи стандартні методики побудови на основі опорних зображень, що зберігаються в пам'яті 96 опорних зображень. Блок 84 компенсації руху визначає інформацію прогнозування для відеоблока поточного відеослайса шляхом синтаксичного аналізу векторів руху і інших синтаксичних елементів і використовує інформацію прогнозування для створення блоків прогнозування для поточного декодованого відеоблока. Наприклад, блок 84 компенсації руху використовує деякі з отриманих синтаксичних елементів для визначення режиму прогнозування (наприклад, інтра- або інтерпрогнозування), що використовується для кодування відеоблоків відеослайса, типу слайса з інтер-прогнозуванням (наприклад, В слайс, Р слайс або GPB слайс), інформації про структуру для одного або більше списків опорних зображень для даного слайса, вектори руху для кожного інтер-закодованого відеоблока слайса, статус інтер-прогнозування для кожного інтеркодованого відеоблока слайса, і іншу інформацію для декодування відеоблоків в поточному відеослайсе. Блок 84 компенсації руху також може виконати інтерполяцію на основі інтерполяційних фільтрів. Блок 84 компенсації руху може використовувати інтерполяційні фільтри, як це робиться засобом 20 здійснення кодування в процесі здійснення кодування відеоблоків для обчислення інтерпольованих значень для дробових пікселів опорних блоків. Блок 84 компенсації руху може визначити інтерполяційні фільтри, що використовуються засобом 20 здійснення кодування, виходячи з отриманих синтаксичних елементів, і використовувати ці інтерполяційні фільтри для створення предиктивних блоків. Блок 88 зворотного квантування виконує зворотне квантування, тобто, деквантування квантованих коефіцієнтів перетворення, прогнозованих в бітовому потоці і декодованих блоком 80 ентропійного декодування. Процес зворотного квантування може включати в себе використання параметра квантування (QP), обчисленого засобом 20 здійснення кодування для кожного відеоблока у відеослайсі, для визначення ступеня квантування аналогічно зі ступенем зворотного квантування, який і потрібно застосувати. Модуль 90 зворотного перетворення застосовує зворотне перетворення, наприклад, зворотне DCT перетворення, зворотне цілочисельне перетворення або концептуально подібний процес зворотного перетворення до коефіцієнтів перетворення, щоб забезпечити залишкові блоки в піксельній області. Після того, як блок 84 компенсації руху створив блок прогнозування для поточного відеоблока на основі векторів руху і інших синтаксичних елементів, відеодекодер 30 формує декодований відеоблок за допомогою підсумовування залишкових блоків, отриманих від модуля 90 зворотного перетворення, з відповідними блоками прогнозування, створеними блоком 84 компенсації руху. Суматор 92 представляє компонент або компоненти, які виконують операцію підсумовування. Деблокуючий фільтр 94 застосовується для фільтрації декодованих блоків з метою усунення артефактів блоковості. Декодовані відеоблоки в даному кадрі або зображенні запам'ятовуються потім в пам'яті 96 опорних зображень, де зберігаються опорні зображення, що використовуються для подальшої компенсації руху. У пам'яті 96 опорних зображень також запам'ятовується декодоване відео для його представлення надалі на пристрої відображення, такому як пристрій 28 відображення по фіг. 1. 20 UA 114494 C2 5 10 15 20 25 30 35 40 45 50 55 60 Як було описано вище з посиланням на фіг. 1, відеодекодер 30 також включає в себе блок 98А декодування з IPCM і блок 98B декодування без втрат, які можуть дозволити відеодекодеру 30 реалізувати методики кодування з IPCM і кодування без втрат, що є атрибутом відеодекодера 30 згідно з даним винаходом. У одному прикладі відеодекодер 30 може бути сконфігурований для декодування одного або більше блоків відеоданих під час процесу відеокодування. Наприклад, відеодекодер 30 може бути сконфігурований для декодування множини блоків відеоданих, при цьому щонайменше один блок з множини блоків відеоданих може бути закодований (тобто, засобом 20 здійснення кодування з використанням режиму кодування, що є або режимом кодування з IPCM, або режимом кодування без втрат). Як пояснювалося вище з посиланнями на фігури 1 і 2, в деяких прикладах режим кодування без втрат може включати в себе виконання прогнозування для згаданого щонайменше одного блока для кодування даного блока (наприклад, разом з підсумовуванням для створення залишкових даних згаданого щонайменше одного блока). Однак в інших прикладах режим кодування без втрат може бути використаний для кодування щонайменше одного блока без виконання прогнозування (наприклад, вихідні або "необроблені" відеодані). У одному прикладі, як було описано раніше, щонайменше один блок з множини блоків відеоданих, закодованих з використанням режиму кодування з IPCM, може відповідати щонайменше одному блоку, що включає в себе відновлені відеодані. Наприклад, відновлені відеодані можуть створюватися, наприклад, засобом 20 здійснення кодування шляхом виконання етапів прогнозування, підсумовування, перетворення і квантування, описаних вище з посиланнями на засіб 20 здійснення кодування по фіг. 1 і 2 з використанням блока вихідних відеоданих. Шляхом виконання вищеописаних етапів засіб 20 здійснення кодування може створити блок квантованих і перетворених залишкових коефіцієнтів. Потім засіб 20 здійснення кодування може бути сконфігурований для виконання зворотного квантування, зворотного перетворення, прогнозування і підсумовування на квантованих і перетворених залишкових коефіцієнтах, які також були описані вище, для створення блока відновлених відеоданих. Як альтернатива, як також було описано вище, щонайменше один блок, що кодується з використанням режиму кодування без втрат, може відповідати щонайменше одному блоку, що включає в себе вихідні відеодані або залишкові не квантовані відеодані. У будь-якому випадку відеодекодер 30 може бути додатково сконфігурований для призначення ненульового значення QP для згаданого щонайменше одного блока, закодованого з використанням вказаного режиму кодування. Як було описано раніше, відеодекодер 30 може бути сконфігурований для призначення ненульового значення QP для згаданого щонайменше одного блока з використанням, наприклад, прогнозованого значення QP для згаданого щонайменше одного блока, яке може бути визначене з використанням значення QP для кожного з одного або більше сусідніх блоків відеоданих. Відеодекодер 30 також може бути сконфігурований для виконання деблокуючої фільтрації відносно згаданого одного або більше з множини блоків відеоданих на основі режиму кодування, що використовується для кодування згаданого щонайменше одного блока і призначеного ненульового значення QP для згаданого щонайменше одного блока. У деяких прикладах для виконання деблокуючої фільтрації відносно згаданого одного або більше з множини блоків відеоданих на основі режиму кодування, що використовується для кодування даного щонайменше одного блока і призначеного ненульового значення QP, відеодекодер 30 може бути сконфігурований для виконання наступних етапів. Наприклад, якщо режимом кодування, що використовується для кодування щонайменше одного блока, є режим кодування з IPCM, то відеодекодер 30 може бути сконфігурований для виконання деблокуючої фільтрації відносно згаданого щонайменше одного блока на основі призначеного ненульового значення QP. Крім того, якщо режимом кодування, таким, що використовується для кодування згаданого щонайменше одного блока, є режим кодування без втрат, то відеодекодер 30 може бути сконфігурований для виконання деблокуючої фільтрації відносно суміжного блока з множини блоків відеоданих на основі цього призначеного ненульового значення QP. У даному прикладі цим суміжним блоком може бути блок, що примикає до вказаного щонайменше одного блока, і цей суміжний блок може бути кодований з використанням режиму кодування з втратами. У деяких прикладах для виконання деблокуючої фільтрації відносно згаданого щонайменше одного блока і згаданого суміжного блока на основі призначеного ненульового значення QP відеодекодер 30 може бути сконфігурований для вибору фільтра для деблокуючої фільтрації на основі призначеного ненульового значення QP. Наприклад, відеодекодер 30 може бути сконфігурований для вибору фільтра з використанням призначеного ненульового значення QP, 21 UA 114494 C2 5 10 15 20 25 30 35 40 45 50 55 60 так щоб фільтр мав один або більше параметрів або характеристик фільтрації, які визначають те, яким чином виконується деблокуюча фільтрація з використанням вибраного фільтра. У інших прикладах для виконання деблокуючої фільтрації відносно згаданого щонайменше одного блока і суміжного блока на основі призначеного ненульового значення QP відеодекодер 30 може бути сконфігурований для визначення сили фільтра для деблокуючої фільтрації на основі призначеного ненульового значення QP, як було описано вище з посиланнями на технічні рішення по деблокуванню. У деяких прикладах відеодекодер 30 може бути сконфігурований для дозволу деблокуючої фільтрації для згаданого одного або більше з множини блоків відеоданих до виконання деблокуючої фільтрації відносно згаданого одного або більше з множини блоків відеоданих на основі вказаного режиму кодування, що використовується для кодування згаданого щонайменше одного блока і призначеного ненульового значення QP. У інших прикладах режимом кодування може бути режим кодування з втратами. У цих прикладах відеодекодер 30 може бути додатково сконфігурований для заборони деблокуючої фільтрації для згаданого щонайменше одного блока. У цих прикладах заборона деблокуючої фільтрації для згаданого щонайменше одного блока може включати в себе невиконання деблокуючої фільтрації для внутрішніх граничних країв згаданого щонайменше одного блока. У деяких прикладах для призначення ненульового значення QP для згаданого щонайменше одного блока відеодекодер 30 може бути сконфігурований для визначення призначеного ненульового значення QP на основі одного або більше з наступних параметрів: (1) просигналізованого значення QP для даного щонайменше одного блока (наприклад, при цьому просигналізоване значення QP вказує призначене ненульове значення QP); (2) прогнозованого значення QP для даного щонайменше одного блока (визначеного, наприклад, з використанням значення QP кожного з одного або більше сусідніх блоків відеоданих); і (3) просигналізованого значення dQP для згаданого щонайменше одного блока (наприклад, де значення dQP представляє різницю між призначеним ненульовим значенням QP і прогнозованим значенням QP). У одному прикладі, кожне з просигналізованих значень QP і dQP (якщо вони застосовуються) може бути отримане відеодекодером 30 від засобу 20 здійснення кодування в бітовому потоці. У іншому прикладі прогнозоване значення QP може бути визначене відеодекодером 30. У інших прикладах в тих випадках, коли режимом кодування, що використовується для кодування даного щонайменше одного блока, є режим кодування з IPCM, для призначення ненульового значення QP для даного щонайменше одного блока, відеодекодер 30 може бути сконфігурований для виконання наступних етапів. Наприклад, коли розмір щонайменше одного блока менший мінімального розміру групи квантування CU, відеодекодер 30 може встановити групове значення QP, наприклад, щонайменше одне групове значення QP для групи квантування, яка включає в себе щонайменше один блок, як призначене ненульове значення QP. У цих прикладах група квантування може також включати в себе один або більше блоків відеоданих, кодованих з використанням режиму кодування з втратами. Як було описано вище, в деяких прикладах кожний з блоків відеоданих, включених в групу квантування, може мати однакове групове значення QP. У цих прикладах відеодекодер 30 може бути сконфігурований для встановлення цього загального групового значення QP як призначеного ненульового значення QP. Однак в інших прикладах однакове групове значення QP можуть мати тільки деякі блоки з групи квантування (наприклад, блоки, починаючи з першого блока з групи квантування, для якої передається значення QP, наприклад, у вигляді значення dQP). У цих прикладах відеодекодер 30 може бути сконфігурований для встановлення як призначеного ненульового значення QP цього конкретного групового значення QP, яке є спільним тільки для піднабору блоків групи квантування. Крім того, коли розмір щонайменше одного блока більший або дорівнює мінімальному розміру групи квантування CU, відеодекодер 30 може бути сконфігурований для встановлення як призначене ненульове значення QP значення QP для сусіднього блока з множини блоків відеоданих. Наприклад, сусіднім блоком може бути один або більше блоків, які розташовані суміжно з щонайменше одним блоком і раніше кодованим блоком. У ряді інших прикладів в тих випадках, коли режимом кодування, що використовується для кодування щонайменше одного блока, є режим кодування з IPCM, для призначення ненульового значення QP для щонайменше одного блока, відеодекодер 30 може бути сконфігурований для встановлення значення QP для сусіднього блока з множини блоків відеоданих як призначене ненульове значення QP, коли розмір щонайменше одного блока менший мінімального розміру групи квантування CU. У цих прикладах сусіднім блоком може бути один або більше блоків, які розташовані суміжно зі згаданим щонайменше одним блоком і 22 UA 114494 C2 5 10 15 20 25 30 35 40 45 50 55 60 раніше кодованим блоком. Наприклад, в тих випадках, коли щонайменше один блок є так званим "крайовим" блоком (тобто, блоком відеоданих, розташованим біля границі кадру відеоданих, який включає в себе даний блок), блок, розташований суміжно зі згаданим щонайменше одним блоком, може не існувати. У таких випадках сусіднім блоком може бути раніше кодований блок, тобто, блок відеоданих, що з'явився до згаданого щонайменше одного блока в порядку кодування, пов'язаному з кадром відеоданих, який включає в себе згаданий щонайменше один блок і раніше кодований блок. У деяких прикладах, коли режимом кодування, що використовується для кодування щонайменше одного блока, є режим кодування без втрат, для призначення ненульового значення QP щонайменше для вказаного одного блока, відеодекодер 30 може бути сконфігурований для встановлення значення QP або значення dQP для блока, кодованого з втратами, з множини блоків відеоданих як призначене ненульове значення QP. Аналогічним чином, як було описано раніше, в цих прикладах значення dQP може представляти різницю між значенням QP і прогнозованим значенням QP для блока, кодованого з втратами. Також в цих прикладах блоком з втратами може бути блок, що кодується з використанням режиму кодування з втратами, наприклад, режим кодування, який включає в себе виконання етапів прогнозування, підсумовування, перетворення і квантування, описаних вище, або подібних етапів. У інших прикладах в тих випадках, коли режимом кодування, таким, що використовується для кодування згаданого щонайменше одного блока є режим кодування з втратами, для призначення ненульового значення QP для згаданого щонайменше одного блока, відеодекодер 30 може бути сконфігурований для встановлення постійного значення як призначеного ненульового значення QP. У деяких прикладах кодування може являти собою декодування. У цих прикладах для декодування щонайменше одного блока відеодекодер 30 може бути сконфігурований для прийому залишкових неквантованих відеоданих або відновлених відеоданих згаданого щонайменше одного блока в прийнятому бітовому потоці. Також в цих прикладах для призначення ненульового значення QP для згаданого щонайменше одного блока відеодекодер 30 може бути сконфігурований для виконання прийому призначеного ненульового значення QP в прийнятому бітовому потоці або прийому значення dQP для згаданого щонайменше одного блока в прийнятому бітовому потоці. Наприклад, значення dQP може представляти різницю між призначеним ненульовим значенням QP і прогнозованим значенням QP для згаданого щонайменше одного блока. У прикладах, де відеодекодер 30 сконфігурований для прийому значення dQP для згаданого щонайменше одного блока відеодекодер 30 може крім того бути сконфігурований для визначення призначеного ненульового значення QP на основі значення dQP і прогнозованого значення QP. Відеодекодер 30 додатково може бути сконфігурований для прийому одного або більше синтаксичних елементів в прийнятому бітовому потоці. Наприклад, один або більше синтаксичних елементів можуть вказувати, що для одного або більше з множини блоків відеоданих дозволена деблокуюча фільтрація. У вищеописаних прикладах, зокрема, в тих випадках, коли режимом кодування, що використовується для кодування щонайменше одного блока, є режим кодування без втрат, один або більше синтаксичних елементів можуть називатися "першим" або "першими" синтаксичними елементами. У цих прикладах відеодекодер 30 може бути додатково сконфігурований для прийому "другого" синтаксичного елемента або "других" синтаксичних елементів в прийнятому бітовому потоці. Наприклад, другий синтаксичний елемент або другі синтаксичні елементи можуть вказувати, що для згаданого щонайменше одного блока деблокуюча фільтрація заборонена. Відповідно, як було пояснено вище, розкриті тут методики дають можливість відеодекодеру 30 підвищити візуальну якість одного або більше блоків відеоданих при здійсненні кодування одного або більше блоків в порівнянні з іншими методиками. Зокрема, описані методики дають можливість підвищити візуальну якість одного або більше кодованих з IPCM блоків, що складаються з відновлених відеоданих, шляхом дозволу деблокуючої фільтрації для цих блоків і виконання деблокуючої фільтрації конкретним чином. Додатково, ці методики дозволяють підвищити візуальну якість одного або більше блоків, кодованих без втрат, які включають в себе вихідні відеодані, шляхом заборони деблокуючої фільтрації для цих блоків. Крім того, ці методики також дозволяють підвищити візуальну якість одного або більше блоків, кодованих з використанням режимів кодування з втратами, наприклад, одного або більше блоків, розташованих суміжно з одним або більш блоками, кодованими з IPCM або без втрат, шляхом виконання деблокуючої фільтрації відносно блоків, кодованих з втратами, конкретним чином. У результаті можливо відносне підвищення візуальної якості одного або більше блоків 23 UA 114494 C2 5 10 15 20 25 30 35 40 45 50 55 відеоданих, в тому числі блоків, кодованих з використанням режимів кодування з IPCM, без втрат і з втратами, при використанні розкритих тут методик. Таким чином, відеодекодер 30 представляє приклад відеокодера, сконфігурованого для кодування множини блоків відеоданих, при цьому відеокодер сконфігурований для кодування щонайменше одного блока з множини блоків відеоданих з використанням режиму кодування, що є або режимом кодування з IPCM, або режимом кодування без втрат, в якому використовується прогнозування. Також в цьому прикладі відеокодер додатково сконфігурований для призначення ненульового значення QP для згаданого щонайменше одного блока, кодованого з використанням вказаного режиму кодування, і виконання деблокуючої фільтрації відносно згаданого одного або більше з множини блоків відеоданих на основі вказаного режиму кодування, що використовується для кодування згаданого щонайменше одного блока, і призначеного ненульового значення QP для згаданого щонайменше одного блока. На фіг. 4 представлена концептуальна схема, яка ілюструє приклад деблокуючої фільтрації, що виконується на границі двох суміжних блоків відеоданих згідно з розкритими тут методиками. У прикладі по фіг. 4 блок 404 може представляти кодований в даний момент або "поточний" блок відеоданих, який включає в себе лівий край, що підлягає деблокуючій фільтрації або "деблокований" разом з відповідним правим краєм блока 402. У цьому прикладі блок 402 є суміжним блоком відеоданих, який розташований суміжно з (в цьому прикладі зліва від) блоком 404. Наприклад, блок 402 може бути раніше кодованим блоком відеоданих, який кодований до кодування блока 404. У інших прикладах верхній край (не показаний) блока 404 може бути деблокований разом з відповідним нижнім краєм суміжного блока відеоданих (також не показаного), який знаходиться над блоком 404. У деяких версіях тестової моделі стандарту HEVC (наприклад, у версії 4, або "HM4") конкретний деблокуючий фільтр може деблокувати край з вісьмома елементами дискретизації. Як показано на фіг. 4, область краю деблокування блоків 402 і 404 включає в себе чотири ряди піксельних значень q0i-q3i, паралельних краю 400 в блоці 404, і чотири ряди піксельних значень p0i-p3i, паралельних краю 400 в блоці 402, де "i" вказує ряд пікселів, перпендикулярний краю 400. У випадку горизонтального краю (не показаний), наприклад, верхнього краю поточного блока, позначення і нумерація можуть бути ідентичні вертикальному краю (тобто, краю 400), показаному на фіг. 4. Додатково, піксельними значеннями р або q можуть бути або значення після попередньої деблокуючої фільтрації (тобто, відновлені піксельні значення), або значення після деблокуючої фільтрації. У деяких версіях моделі HM (наприклад, HM4) деблокуючий фільтр, наприклад, деблокуючий фільтр 64 засобу 20 здійснення кодування або деблокуючий фільтр 94 відеодекодера 30 може виконувати фільтрацію деяких країв TU і PU блока на основі результату обчислення сили границі і рішень по деблокуванню. Рішення по деблокуванню можуть включати в себе рішення про увімкнення або вимкнення деблокуючого фільтра, рішення про те, чи є деблокуючий фільтр слабким або сильним, і рішення про силу слабкого фільтра для даного блока. Обчислення сили границі, яка більш детально описується нижче з посиланнями на фіг. 6, і рішення про деблокування залежать від порогових значень tc і β. У деяких версіях моделі HM порогові значення tc і β деблокуючого фільтра можуть залежати від параметра Q, який отримують виходячи зі значення QP і сили границі ("Bs") для поточного блока відеоданих з використанням наступних виразів: If Bs>2, then TcOffset=2 If Bs

Дивитися

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

Назва патенту англійською

Intra pcm (ipcm) and lossless coding mode video deblocking

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

van der Auwera, Geert, Karczewicz, Marta, Wang, Xianglin

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

Ван Дер Аувера Герт, Карчевич Марта, Ван Сянлинь

МПК / Мітки

МПК: H04N 7/00

Мітки: відеокодування, режиму, деблокування, кодування, ipcm, інтра-імпульсно-кодовою, втрат, модуляцією

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

<a href="https://ua.patents.su/58-114494-deblokuvannya-rezhimu-koduvannya-z-intra-impulsno-kodovoyu-modulyaciehyu-ipcm-i-koduvannya-bez-vtrat-dlya-videokoduvannya.html" target="_blank" rel="follow" title="База патентів України">Деблокування режиму кодування з інтра-імпульсно-кодовою модуляцією (ipcm) і кодування без втрат для відеокодування</a>

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