Імпульсно-кодова модуляція з квантуванням при кодуванні відеоінформації
Формула / Реферат
1. Спосіб кодування відеоданих, який включає:
кодування щонайменше одного блока кадру відеоданих, використовуючи внутрішньокадрове прогнозування відносно іншого блока кадру відеоданих; і
кодування вибірок одного або більше інших блоків кадру відеоданих, використовуючи імпульсно-кодову модуляцію з квантуванням відповідно до бітової глибини на виході, при цьому
кодування виконують без будь-якого перетворення частотної області вибірок, причому ці вибірки одного або більше інших блоків кадру відеоданих мають бітову глибину більшу, ніж бітова глибина на виході, для введення втрат у вибірки.
2. Спосіб за п. 1, в якому етап кодування вибірок одного або більше інших блоків кадру відеоданих з використанням імпульсно-кодової модуляції з квантуванням відповідно до бітової глибини на виході містить етапи, на яких:
виконують квантування вибірок одного або більше інших блоків кадру відеоданих відповідно до кроку квантування, який задає величину квантування для створення бітової глибини на виході; і
виконують імпульсно-кодову модуляцію квантованих вибірок.
3. Спосіб за п. 2, в якому бітова глибина на виході є параметром, що задається.
4. Спосіб за п. 3, який включає також етапи, на яких:
вибирають крок квантування для квантованих вибірок для задання бітової глибини на виході.
5. Спосіб за п. 4, в якому етап вибору кроку квантування містить вибір кроку квантування на основі однієї або більшої кількості характеристик відеоданих.
6. Спосіб за п. 2, в якому етап квантування вибірок одного або більше інших блоків відеоданих відповідно до етапу квантування містить кількість зсувів вибірок з блока відеоданих праворуч, причому ця кількість зсувів праворуч основана на кроці квантування.
7. Спосіб за п. 1, в якому етап кодування вибірок одного або більше інших блоків кадру відеоданих з використанням імпульсно-кодової модуляції з квантуванням містить етапи, на яких:
виконують квантування вибірок з множини блоків відеоданих відповідно до загального кроку квантування; і
виконують імпульсно-кодову модуляцію квантованих вибірок у множині блоків відеоданих.
8. Спосіб за п. 1, в якому етап кодування вибірок одного або більше інших блоків кадру відеоданих з використанням імпульсно-кодової модуляції з квантуванням містить етапи, на яких:
виконують квантування вибірок з першого блока відеоданих відповідно до першого кроку квантування;
виконують квантування вибірок з другого блока відеоданих відповідно до другого кроку квантування, який є іншим, ніж перший крок квантування; і
виконують імпульсно-кодову модуляцію квантованих вибірок в першому і у другому блоках відеоданих.
9. Спосіб за п. 8, який включає також етап, на якому:
представляють перший крок квантування і другий крок квантування як різницеві значення відносно основного кроку квантування.
10. Спосіб за п. 1, який включає також етап, на якому:
генерують покажчик бітової глибини на виході і включають цей покажчик до складу закодованого потоку бітів.
11. Спосіб за п. 10, який включає також етап, на якому:
включають покажчик бітової глибини на виході до складу заголовка послідовності як елемент синтаксису.
12. Спосіб за п. 10, який включає також етап, на якому:
включають покажчик зміщення для округлення до складу закодованого потоку бітів, що включає в себе закодований блок відеоданих.
13. Спосіб декодування відеоданих, який включає етап, на якому: виконують декодування щонайменше одного блока кадру відеоданих,
використовуючи внутрішньокадрове прогнозування відносно іншого блока кадру відеоданих; і
виконують декодування вибірок одного або більше інших блоків кадру відеоданих, які були закодовані з використанням імпульсно-кодової модуляції з квантуванням, відповідно до бітової глибини на виході для створення декодованих вибірок, при цьому декодування виконують без будь-якого перетворення частотної області вибірок, причому декодовані вибірки мають бітову глибину більшу, ніж бітова глибина на виході.
14. Спосіб за п. 13, в якому етап декодування вибірок одного або більше інших блоків кадру відеоданих відповідно до бітової глибини на виході включає етапи, на яких:
виконують декодування вибірок одного або більше інших блоків кадру відеоданих з використанням імпульсно-кодової демодуляції; і
виконують зворотне квантування декодованих вибірок відповідно до кроку квантування.
15. Спосіб за п. 14, в якому крок квантування оснований на бітовій глибині на виході.
16. Спосіб за п. 15, в якому етап зворотного квантування декодованих вибірок містить етап, на якому:
виконують зворотне квантування декодованих вибірок відповідно до кроку квантування і зі зміщенням для округлення.
17. Спосіб за п. 13, який включає також етап, на якому:
приймають щонайменше одну бітову глибину на виході в закодованому потоці бітів, що включає в себе кадр з відеоданих.
18. Спосіб за п. 14, який включає також етап, на якому:
визначають крок квантування на основі однієї або більшої кількості характеристик кадру відеоданих.
19. Пристрій, сконфігурований для кодування відеоданих, який містить:
пам'ять, сконфігуровану для зберігання відеоданих; і
блок кодування відеоінформації, сконфігурований для:
кодування щонайменше одного блока кадру відеоданих, використовуючи внутрішньокадрове прогнозування відносно іншого блока кадру відеоданих; і
кодування вибірок одного або більше інших блоків кадру відеоданих, використовуючи імпульсно-кодову модуляцію з квантуванням відповідно до бітової глибини на виході, при цьому кодування виконують без будь-якого перетворення частотної області вибірок, причому ці вибірки одного або більше інших блоків кадру відеоданих мають бітову глибину більшу, ніж бітова глибина на виході, для введення втрат у вибірки.
20. Пристрій за п. 19, в якому блок кодування відеоінформації містить: блок квантування, сконфігурований для квантування вибірок одного або більше інших блоків кадру відеоданих відповідно до кроку квантування, який задає величину квантування, для створення бітової глибини на виході; і
блок модуляції, сконфігурований для кодування квантованих вибірок з використанням імпульсно-кодової модуляції.
21. Пристрій за п. 20, в якому бітова глибина на виході є параметром, що задається.
22. Пристрій за п. 21, в якому блок кодування відеоінформації також сконфігурований для вибору кроку квантування для квантованих вибірок для задання бітової глибини на виході.
23. Пристрій за п. 22, в якому блок кодування відеоінформації сконфігурований для вибору кроку квантування на основі однієї або більшої кількості характеристик відеоданих.
24. Пристрій за п. 20, в якому блок квантування сконфігурований для квантування вибірок одного або більше інших блоків кадру відеоданих з використанням кількості зсувів вибірок з блока відеоданих праворуч, при цьому ця кількість зсувів праворуч основана на кроці квантування.
25. Пристрій за п. 19, в якому блок кодування відеоінформації містить:
блок квантування, сконфігурований для квантування множини вибірок з блоків відеоданих відповідно до загального кроку квантування; і
блок модуляції, сконфігурований для кодування квантованих вибірок з використанням імпульсно-кодової модуляції у множині блоків відеоданих.
26. Пристрій за п. 19, в якому блок кодування відеоінформації містить:
блок квантування, сконфігурований для квантування вибірок з першого блока відеоданих відповідно до першого кроку квантування і для квантування вибірок з другого блока відеоданих відповідно до другого кроку квантування, який є іншим, ніж перший крок квантування; і
блок модуляції, сконфігурований для кодування квантованих вибірок в першому і у другому блоках відеоданих з використанням імпульсно-кодової модуляції.
27. Пристрій за п. 26, в якому блок кодування відеоінформації також сконфігурований для представлення першого кроку квантування і другого кроку квантування як різницевих значень відносно основного кроку квантування.
28. Пристрій за п. 19, в якому блок кодування відеоінформації також сконфігурований для генерації покажчика бітової глибини на виході і для включення цього покажчика до складу закодованого потоку бітів.
29. Пристрій за п. 28, в якому блок кодування відеоінформації також сконфігурований для включення покажчика бітової глибини на виході до складу заголовка послідовності як елемента синтаксису.
30. Пристрій за п. 28, в якому блок кодування відеоінформації також сконфігурований для включення покажчика зміщення для округлення до складу закодованого потоку бітів, що включає в себе закодований блок відеоданих.
31. Пристрій, сконфігурований для декодування відеоданих, що включає:
пам'ять, сконфігуровану для зберігання відеоданих; і
блок декодування відеоінформації, сконфігурований для:
декодування щонайменше одного блока кадру відеоданих, використовуючи внутрішньокадрове прогнозування відносно іншого блока кадру відеоданих; і
декодування вибірок одного або більше інших блоків кадру відеоданих, які були закодовані з використанням імпульсно-кодової модуляції з квантуванням відповідно до бітової глибини на виході для створення декодованих вибірок, при цьому декодування виконують без будь-якого перетворення частотної області вибірок, причому декодовані вибірки мають бітову глибину більшу, ніж бітова глибина на виході.
32. Пристрій за п. 31, в якому блок декодування відеоінформації містить:
блок демодуляції, сконфігурований для декодування вибірок одного або більше інших блоків кадру відеоданих з використанням імпульсно-кодової демодуляції; і
блок зворотного квантування, сконфігурований для виконання зворотного квантування декодованих вибірок відповідно до кроку квантування.
33. Пристрій за п. 32, в якому крок квантування оснований на бітовій глибині на виході.
34. Пристрій за п. 33, в якому блок зворотного квантування також сконфігурований для виконання зворотного квантування декодованих вибірок відповідно до кроку квантування і зі зміщенням для округлення.
35. Пристрій за п. 34, в якому блок декодування відеоінформації також сконфігурований для прийому щонайменше однієї бітової глибини на виході в закодованому потоці бітів, що включає в себе кадр відеоданих.
36. Пристрій за п. 32, в якому блок декодування відеоінформації також сконфігурований для визначення кроку квантування на основі однієї або більшої кількості характеристик одного або більше інших блоків кадру відеоданих.
37. Пристрій, сконфігурований для кодування відеоданих, який містить:
засіб для кодування щонайменше одного блока кадру відеоданих, використовуючи внутрішньокадрове прогнозування відносно іншого блока кадру відеоданих; і
засіб для кодування вибірок одного або більше інших блоків кадру відеоданих, використовуючи імпульсно-кодову модуляцію з квантуванням відповідно до бітової глибини на виході, при цьому кодування виконують без будь-якого перетворення частотної області вибірок, причому ці вибірки одного або більше інших блоків кадру відеоданих мають бітову глибину більшу, ніж бітова глибина на виході, для введення втрат у вибірки.
38. Пристрій за п. 37, який також містить:
засіб генерації покажчика бітової глибини на виході і включення цього покажчика бітової глибини на виході до складу заголовка послідовності як елемента синтаксису.
39. Пристрій, сконфігурований для декодування відеоданих, що містить:
засіб для декодування щонайменше одного блока кадру відеоданих, використовуючи внутрішньокадрове прогнозування відносно іншого блока кадру відеоданих; і
засіб для кодування вибірок одного або більше інших блоків кадру відеоданих, які були закодовані з використанням імпульсно-кодової модуляції з квантуванням відповідно до бітової глибини на виході для створення декодованих вибірок, при цьому декодування виконують без будь-якого перетворення частотної області вибірок, причому декодовані вибірки мають бітову глибину більшу, ніж бітова глибина на виході.
40. Пристрій за п. 39, який також містить:
засіб для прийому щонайменше однієї бітової глибини в закодованому потоці бітів, що включає в себе кадр відеоданих.
41. Машиночитаний носій інформації, який має команди, що зберігаються на ньому, які при їх виконанні спонукають один або більше процесорів, що входять до складу пристрою кодування відеоінформації, виконувати:
кодування щонайменше одного блока кадру відеоданих, використовуючи внутрішньокадрове прогнозування відносно іншого блока кадру відеоданих; і
кодування вибірок одного або більше інших блоків кадру відеоданих, використовуючи імпульсно-кодову модуляцію з квантуванням відповідно до бітової глибини на виході, при цьому кодування виконують без будь-якого перетворення частотної області вибірок, причому ці вибірки одного або більше інших блоків кадру відеоданих мають бітову глибину більшу, ніж бітова глибина на виході, для введення втрат у вибірки.
42. Машиночитаний носій інформації за п. 41, в якому команди кодування вибірок одного або більше інших блоків кадру відеоданих з використанням імпульсно-кодової модуляції з квантуванням відповідно до бітової глибини на виході містять команди, які спонукають один або більше процесорів виконувати:
квантування вибірок одного або більше інших блоків кадру відеоданих відповідно до кроку квантування, що задає величину квантування для створення бітової глибини на виході; і
імпульсно-кодову модуляцію квантованих вибірок.
43. Машиночитаний носій інформації за п. 41, який також містить команди, які спонукають процесор виконувати:
генерацію покажчика бітової глибини на виході і включення цього покажчика бітової глибини на виході до складу заголовка послідовності як елемента синтаксису.
44. Машиночитаний носій інформації, який має команди, що зберігаються на ньому, які при їх виконанні спонукають один або більше процесорів, що входять до складу пристрою декодування відеоінформації, виконувати:
декодування щонайменше одного блока кадру відеоданих, використовуючи внутрішньокадрове прогнозування відносно іншого блока кадру відеоданих; і
декодування вибірок одного або більше інших блоків кадру відеоданих, які були закодовані з використанням імпульсно-кодової модуляції з квантуванням, відповідно до бітової глибини на виході для створення декодованих вибірок, при цьому декодування виконують без будь-якого перетворення частотної області вибірок, причому декодовані вибірки мають бітову глибину більшу, ніж бітова глибина на виході.
45. Машиночитаний носій інформації за п. 44, в якому команди декодування вибірок одного або більше інших блоків кадру відеоданих відповідно до бітової глибини на виході містять команди, які спонукають один або більше процесорів виконувати:
декодування вибірок одного або більше інших блоків кадру відеоданих з використанням імпульсно-кодової демодуляції; і
зворотне квантування декодованих вибірок відповідно до кроку квантування.
46. Машиночитаний носій інформації за п. 44, в якому крок квантування оснований на бітовій глибині на виході.
47. Машиночитаний носій інформації за п. 44, який також містить команди, які спонукають процесор виконувати:
прийом бітової глибини на виході в закодованому потоці бітів, що включає в себе кадр відеоданих.
Текст
Реферат: Режим імпульсно-кодової модуляції (ІКМ) з квантуванням включає в себе операцію квантування вибірок таким чином, щоб додавати спотворення до закодованої відеоінформації. Таким чином, блоки відеоінформації, закодовані з використанням ІКМ з квантуванням, виглядають більш одноманітно з сусідніми блоками відеоінформації, які були закодовані іншими способами стиснення з втратами, такими як, наприклад, кодування з міжкадровим прогнозом або кодування з внутрішньокадровим прогнозом. До кодування квантованих вибірок з використанням ІКМ відеокодер може спочатку виконувати квантування вхідних вибірок відеоінформації з кроком квантування. Дані про цей крок квантування можуть бути повідомлені в декодер в потоці бітів закодованої відеоінформації. Відеодекодер може приймати потік бітів закодованої відеоінформації, що включає в себе вибірки відеоінформації, закодовані з UA 109312 C2 (12) UA 109312 C2 використанням ІКМ з квантуванням. Ці вибірки спочатку декодують з використанням імпульснокодової демодуляції, а потім піддають зворотному квантуванню з тим же самим кроком квантування, який був використаний для кодування відеоінформації. Відеодекодер може витягувати цей крок квантування з бітової глибини на виході в потоці бітів закодованої відеоінформації. UA 109312 C2 5 10 15 20 25 30 35 40 45 50 55 60 По цій заявці заявляється пріоритет на основі попередньої заявки на патент США № 61/449413, поданої 4 березня 2011 р., яка включена сюди в повному об'ємі шляхом посилання. ГАЛУЗЬ ТЕХНІКИ, ДО ЯКОЇ НАЛЕЖИТЬ ВИНАХІД Цей винахід, суть якого тут розкрита, стосується кодування відеоінформації і, зокрема способів імпульсно-кодової модуляції (ІКМ) відеоданих з квантуванням. ПЕРЕДУМОВИ СТВОРЕННЯ ВИНАХОДУ Можливості цифрового відео можуть бути вбудовані в різноманітні пристрої, в тому числі в цифрові телевізори, в цифрові системи прямої широкомовної передачі, в системи бездротової широкомовної передачі, персональні цифрові інформаційні пристрої (PDA), в портативні або настільні комп'ютери, в цифрові фотоапарати, в пристрої цифрового запису, в цифрові медіапрогравачі, у відеоігрові пристрої, в ігрові приставки, в стільникові або супутникові радіотелефонні апарати, в пристрої відеоконференцзв'язку і т. п. В цифрових відеопристроях реалізовані способи стиснення відеоінформації, які описані в стандартах MPEG-2, MPEG-4, ITUT H.263, ITU-T H.264/MPEG-4, розділ 10, в стандарті вдосконаленого кодування відеоінформації (AVC), в стандарті високопродуктивного кодування відеоінформації (HEVC), що розробляється в цей час, і в розширених версіях цих стандартів для більш ефективної передачі, більш ефективного прийому і зберігання цифрової відеоінформації. Способи стиснення відеоінформації включають в себе прогноз по простору і/або прогноз за часом для зменшення або усунення надмірності, властивої відеопослідовностям. Для поблочного кодування відеоінформації відеокадр або зріз може бути розділений на блоки. Кожний блок може бути додатково розділений на сегменти. Блоки в кадрі або зрізі, закодованому з внутрішньокадровим прогнозом (I), закодовані з використанням прогнозу по простору відносно опорних вибірок в сусідніх блоках в тому ж самому кадрі або зрізі. Для блоків в кадрі або зрізі, закодованому з міжкадровим прогнозом (Р або В), може використовуватися прогноз по простору відносно опорних вибірок в сусідніх блоках в тому ж самому кадрі або зрізі або прогноз за часом відносно опорних вибірок в інших опорних кадрах. В результаті прогнозу по простору або за часом отримують прогнозований блок для блока, що підлягає кодуванню. Різницеві дані являють собою різниці пікселів між початковим блоком, що підлягає кодуванню, і прогнозованим блоком. Блок, що кодується способом кодування з міжкадровим прогнозом, кодують відповідно до вектора руху, який вказує блок опорних вибірок, які утворюють прогнозований блок, і з різницевими даними, які вказують різницю між закодованим блоком і прогнозованим блоком. Блок, що кодується з внутрішньокадровим прогнозом, кодують відповідно до режиму кодування з внутрішньокадровим прогнозом і з різницевими даними. Для додаткового стиснення різницеві дані можуть бути перетворені з області пікселів в область перетворення, що приводить до різницевих коефіцієнтів перетворення, які потім можуть бути піддані квантуванню. Квантовані коефіцієнти перетворення, спочатку розташовані в двовимірній матриці, можуть бути проскановані в індивідуальному порядку для створення одновимірного вектора коефіцієнтів перетворення для статистичного кодування. КОРОТКИЙ ВИКЛАД СУТІ ВИНАХОДУ Загалом, в цьому винаході, суть якого тут розкрита, описані пристрої і способи кодування відеоінформації з використанням імпульсно-кодової модуляції (ІКМ) з квантуванням. ІКМ з квантуванням включає в себе операцію квантування вибірок відеоінформації так, щоб при деяких обставинах до закодованої відеоінформації можна було додавати спотворення. Таким чином, блоки відеоінформації, закодовані з використанням ІКМ з квантуванням, здаються більш рівномірними в порівнянні із суміжними блоками відеоінформації, які були закодовані іншими способами стиснення з втратами, такими як, наприклад, кодування з міжкадровим прогнозом або кодування з внутрішньокадровим прогнозом. Відеокодер може, наприклад, спочатку виконати квантування вхідних вибірок відеоінформації, виконуючи операцію квантування до кодування квантованих вибірок з використанням ІКМ. Операція квантування звичайно додає спотворення у відеоінформацію і задає бітову глибину квантованих вибірок, закодованих з використанням ІКМ, на виході. Дані про цю операцію квантування і/або про бітову глибину на виході можуть бути повідомлені в декодер в закодованому потоці бітів відеоінформації. Як один з прикладів, покажчик бітової глибини виходу може міститися у вигляді 4-бітового елементу синтаксису в заголовку послідовності в закодованому потоці бітів. Як інший приклад, відеодекодер може приймати закодований потік бітів відеоінформації, що включає в себе квантовані вибірки відеоінформації, закодовані з використанням ІКМ. Ці вибірки спочатку декодують з використанням імпульсно-кодової демодуляції, а потім піддають зворотному квантуванню з тим же самим кроком квантування, який був використаний для 1 UA 109312 C2 5 10 15 20 25 30 35 40 45 50 55 60 кодування відеоінформації. Як один з прикладів, відеодекодер може витягувати цей крок квантування із закодованого потоку бітів відеоінформації. У одному з прикладів у винаході, суть якого тут розкрита, описаний спосіб кодування відеоданих, що містить операцію кодування вибірок з блока відеоданих з використанням імпульсно-кодової модуляції з квантуванням відповідно до бітової глибини на виході. Імпульснокодова модуляція з квантуванням включає в себе операцію квантування вибірок з блока відеоданих відповідно до кроку квантування, який задає величину квантування для створення бітової глибини на виході, і операцію імпульсно-кодової модуляції квантованих вибірок. У винаході, суть якого тут розкрита, також описаний спосіб декодування відеоданих, що містить операцію декодування вибірок із закодованого блока відеоданих з використанням імпульснокодової демодуляції і зворотного квантування декодованих вибірок відповідно до кроку квантування. У іншому прикладі у винаході, суть якого тут розкрита, описаний пристрій, сконфігурований для кодування відеоданих. Цей пристрій включає в себе блок кодування відеоінформації, сконфігурований для кодування вибірок з блока відеоданих з використанням імпульсно-кодової модуляції з квантуванням відповідно до бітової глибини на виході. Блок кодування відеоінформації включає в себе блок квантування, сконфігурований для квантування вибірок з блока відеоданих відповідно до кроку квантування, який задає величину квантування для створення бітової глибини на виході, і блок модуляції, сконфігурований для кодування квантованих вибірок з використанням імпульсно-кодової модуляції. У винаході, суть якого тут розкрита, також описаний пристрій, сконфігурований для декодування відеоданих. Цей пристрій включає в себе блок декодування відеоінформації, сконфігурований для декодування вибірок із закодованого блока відеоданих, які були закодовані з використанням імпульсно-кодової модуляції з квантуванням відповідно до бітової глибини на виході. Блок декодування відеоінформації включає в себе блок демодуляції, сконфігурований для декодування вибірок із закодованого блока відеоданих з використанням імпульсно-кодової демодуляції, і блок зворотного квантування, сконфігурований для виконання зворотного квантування декодованих вибірок відповідно до кроку квантування. У ще одному прикладі у винаході, суть якого тут розкрита, описаний комп'ютерний програмний продукт, що містить зчитуваний за допомогою комп'ютера носій інформації, що має команди, які зберігаються на ньому, які при їх виконанні викликають те, що процесор пристрою кодування відеоінформації виконує кодування вибірок з блока відеоданих з використанням імпульсно-кодової модуляції з квантуванням відповідно до бітової глибини на виході. Команди кодування вибірок з блока відеоданих з використанням імпульсно-кодової модуляції з квантуванням включають в себе команди виконання квантування вибірок блока відеоданих відповідно до кроку квантування, який задає величину квантування для створення бітової глибини на виході, і виконання імпульсно-кодової модуляції квантованих вибірок. У винаході, суть якого тут розкрита, також описаний комп'ютерний програмний продукт для декодування відеоданих, що включають в себе команди декодування вибірок із закодованого блока відеоданих, які були закодовані з використанням імпульсно-кодової модуляції з квантуванням відповідно до бітової глибини на виході. Команди декодування вибірок з блока відеоданих включають в себе команди виконання декодування вибірок із закодованого блока відеоданих з використанням імпульсно-кодової демодуляції і виконання зворотного квантування декодованих вибірок відповідно до кроку квантування. Подробиці однієї або більшої кількості варіантів здійснення даного винаходу викладені на супровідних кресленнях і в приведеному нижче описі. Інші ознаки, задачі і переваги даного винаходу стануть очевидними з опису, креслень і з формули винаходу. КОРОТКИЙ ОПИС КРЕСЛЕНЬ На Фіг. 1 зображена блок-схема, на якій проілюстрована система кодування і декодування відеоінформації, приведена як приклад. На Фіг. 2 зображена блок-схема, на якій проілюстрований відеокодер, приведений як приклад. На Фіг. 3 зображена блок-схема, на якій проілюстрований приведений як приклад блок ІКМ з квантуванням, що входить до складу відеокодера. На Фіг. 4 зображений приведений як приклад закодований потік бітів відеоінформації із заголовком послідовності. На Фіг. 5 зображена блок-схема, на якій проілюстрований відеодекодер, приведений як приклад. На Фіг. 6 зображена блок-схема, на якій проілюстрований приведений як приклад блок декодування з використанням ІКМ з квантуванням, що входить до складу відеодекодера. 2 UA 109312 C2 5 10 15 20 25 30 35 40 45 50 55 60 На Фіг. 7 зображена схема послідовності операцій, на якій проілюстрований спосіб кодування, приведений як приклад. На Фіг. 8 зображена схема послідовності операцій, на якій проілюстрований спосіб декодування, приведений як приклад. ДОКЛАДНИЙ ОПИС Цифрові відеопристрою реалізовують способи стиснення відеоінформації для більш ефективної передачі і для більш ефективного прийому цифрової відеоінформації. При стисненні відеоінформації можуть застосовуватися способи прогнозу по простору (тобто, внутрішньокадрового прогнозу) і/або прогнозу за часом (тобто, міжкадрового прогнозу) для зменшення або усунення надмірності, властивої відеопослідовностям. Для кодування відеоінформації згідно зі стандартом високопродуктивного кодування відеоінформації (HEVC) відеокадр може бути розділений на одиничні елементи кодування, одиничні елементи прогнозу і одиничні елементи перетворення. Термін "одиничний елемент кодування" звичайно стосується області зображення, яка служить як базова одиниця, до якої застосовують різні засоби кодування для стиснення відеоінформації. Одиничний елемент кодування звичайно має квадратну форму, і можна вважати, що він є аналогічним так званому макроблоку, наприклад, згідно з іншими стандартами кодування відеоінформації, наприклад, згідно зі стандартом ITU-T H.264. Одиничний елемент кодування може бути розділений на все більш і більш малі одиничні елементи кодування згідно зі схемою розділення на основі дерева квадрантів. Для забезпечення кращої ефективності кодування одиничний елемент кодування може мати різні розміри залежно від вмісту відеоінформації. Крім того, одиничний елемент кодування може бути розділений на менші блоки для прогнозу або перетворення. Зокрема, кожний одиничний елемент кодування може бути додатково розділений на одиничні елементи прогнозу і одиничні елементи перетворення. Можна вважати, що одиничні елементи прогнозу є аналогічними так званим розділенням на макроблоки згідно з іншими стандартами кодування відеоінформації. Одиничні елементи перетворення стосуються блоків різницевих даних, до яких застосоване перетворення для отримання коефіцієнтів перетворення. Одиничний елемент кодування звичайно має одну складову сигналу яскравості, що позначається як Y, і два складові сигнали колірності, що позначаються як U і V. Залежно від формату вибірки відеоінформації розмір складових U і V, з точки зору кількості вибірок, може бути тим же самим, що і розмір складової Y, або відмінним від нього. Для кодування блока (наприклад, одиничного елемента прогнозу відеоданих) спочатку отримують предиктор для блока. Предиктор може бути отриманий або шляхом внутрішньокадрового (I) прогнозу (тобто, прогнозу по простору), або шляхом міжкадрового (Р або В) прогнозу (тобто, прогнозу за часом). Отже, деякі одиничні елементи прогнозу можуть бути закодовані з внутрішньокадровим прогнозом (I) з використанням прогнозу по простору відносно сусідніх опорних блоків в тому ж самому кадрі, а інші одиничні елементи прогнозу можуть бути закодовані з міжкадровим прогнозом (Р або В) відносно опорних блоків в інших кадрах. Після визначення предиктора обчислюють різниці між початковим блоком відеоданих і його предиктором. Цю різницю також називають різницею прогнозу, і вона стосується різниць пікселів між пікселями в блоці, що підлягає кодуванню, і в опорному блоці, тобто в предикторі. Для забезпечення кращого стиснення різницю прогнозу звичайно перетворюють, наприклад, з використанням дискретного косинусного перетворення (ДКП), цілочисельного перетворення, перетворення Карунена-Лоева (Karhunen-Loeve) (K-L-перетворення) або іншого перетворення. Перетворення перетворює значення різниці пікселів в просторовій області в коефіцієнти перетворення в області перетворення, наприклад, в частотній області. Коефіцієнти перетворення звичайно впорядковані у вигляді двовимірного (2-D) масиву для кожного одиничного елемента перетворення. Для додаткового стиснення коефіцієнти перетворення можуть бути піддані квантуванню. Потім статистичний кодер застосовує до квантованих коефіцієнтів перетворення статистичне кодування, яким є будь-який з наступних способів кодування: контекстно-адаптивне кодування кодами змінної довжини (CAVLC), контекстноадаптивне двійкове арифметичне кодування (CABAC) і т. п. У деяких випадках при використанні вищеописаних способів відеокодер може діяти як пристрій, що збільшує об'єм даних, а не пристрій стиснення даних. Незважаючи на те, що кодер звичайно забезпечує дуже хороше стиснення для більшості вмісту відеоінформації, ізольовані частині відеокадра, що містять нетиповий інформаційний вміст в області перетворення, можуть створювати великі об'єми закодованих даних. Отже, для деякого вмісту відеоінформації кодер не може виконувати задачу стиснення відеоданих, а замість цього може створювати надмірні 3 UA 109312 C2 5 10 15 20 25 30 35 40 45 50 55 60 дані. Для цих випадків відеокодер може поліпшувати загальне стиснення відеоінформації шляхом застосування кодування з використанням імпульсно-кодової модуляції (ІКМ) замість кодування з прогнозом. Кодування з використанням ІКМ звичайно являє собою спосіб кодування без втрат, в якому виконують кодування окремих вибірок відеоданих без стиснення, основаного на прогнозі. Як приклад, в стандарті кодування відеоінформації MPEG-2 задають верхню межу кількості закодованих бітів, яка може бути згенерована для закодованого макроблока відеоданих. При проектуванні декодера ця верхня межа служить допоміжним засобом, задаючи конкретний об'єм даних, який отримують, а потім обробляють для декодування макроблока. Генерація бітів, що кодуються поверх цієї верхньої межі суперечила б конструкції декодера стандарту MPEG-2. У режимі ІКМ з внутрішньокадровим прогнозом (Intra PCM) згідно зі стандартом ITU-T H.264/MPEG-4 AVC (який нижче називається стандартом H.264) кодер передає значення вибірок з макроблока без прогнозу, кодування з перетворенням і статистичного кодування. Тобто, в режимі ІКМ з внутрішньокадровим прогнозом для макроблоков кодер просто виконує кодування значень пікселів в області макроблока з використанням, наприклад, 8 бітів на кожну вибірку. Кодер генерує значення пікселів, закодовані з використанням ІКМ, як значення байтів без обробки. Режим ІКМ з внутрішньокадровим прогнозом дозволяє кодерам регулювати кількість бітів кожного макроблока рівною заданому або меншому значенню без складних обчислень. Використання кодування в режимі ІКМ з внутрішньокадровим прогнозом в стандарті H.264 вказане за допомогою елемента синтаксису "режим макроблока". При використанні кодування в режимі ІКМ з внутрішньокадровим прогнозом значення вибірок з кожного відповідного макроблока передають без прогнозу, кодування з перетворенням і статистичного кодування. Потрібно зазначити, що, коли статистичним кодуванням є контекстно-адаптивне двійкове арифметичне кодування (CABAC), двійкове арифметичне кодування (BAC) припиняють і ініціалізують перед передачею значень вибірок. У існуючій в цей час моделі стандарту HEVC відсутній який-небудь засіб, порівнянний з ІКМ з внутрішньокадровим прогнозом в стандарті H.264. Одна з проблем полягає в тому, що характеристики стандарту HEVC є іншими, ніж характеристики стандарту H.264. У стандарті H.264 об'єм даних обмежений на рівні макроблока, який має розмір 16×16 пікселів. На відміну від цього, стандарт HEVC має одиничні елементи кодування і одиничні елементи прогнозу до 64×64 пікселів або, можливо, ще більші. У результаті, в стандарті HEVC обмеження, накладене на граничний об'єм даних в кожному блоці, є більш сильним для задоволення деяких вимог, що пред'являються мережею, які зустрічаються на практиці, ніж в стандарті H.264. Іншою проблемою, пов'язаною з режимом ІКМ з внутрішньокадровим прогнозом в стандарті H.264, є те, що він є режимом без втрат. При кодуванні без втрат закодовані дані можуть бути точно відновлені на стороні декодера. Отже, в кадрі, який в іншому випадку закодований з втратами, може з'явитися абсолютно неспотворений макроблок. Він може бути візуально шокуючим або щонайменше візуально помітним внаслідок візуальних відмінностей між даними без втрат і сусідніми даними з втратами. Ще одна проблема, пов'язана зі стандартом HEVC, полягає в тому, що він може забезпечувати підтримку інформаційного вмісту з бітовою глибиною 8 біт, 10 біт, 12 біт або з ще більшою бітовою глибиною. Тому передача одиничного елемента кодування розміром 64×64 (або більше) з 12 бітами на кожну вибірку може привести до небажаного об'єму даних для режиму ІКМ. У цьому винаході, суть якого тут розкрита, запропонована концепція режиму ІКМ з квантуванням для використання в способах кодування відеоінформації, наприклад, згідно зі стандартами HEVC і H.264. У режимі ІКМ з квантуванням відеокодер квантує блоки вхідних пікселів до застосування кодування з використанням ІКМ. Аналогічним чином, коли відеодані були закодовані з використанням режиму ІКМ з квантуванням, відеодекодер спочатку буде виконувати імпульсну демодуляцію закодованих відеоданих і потім застосовувати зворотне квантування. У цьому описі винаходу одиничні елементи кодування (в стандарті HEVC), одиничні елементи прогнозу (в стандарті HEVC), одиничні елементи перетворення (в стандарті HEVC), макроблоки (в стандарті H.264) і розділи (в стандарті H.264) звичайно називають блоками. Режим ІКМ з квантуванням може забезпечити підтримку двох цільових установок. По-перше, кодування ІКМ з квантуванням може дозволяти кодеру задавати гнучке обмеження максимального об'єму даних для одиничного елемента кодування в різних ситуаціях, таких як, наприклад, різні рівні, профілі, швидкості передачі кадрів, параметри квантування (ПК), значення розрізнювальної здатності і т. п. Без такого обмеження при кодуванні з використанням 4 UA 109312 C2 5 10 15 20 25 30 35 40 45 50 55 60 ІКМ може бути перевищений допустимий рівень бітів кодування для блока. Ця гнучкість може бути досягнута шляхом застосування контекстно-залежних кроків квантування для керування бітовою глибиною на виході і, таким чином, максимальним об'ємом даних, створеним для відеоданих, закодованих з використанням ІКМ. По-друге, за рахунок введення втрат в спосіб ІКМ, кодування з використанням ІКМ з квантуванням може безпосередньо зменшувати або усувати імовірність появи відеокадра, що має небажаний візуальний зовнішній вигляд, який включає в себе як частину з втратами, так і частина без втрат. На Фіг. 1 зображена блок-схема, на якій проілюстрована приведена як приклад система 10 кодування і декодування відеоінформації, яка може бути сконфігурована для використання способів імпульсно-кодової модуляції/демодуляції з квантуванням відповідно до прикладів з цього винаходу, суть якого тут розкрита. Як показано на Фіг. 1, система 10 включає в себе пристрій-джерело 12, який передає закодовану відеоінформацію в пристрій-адресат 14 по каналу 16 зв'язку. Закодована відеоінформація також може зберігатися на носії 34 інформації або в файловому сервері 36, і до неї при бажанні може здійснювати доступ пристрій-адресат 14. Пристрій-джерело 12 і пристрій-адресат 14 можуть містити будь-який з широкої різноманітності пристроїв, в тому числі настільні комп'ютери, блокнотні (тобто, портативні) комп'ютери, планшетні комп'ютери, комп'ютерні приставки до телевізора, телефонні трубки, наприклад, так звані смартфони, телевізори, камери, дисплеї, цифрові медіапрогравачі, відеоігрові консолі і т. п. В багатьох випадках такі пристрої можуть бути оснащені для бездротового зв'язку. Отже, канал 16 зв'язку може містити канал бездротового зв'язку, канал дротового зв'язку або комбінацію каналів бездротового і дротового зв'язку, придатну для передачі закодованих відеоданих. Аналогічним чином, доступ до файлового сервера 36 пристрій-адресат 14 може здійснити через будь-яке стандартне з'єднання для передачі даних, включаючи з'єднання з мережею Інтернет. Він може включати в себе канал бездротового зв'язку (наприклад, з'єднання стандарту Wi-Fi), дротове з'єднання (наприклад, цифрову абонентську лінію (DSL), кабельний модем і т. д.) або комбінацію обох з них, придатну для доступу до закодованих відеоданих, які зберігаються в файловому сервері. Згідно з прикладами з цього винаходу, суть якого тут розкрита, способи імпульсно-кодової модуляції/демодуляції з квантуванням можуть бути застосовані для кодування відеоінформації для забезпечення підтримки будь-якого з множини мультимедійних додатків, таких як, наприклад, ефірне телемовлення, передачі кабельного телебачення, передачі супутникового телебачення, потокова передача відеоінформації, наприклад, через мережа Інтернет, кодування цифрової відеоінформації для зберігання на носії для зберігання даних, декодування цифрової відеоінформації, що зберігається на носії для зберігання даних, або інших додатків. У деяких прикладах система 10 може бути сконфігурована так, що забезпечує підтримку односторонньої або двосторонньої передачі відеоінформації для забезпечення підтримки таких сфер застосування, як, наприклад, потокова передача відеоінформації, відтворення відеоінформації, широкомовна передача відеоінформації і/або відеотелефонія. У прикладі з Фіг. 1 пристрій-джерело 12 включає в себе джерело 18 відеоінформації, відеокодер 20, модулятор/демодулятор 22 і передавач 24. У пристрої-джерелі 12 джерелом 18 відеоінформації може бути, в тому числі, таке джерело, як, наприклад, пристрій відеозйомки, такий як, наприклад, відеокамера, відеоархів, що містить раніше зняту відеоінформацію, інтерфейс із зовнішнім джерелом відеоінформації, призначений для прийому відеоінформації від постачальника відеоконтента, і/або система комп'ютерної графіки, призначена для генерації даних комп'ютерної графіки як джерела відеоінформації, або комбінація таких джерел. Як один з прикладів, якщо джерелом 18 відеоінформації є відеокамера, то пристрій-джерело 12 і пристрій-адресат 14 можуть являти собою так звані телефони з камерою або відеотелефони. Однак, способи, описані в цьому винаході, суть якого тут розкрита, можуть бути застосовані для кодування відеоінформації загалом і можуть бути застосовані для сфер застосування з бездротовим і/або дротовим зв'язком. Знята, заздалегідь знята або створена за допомогою комп'ютера відеоінформація може бути закодована відеокодером 20. Закодована відеоінформація може бути промодульована модемом 22 згідно зі стандартом зв'язку, наприклад, згідно з протоколом бездротового зв'язку, і передана в пристрій-адресат 14 через передавач 24. Модем 22 може включати в себе різні змішувачі, фільтри, підсилювачі або інші компоненти, призначені для модуляції сигналу. Передавач 24 може включати в себе схеми, призначені для передачі даних, в тому числі підсилювачі, фільтри і одну або більшу кількість антен. Знята, заздалегідь знята або створена за допомогою комп'ютера відеоінформація, закодована відеокодером 20, також може бути збережена на носії 34 інформації або в файловому сервері 36 для використання згодом. Носієм 34 інформації можуть бути, в тому 5 UA 109312 C2 5 10 15 20 25 30 35 40 45 50 55 60 числі диски формату Blu-ray, універсальні цифрові диски (DVD), постійні запам'ятовуючі пристрої на компакт-диску (CD-ROM), флеш-пам'ять або будь-які інші відповідні цифрові носії інформації, призначені для зберігання закодованої відеоінформації. Пристрій-адресат 14 може потім здійснювати доступ до закодованої відеоінформації, що зберігається на носії 34 інформації, для її декодування і відтворення. Файловим сервером 36 може бути сервер будь-якого типу, здатний забезпечувати зберігання закодованої відеоінформації і передачу цієї закодованої відеоінформації в пристрійадресат 14. Прикладами файлових серверів є, в тому числі, Web-сервер (наприклад, для вебсайту), FTP-сервер, пристрої зберігання даних, підключений до мережі (NAS), локальний дисковод або пристрій будь-якого іншого типу, здатний зберігати закодовані відеодані і передавати їх в пристрій-адресат. Передачею закодованих відеоданих з файлового сервера 36 може бути потокова передача, передача шляхом завантаження або комбінація обох цих видів передачі. Пристрій-адресат 14 може здійснювати доступ до файлового сервера 36 через будьяке стандартне з'єднання для передачі даних, включаючи з'єднання з мережею Інтернет. Він може включати в себе канал бездротового зв'язку (наприклад, з'єднання стандарту Wi-Fi), дротове з'єднання (наприклад, цифрову абонентську лінію (DSL), кабельний модем, з'єднання з мережею стандарту Ethernet, універсальну послідовну шину (USB) і т. д.) або комбінацію обох з них, придатну для доступу до закодованих відеоданих, що зберігаються в файловому сервері. У прикладі з Фіг. 1 пристрій-адресат 14 включає в себе приймач 26, модем 28, відеодекодер 30 і дисплей 32. Приймач 26 з пристрою-адресата 14 приймає інформацію по каналу 16, а модем 28 виконує демодуляцію інформації для створення демодульованого потоку бітів для відеодекодера 30. Інформація, передана по каналу 16, може включати в себе різноманітну інформацію синтаксису, згенеровану відеокодером 20 для її використання відеодекодером 30 при декодування відеоданих. Такий синтаксис також може міститися в закодованих відеоданих, що зберігаються на носії 34 інформації або в файловому сервері 36. Кожен з пристроїв, якими є відеокодер 20 і відеодекодер 30, може бути частиною відповідного кодера-декодера (CODEC), здатного виконувати кодування або декодування відеоданих. Дисплей 32 може бути вбудованим в пристрій-адресат 14 або бути зовнішнім до нього. У деяких прикладах пристрій-адресат 14 може включати в себе вбудований дисплей і також може бути сконфігурований для взаємодії із зовнішнім дисплеєм. У інших прикладах пристроємадресатом 14 може бути дисплей. Загалом, дисплей 32 відображає декодовані відеодані для користувача і може містити будь-який з множини дисплеїв, такий як, наприклад, рідкокристалічний дисплей (РКД), плазмовий дисплей, дисплей на органічних світлодіодах (OLED) або дисплей іншого типу. У прикладі з Фіг. 1 канал 16 зв'язку може містити будь-який засіб бездротового або дротового зв'язку, такий як, наприклад, радіочастотний (РЧ) спектр, або одну або більшу кількість фізичних ліній передачі, або будь-яку комбінацію засобів бездротового і дротового зв'язку. Канал 16 зв'язку може бути частиною мережі з комутацією пакетів, такою як, наприклад, локальна мережа, регіональна мережа або глобальна мережа, така як, наприклад, мережа Інтернет. Канал 16 зв'язку звичайно являє собою будь-який відповідний засіб зв'язку або сукупність різних засобів зв'язку для передачі відеоданих з пристрою-джерела 12 в пристрійадресат 14, включаючи будь-яку відповідну комбінацію засобів дротового або бездротового зв'язку. Канал 16 зв'язку може включати в себе маршрутизатори, комутатори, базові станції або будь-яке інше обладнання, яке може бути корисним для полегшення передачі інформації з пристрою-джерела 12 в пристрій-адресат 14. Відеокодер 20 і відеодекодер 30 можуть функціонувати згідно зі стандартом стиснення відеоінформації, таким як, наприклад, стандарт високопродуктивного кодування відеоінформації (HEVC), що розробляється в цей час, і можуть відповідати тестовій моделі стандарту HEVC (HM). У альтернативному варіанті відеокодер 20 і відеодекодер 30 можуть функціонувати згідно з іншими галузевими або промисловими стандартами, такими як, наприклад, стандарт ITU-T H.264, що інакше називається стандартом MPEG-4, розділ 10, вдосконалене кодування відеоінформації (AVC) або розширені версії цих стандартів. Проте, способи з цього винаходу, суть якого тут розкрита, не обмежені яким-небудь конкретним стандартом кодування. Іншими прикладами є, в тому числі, стандарт MPEG-2 і стандарт ITU-T H.263. Хоч це і не показано на Фіг. 1, в деяких аспектах винаходу кожен з пристроїв, якими є відеокодер 20 і відеодекодер 30, може бути об'єднаний з кодером звуку і з декодером звуку і може включати в себе належні блоки мультиплексування-демультиплексування (MUX-DEMUX) або інше апаратне і програмне забезпечення для забезпечення кодування як звукової інформації, так і відеоінформації в загальний потік даних або в окремі потоки даних. Якщо це 6 UA 109312 C2 5 10 15 20 25 30 35 40 45 50 55 60 можливо, то в деяких прикладах блоки мультиплексування-демультиплексування (MUXDEMUX) можуть відповідати протоколу мультиплексора згідно зі стандартом ITU H.223 або іншими протоколами, таким як, наприклад, протокол передачі дейтаграм користувача (UDP). Кожен з пристроїв, якими є відеокодер 20 і відеодекодер 30, може бути реалізований у вигляді будь-якої з множини прийнятних схем кодера, наприклад, у вигляді одного або більшої кількості наступних пристроїв: мікропроцесорів, пристроїв цифрової обробки сигналів (DSP), спеціалізованих інтегральних схем (ASIC), програмованих користувачемвентильних матриць (FPGA), дискретної логіки, програмного забезпечення, апаратних засобів, апаратнореалізованого програмного забезпечення або будь-яких їх комбінацій. Коли способи частково реалізовані за допомогою програмного забезпечення, пристрій може зберігати команди для програмного забезпечення на відповідному постійному зчитуваному за допомогою комп'ютера носії інформації і виконувати ці команди апаратними засобами з використанням одного або більшої кількості процесорів для виконання способів з цього винаходу, суть якого тут розкрита. Кожен з пристроїв, якими є відеокодер 20 і відеодекодер 30, може міститися в одному або в більшій кількості кодерів або декодерів, будь-який з яких може бути вбудований як частина об'єднаного кодера/декодера (CODEC) у відповідний пристрій. Відеокодер 20 може реалізовувати будь-який зі способів з цього винаходу, суть якого тут розкрита, або всі ці способи для використання режиму ІКМ з квантуванням в процедурі кодування відеоінформації. Аналогічним чином, відеодекодер 30 може реалізувати будь-який з цих способів або всі ці способи для використання режиму ІКМ з квантуванням в процедурі декодування відеоінформації. Відеокодер, описаний в цьому винаході, суть якого тут розкрита, може стосуватися відеокодера або відеодекодера. Аналогічним чином, відеокодер і відеодекодер можуть називатися, відповідно, блоками кодування відеоінформації і блоками декодування відеоінформації. Аналогічним чином, термін "кодування відеоінформації" може стосуватися кодування відеоінформації або декодування відеоінформації. На Фіг. 2 зображена блок-схема, на якій проілюстрований приведений як приклад відеокодер 20, в якому можуть використовуватися способи для режиму ІКМ з квантуванням в способі кодування відеоінформації, описаному в цьому винаході, суть якого тут розкрита. Опис відеокодера 20 буде приведений в ілюстративних цілях застосовно до стандарту кодування HEVC, але це не обмежує даний винахід, суть якого тут розкрита, режим ІКМ з квантуванням може виявитися корисним в інших стандартах або способах кодування. У доповнення до кодування відеоінформації шляхом ІКМ з квантуванням відеокодер 20 може виконувати кодування одиничних елементів кодування всередині відеокадрів з внутрішньокадровим і з міжкадровим прогнозом. Кодування з внутрішньокадровим прогнозом основане на прогнозі по простору для зменшення або усунення просторової надмірності у відеоінформації в конкретному відеокадрі. Кодування з міжкадровим прогнозом основане на прогнозі за часом для зменшення або усунення часової надмірності між поточним кадром і заздалегідь закодованими кадрами відеопослідовності. Режим з внутрішньокадровим прогнозом (I-режим) може стосуватися будьякого з декількох режимів стиснення відеоінформації по простору. Режими з міжкадровим прогнозом, такі як, наприклад, прогноз в одному напрямку (Р-режим) або прогноз в двох напрямках (В-режим), можуть стосуватися будь-якого з декількох режимів стиснення відеоінформації за часом. Як показано на Фіг. 2, відеокодер 20 приймає поточний блок відеоінформації у відеокадрі, що підлягає кодуванню. У прикладі з Фіг. 2 відеокодер 20 включає в себе блок 44 компенсації руху, блок 42 оцінки параметрів руху, блок 46 внутрішньокадрового прогнозу, блок 47 ІКМ з квантуванням, буфер 64 для опорних кадрів, суматор 50, блок 52 перетворення, блок 54 квантування перетворення і блок 56 статистичного кодування. Блок 52 перетворення, проілюстрований на Фіг. 2, являє собою блок, який застосовує фактичне перетворення до блока різницевих даних, і його не треба плутати з блоком коефіцієнтів перетворення, який також може називатися блоком перетворення (TU) одиничного елемента кодування (CU). Для відновлення блока відеоінформації відеокодер 20 також включає в себе блок 58 зворотного квантування перетворення, блок 60 зворотного перетворення і суматор 62. Також може міститися фільтр, що усуває блочність (на Фіг. 2 не показаний), призначений для фільтрації меж блоків для усунення артефактів, зумовлених блочністю, з відновленої відеоінформації. При бажанні фільтр, що усуває блочність, звичайно фільтрує вихідний сигнал з суматора 62. Під час процедури кодування відеокодер 20 приймає відеокадр або зріз, що підлягає кодуванню. Цей кадр або зріз може бути розділений на множину блоків відеоінформації, наприклад, на найбільші одиничні елементи кодування (LCU). Блок 42 оцінки параметрів руху і блок 44 компенсації руху виконують кодування прийнятого блока відеоінформації з міжкадровим 7 UA 109312 C2 5 10 15 20 25 30 35 40 45 50 55 60 прогнозом відносно одного або більшої кількості блоків в одному або більше опорних кадрах для забезпечення стиснення за часом. Блок 46 внутрішньокадрового прогнозу може виконувати кодування прийнятого блока відеоінформації з внутрішньокадровим прогнозом відносно одного або більшої кількості сусідніх блоків в тому ж самому кадрі або зрізі як блок, що підлягає кодуванню, для забезпечення стиснення по простору. Блок 47 ІКМ з квантуванням виконує кодування вхідних блоків відеоінформації з використанням ІКМ з квантуванням згідно зы способами з цього винаходу, суть якого тут розкрита. Блок 40 вибору режиму може вибирати один з режимів кодування: з внутрішньокадровим прогнозом, з міжкадровим прогнозом або ІКМ з квантуванням, наприклад, на основі погрішності (тобто, спотворення) і/або результатів стиснення для кожного режиму. Якщо вибрані режими з міжкадровим прогнозом або з внутрішньокадровим прогнозом, то блок 40 вибору режиму подає результуючий блок, закодований з внутрішньокадровим прогнозом або закодований з міжкадровим прогнозом, в суматор 50 для генерації різницевих даних для блока і в суматор 62 для відновлення закодованого блока для використання в опорному кадрі. Деякі відеокадри можуть бути позначені як I-кадри, де всі блоки в I-кадрі закодовані в режимі з внутрішньокадровим прогнозом. У деяких випадках блок 46 внутрішньокадрового прогнозу може виконувати кодування блока з внутрішньокадровим прогнозом в Р-кадрі або в В-кадрі, наприклад, коли пошук руху, що виконується блоком 42 оцінки параметрів руху, не приводить до прогнозу блока в достатній мірі. Блок 42 оцінки параметрів руху і блок 44 компенсації руху можуть бути у високій мірі інтегрованими один з одним, але проілюстровані як окремі блоки в концептуальних цілях. Оцінка параметрів руху являє собою процедуру генерації векторів руху, які оцінюють рух для блоків відеоінформації. Наприклад, вектор руху може вказувати зміщення одиничного елемента прогнозу в поточному кадрі відносно опорної вибірки з опорного кадру. Опорною вибіркою може бути блок, який, як встановлено, близько співпадає з ділянкою одиничного елемента кодування (CU), що включає в себе кодований одиничний елемент прогнозу (PU), з точки зору різниці пікселів, яка може визначатися сумою абсолютних різниць (SAD), сумою квадратів різниць (SSD) або іншими показниками різниці. Компенсація руху, що виконується блоком 44 компенсації руху, може включати в себе вибірку або генерацію значень для одиничного елемента прогнозу на основі вектора руху, що визначається оцінкою параметрів руху. Блок 42 оцінки параметрів руху обчислює вектор руху для одиничного елемента прогнозу для кадру, закодованого з міжкадровим прогнозом, шляхом порівняння одиничного елемента прогнозу з опорними вибірками з опорного кадру, що зберігається в буфері 64 для опорних кадрів. У деяких прикладах відеокодер 20 може обчислювати значення для субцілочисельних положень пікселів опорних кадрів, що зберігаються в буфері 64 для опорних кадрів. Наприклад, відеокодер 20 може обчислювати значення для положень пікселів, які дорівнюють одній чверті, для положень пікселів, які дорівнюють одній восьмій, або для інших дробових положень пікселів опорного кадру. Отже, блок 42 оцінки параметрів руху може виконувати пошук руху відносно повних положень пікселів і дробових положень пікселів і виводити вектор руху з точністю до дробової частки пікселя. Блок 42 оцінки параметрів руху посилає обчислений вектор руху в блок 56 статистичного кодування і в блок 44 компенсації руху. Ділянка опорного кадру, ідентифікована вектором руху, може називатися опорною вибіркою. Блок 44 компенсації руху може обчислювати значення прогнозу для одиничного елемента прогнозу поточного CU, наприклад, шляхом витягання опорної вибірки, ідентифікованої вектором руху для PU. Блок 46 внутрішньокадрового прогнозу може виконувати кодування прийнятого блока з внутрішньокадровим прогнозом як альтернативу кодуванню з міжкадровим прогнозом, що виконується блоком 42 оцінки параметрів руху і блоком 44 компенсації руху. Блок 46 внутрішньокадрового прогнозу може виконувати кодування прийнятого блока відносно сусідніх заздалегідь закодованих блоків, наприклад, блоків, розташованих вище, вище і праворуч, вище і зліва або зліва від поточного блока, передбачаючи наступний порядок кодування блоків: зліва направо, зверху вниз. Блок 46 внутрішньокадрового прогнозу може бути сконфігурований з множиною різних режимів внутрішньокадрового прогнозу. Наприклад, блок 46 внутрішньокадрового прогнозу може бути сконфігурований з певною кількістю режимів прогнозу у напрямку, наприклад, 33 режимів прогнозу у напрямку на основі розміру кодованого одиничного елемента кодування (CU). Блок 46 внутрішньокадрового прогнозу може вибирати режим з внутрішньокадровим прогнозом, наприклад, шляхом обчислення значення погрішності для різних режимів внутрішньокадрового прогнозу і шляхом вибору режиму, що дає найнижче значення погрішності. Режими прогнозу у напрямку можуть включати в себе функції об'єднання значень сусідніх по простору пікселів і застосування об'єднаних значень для формування одного або 8 UA 109312 C2 5 10 15 20 25 30 35 40 45 50 55 60 більшої кількості пікселів прогнозованого блока для одиничного елемента прогнозу (PU). Після того як були обчислені значення для всіх положень пікселів в PU, блок 46 внутрішньокадрового прогнозу може обчислити значення погрішності для режиму прогнозу на основі різниць пікселів між PU і прогнозованим блоком. Блок 46 внутрішньокадрового прогнозу може продовжувати перевірку режимів з внутрішньокадровим прогнозом доти, поки не буде виявлений режим з внутрішньокадровим прогнозом, що дає прийнятне значення погрішності. Потім блок 46 внутрішньокадрового прогнозу може послати PU в суматор 50. Відеокодер 20 формує різницевий блок шляхом віднімання даних прогнозу, обчислених блоком 44 компенсації руху або блоком 46 внутрішньокадрового прогнозу, з вихідного кодованого блока відеоінформації. Суматор 50 являє собою компонент або компоненти, який виконує (які виконують) цю операцію віднімання. Різницевий блок може відповідати двовимірній матриці значень різниць пікселів, де кількість значень в різницевому блоці є тим же самим, що і кількість пікселів в PU, який відповідає різницевому блоку. Значення в різницевому блоці можуть відповідати різницям, тобто погрішності, між значеннями пікселів в PU і у вихідному блоці, що підлягає кодуванню, розташованому в одному і тому ж місці. Різницями можуть бути різниці сигналу колірності або яскравості залежно від типу кодованого блока. Блок 52 перетворення може формувати один або більшу кількість одиничних елементів перетворення (TU) з різницевого блока. Блок 52 перетворення застосовує таке перетворення, як, наприклад, дискретне косинусне перетворення (ДКП), перетворення у напрямку або концептуально аналогічне перетворення для TU, створюючи блок відеоінформації, що містить коефіцієнти перетворення. Блок 52 перетворення може послати отримані в результаті цього коефіцієнти перетворення в блок 54 квантування перетворення. Потім блок 54 квантування перетворення може виконати квантування коефіцієнтів перетворення. Потім блок 56 статистичного кодування може просканувати квантовані коефіцієнти перетворення в матриці згідно із заданим порядком сканування для створення одновимірного масиву. У цьому винаході, суть якого тут розкрита, описано, що виконує сканування блок 56 статистичного кодування. Однак потрібно розуміти, що в інших прикладах сканування можуть виконувати інші блоки обробки, такі як, наприклад, блок 54 квантування перетворення. Потім блок 56 статистичного кодування виконує статистичне кодування одновимірного масиву коефіцієнтів перетворення для створення статистично закодованого потоку бітів. Блок 56 статистичного кодування може застосовувати статистичне кодування, таке як, наприклад, контекстно-адаптивне кодування кодами змінної довжини (CAVLC) або контекстноадаптивне двійкове арифметичне кодування (CABAC), до просканованих коефіцієнтів. У доповнення до цього блок 56 статистичного кодування може виконувати кодування інформації про вектор руху (MV) і будь-якого з множини елементів синтаксису, що є корисним при декодування відеоданих у відеодекодері 30. Відеодекодер 30 може використовувати ці елементи синтаксису для відновлення закодованих відеоданих. Після статистичного кодування блоком 56 статистичного кодування отримана в результаті цього закодована відеоінформація може бути передана в інший пристрій, наприклад у відеодекодер 30, або заархівована для передачі або витягання згодом. Блок 58 зворотного квантування перетворення і блок 60 зворотного перетворення застосовують, відповідно, зворотне квантування і зворотне перетворення для відновлення різницевого блока в області пікселів, наприклад, для використання згодом як опорний блок. Блок 44 компенсації руху може обчислювати опорний блок шляхом підсумовування різницевого блока з прогнозованим блоком одного з кадрів з буфера 64 для опорних кадрів. Блок 44 компенсації руху також може застосовувати один або більшу кількість інтерполюючих фільтрів до відновленого різницевого блока для обчислення значень субцілочисельних пікселів для використання при оцінці параметрів руху. Суматор 62 підсумовує відновлений різницевий блок з блоком прогнозу з компенсацією руху, створеним блоком 44 компенсації руху, для створення відновленого блока відеоінформації для зберігання в буфері 64 для опорних кадрів. Відновлений блок відеоінформації може використовуватися блоком 42 оцінки параметрів руху і блоком 44 компенсації руху як опорний блок для кодування блоку з міжкадровим прогнозом в подальшому відеокадрі. Коли вибраний режим ІКМ з квантуванням, то блок 47 ІКМ з квантуванням приймає блоки відеоінформації (наприклад, одиничні елементи кодування) з блока 40 вибору режиму. Як описано вище, режим ІКМ з квантуванням може бути вибраний тоді, коли визначений, що інші режими кодування (наприклад, кодування з внутрішньокадровим прогнозом або кодування з міжкадровим прогнозом) діють як засіб збільшення об'єму даних, а не як засіб стиснення даних для одного або для більшої кількості одиничних елементів кодування у відеокадрі. Наприклад, блок 40 вибору режиму може перевіряти різні режими кодування блоку і визначати, чи 9 UA 109312 C2 5 10 15 20 25 30 35 40 45 50 55 60 задовольняють ці режими бажаний показник ступеня спотворень залежно від швидкості передачі. Якщо ця перевірка вказує, що певний режим кодування приводить до надмірної кількості бітів кодування, що виділяються для досягнення бажаної максимальної величини спотворень, то блок 40 вибору режиму може вибрати режим ІКМ з квантуванням. По суті, замість виконання описаного вище способу прогнозу по блоках відеоінформації кодер може використовувати блок 47 ІКМ з квантуванням для виконання процедури кодування з використанням ІКМ з квантуванням для кожної вибірки (тобто, пікселя) з блока і передачі цих блоків, закодованого з використанням ІКМ з квантуванням, в закодованому потоці бітів відеоданих. Факт використання кодування з використанням ІКМ може бути повідомлений відеодекодеру в потоці бітів закодованої відеоінформації. Прапор ІКМ (pcm_flag) може бути повідомлений на рівні одиничного елемента прогнозу для вказівки того, що було використано кодування з використанням ІКМ. Якщо режимом прогнозу є внутрішньокадровий прогноз, розмір розділення дорівнює 2N×2N, а розмір блока є великим або дорівнює мінімальному розміру блока ІКМ, то передають прапор pcm_flag. Потрібно зазначити, що якщо pcm_flag дорівнює одиниці, то в потоці бітів може бути передано декілька бітів, які дорівнюють 0, для заповнення незначущою інформацією до початку наступного байта (наприклад, для забезпечення вирівнювання вздовж межі байта). Додаткові елементи синтаксису відносно кодування з використанням ІКМ можуть бути передані в наборі параметрів послідовності (SPS). Наприклад, елементи синтаксису, які вказують бітову глибину (або крок квантування) ІКМ для обох складових: для складової сигналу яскравості і для складової сигналу колірності пікселів (наприклад, pcm_bit_depth_luma_minus1 і pcm_bit_depth_chroma_minus1). На Фіг. 3 показана блок-схема блока 47 ІКМ з квантуванням згідно з одним з аспектів винаходу, суть якого тут розкрита. Як згадано вище, в цьому винаході, суть якого тут розкрита, представлені способи застосування кодування з використанням ІКМ з квантуванням до вибірок відеоінформації (тобто, пікселів) в блоці відеоданих. Кодування з використанням ІКМ з квантуванням може бути досягнуте шляхом введення кроку квантування перед кодуванням з використанням ІКМ. У цьому випадку квантування являє собою процедуру стиснення, за допомогою якої вхідні значення з певною бітовою глибиною m (наприклад, дані про пікселі, представлені з бітовою глибиною 10 біт) ставлять у відповідність вихідному значенню з меншою бітовою глибиною n (яка дорівнює, наприклад, 6 бітам). Отже, бітова глибина m на вході є більшою, ніж бітова глибина n на виході. Ця процедура, по суті, має на увазі округлення деяких з вхідних значень і, по суті, вводить втрати при стисненні. Як показано на Фіг. 3, блок 47 ІКМ з квантуванням приймає вибірки відеоінформації, і спочатку виконують їх квантування блоком 49 квантування. У цьому випадку квантування вибірок відеоінформації задає можливу бітову глибину відеоінформації, закодованої з використанням ІКМ з квантуванням, на виході. Потрібно розуміти, що таке квантування в "області пікселів" (тобто для задавання бітової глибини) може використовуватися для квантування значень пікселів на вході і відрізняється від параметра квантування (ПК) в "області перетворення", який звичайно використовується для квантування різницевих коефіцієнтів перетворення, наприклад, блоком 54 квантування перетворення, показаним на Фіг. 2. Квантування вхідних вибірок може виконувати блок 49 квантування з використанням цього кроку квантування в області пікселів для задавання бітової глибини на виході. Як буде розглянуто більш детально з посиланням на Фіг. 5-6, декодер може виконувати зворотне квантування закодованих вибірок з використанням цього кроку квантування і зміщення для округлення. Зміщення для округлення може бути задане кодером в потоці бітів або може бути задане рівним тільки половині кроку квантування (або якій-небудь іншій заданій частці кроку квантування). Блок 53 вибору кроку квантування може бути сконфігурований з можливістю вибору кроку квантування. У альтернативному варіанті блок 49 кроку квантування може бути сконфігурований з можливістю використання заданого кроку квантування. Дані про заданий крок квантування можуть зберігатися в запам'ятовуючому пристрої 55 для вибору кроку квантування. Блок 53 вибору кроку квантування може вибирати крок квантування на основі будь-якого з множини критеріїв, включаючи характеристики блока відеоданих, що підлягає кодуванню способом ІКМ з квантуванням, або характеристики блоків відеоданих, просторово розташованих поруч з блоком у відеоданих, що підлягає кодуванню способом ІКМ з квантуванням. Наприклад, крок квантування може бути вибраний для створення закодованих відеоданих, що задовольняють максимальний об'єм даних, дозволений для заданого блока. Більший крок квантування і, отже, менша бітова глибина на виході приводять до меншого об'єму даних, закодованих з використанням ІКМ з квантуванням. І навпаки, менший крок квантування і, отже, більша бітова глибина на виході приводять до більшого об'єму даних, закодованих з 10 UA 109312 C2 5 10 15 20 25 30 35 40 45 50 55 60 використанням ІКМ з квантуванням. По суті, крок квантування може бути вибираним параметром, який задає бітову глибину на виході. Крок квантування може бути представлений безпосередньо в форматі бітової глибини на виході або може бути вказаний як кількість зсувів праворуч, що використовуються для виконання квантування, що в цьому випадку приводить до вибірки відеоінформації, закодованої з використанням ІКМ з квантуванням, що має задану бітову глибину на виході. Як буде більш детально пояснено нижче, бітова глибина на виході і/або крок квантування можуть бути вказані в закодованому потоці бітів так, щоб декодер міг приймати дані про крок квантування і/або про бітову глибину на виході і декодувати відеодані, закодовані з використанням ІКМ, в закодованому потоці бітів. Як інший приклад, крок квантування може бути вибраний для зменшення відмінностей на зовнішній вигляд між відеоданими, закодованими з використанням ІКМ, і даними з втратами, отриманими шляхом кодування з прогнозом в просторово сусідніх блоках. Зокрема, крок квантування може бути вибраний так, що величина спотворення, яке мають відеодані, закодовані з використанням ІКМ, є схожою з величиною спотворення, яке мають відеодані, закодовані з прогнозом. Величина спотворення може бути визначена кодером 20 в явному вигляді або шляхом оцінки, наприклад, на основі параметра квантування (ПК), що використовується блоком 54 квантування перетворення для відеоданих, закодованих з прогнозом. Для вибору кроку квантування блок 53 вибору кроку квантування може використовувати інші критерії, в тому числі, просторове розділення кадру, параметр квантування (ПК) для відповідного одиничного елемента кодування, структуру кодування відповідного одиничного елемента кодування, швидкість передачі кадрів, тип кадру (наприклад, кадр з внутрішньокадровим прогнозом (I) або кадр з міжкадровим прогнозом (Р або В)), бітову глибину вхідних даних, внутрішніх даних або вихідних даних, конкретне застосування відеоінформації або рівень або профіль, з яким закодована відповідна відеопослідовність. Бажана якість блока ІКМ пов'язана із загальною якістю конкретного кадру. Чим краща якість кадру (наприклад, тип кадру, бітова глибина), тим вища якість бажана для режиму ІКМ. До того ж, якщо розділення дуже велике і блок ІКМ малий, то має місце набагато менший візуальний вплив, ніж в іншому випадку. Як один з прикладів, відеоінформація для застосувань при проведенні відеоконференцій звичайно має ІКМ більш низької якості, ніж відеоінформація для універсальних цифрових дисків (DVD). До того ж, при проведенні відеоконференцій існує велика потреба в зменшенні кількості бітів, що затрачуються при ІКМ. Врахування поєднань цих критеріїв може привести до кращих результатів, ніж врахування одного критерію. У кожному з цих прикладів кроки квантування можуть бути вибрані на основі алгоритму, що виконується блоком 53 вибору кроку квантування. Як інший приклад, множина заданих кроків квантування, придатних для різних контекстно-залежних ситуацій, може зберігатися в запам'ятовуючому пристрої 55 для вибору кроку квантування, доступ до якого може здійснювати блок 53 вибору кроку квантування. У одному з прикладів блок 49 квантування може виконувати квантування вибірок відеоінформації просто шляхом зсуву вхідних даних праворуч. Процедура квантування шляхом зсуву праворуч фактично відкидає молодші біти кожної з вхідних вибірок (тобто, пікселів). У цьому прикладі крок квантування може бути переданий блоком 53 вибору кроку квантування в блок 49 квантування як ціле число, яке вказує величину зсуву праворуч. Наприклад, зсув вхідних даних праворуч на 2 являє собою те ж саме, що і розподіл на 4. При 8-бітових пікселях на вході зсув вхідних даних праворуч на 2 означає, що максимальний об'єм даних зменшується на 75 %, тобто з 8 бітів на кожну вибірку до 6 бітів на кожну вибірку. У іншому прикладі зміщення додають до значення пікселя до застосування зсуву праворуч. У іншому прикладі квантування (або зсув праворуч), яке виконується (який виконується) блоком 49 квантування, може бути основане на бітовій глибині вхідних вибірок відеоінформації. Чим більша бітова глибина вхідної вибірки відеоінформації, тим в більшій мірі вона може бути піддана квантуванню без помітних спотворень зображення. Отже, блок 53 вибору кроку квантування може бути сконфігурований для вибору більшого кроку квантування для 10-бітових вхідних даних, ніж для 8-бітових вхідних даних. Після квантування блок 51 імпульсно-кодової модуляції виконує імпульсно-кодову модуляцію квантованих вибірок відеоінформації. У звичайному режимі ІКМ з внутрішньокадровим прогнозом для стандарту H.264 в закодований потік бітів просто передають цифрові значення пікселів без стиснення. По суті, режим ІКМ з внутрішньокадровим прогнозом для стандарту H.264 є режимом без втрат. Згідно з цим винаходом, суть якого тут розкрита, блок 51 імпульсно-кодової модуляції модулює цифрові значення вибірок відеоінформації після квантування (тобто, зі стисненням з втратами). По суті, крок квантування, 11 UA 109312 C2 5 10 15 20 25 30 35 40 45 50 55 60 вибраний блоком 53 вибору кроку квантування, задає бітову глибину вибірок відеоінформації, закодованих блоком імпульсно-кодової модуляції, на виході. Як викладено вище, в деяких випадках крок квантування може бути представлений в форматі безпосередньо бітової глибини на виході або може бути вказаний як кількість зсувів праворуч, яка задає бітову глибину на виході. Дані про бітову глибину на виході, про зміщення для округлення і/або про крок квантування можуть бути повідомлені кодером як елементи синтаксису в закодованому потоці бітів. У цьому випадку для передачі елементів синтаксису в закодованому потоці бітів не потрібна передача цих елементів з кодера в декодер в реальному часі, а швидше це означає, що ці елементи синтаксису кодують в потік бітів і роблять доступними для декодера будь-яким способом. Це може включати в себе передачу в реальному часі (наприклад, при проведенні відеоконференцій), а також збереження закодованого потоку бітів на зчитуваному за допомогою комп'ютера носії інформації для його використання декодером в майбутньому (наприклад, шляхом потокової передачі, завантаження, доступу до диска, доступу до карти пам'яті, універсального цифрового диска (DVD), диска формату Blu-ray і т.д.). Як згадано вище, крок квантування може безпосередньо вказувати бітову глибину на виході або може відображати кількість зсувів праворуч, яка була реалізована для квантування вхідних вибірок відеоінформації. Або в декодер можуть бути повідомлені бітова глибина на виході або крок квантування для декодера для застосування належного способу для декодування закодованих даних. У одному з прикладів кроком квантування може бути задане значення, що використовується для всіх ситуацій обома пристроями: кодером і декодером. У іншому прикладі, як викладено вище, блок 53 вибору кроку квантування може визначати крок квантування на основі характеристик вхідних блоків відеоінформації і/або блоків відеоінформації, розташованих навколо. Декодер може отримувати певне значення кроку квантування відеоданих, закодованих з використанням ІКМ з квантуванням, шляхом логічного виведення на основі тих же самих характеристик, які використані кодером для вибору кроку квантування. Як інший приклад, дані про бітову глибину на виході і/або про крок квантування можуть бути повідомлені в декодер в закодованому потоці бітів. У доповнення до цього, зміщення для округлення може бути задане кодером в потоці бітів або може бути задане рівним половині кроку квантування (або якій-небудь іншій заданій частці кроку квантування). Одним зі способів передачі даних про бітову глибину на виході, про зміщення для округлення і/або про крок квантування є кодування елемента синтаксису, що вказує бітову глибину вибірок ІКМ з квантуванням. На Фіг. 3 зображений блок 53 вибору кроку квантування, який кодує вибраний крок квантування в закодований потік бітів. Однак ця процедура може виконуватися блоком 49 квантування, блоком 51 імпульсно-кодової модуляції або іншим блоком з блока 47 ІКМ з квантуванням або кодера 20. У ще одному прикладі елемент синтаксису може бути переданий в заголовку послідовності, на рівні набору параметрів послідовності (наприклад, на рівні набору параметрів зображення), на рівні зрізу або на інших рівнях синтаксису в закодованому потоці бітів. На Фіг. 4 зображений приведений як приклад закодований потік бітів відеоінформації із заголовком послідовності. Заголовок 67 послідовності включає в себе елемент 65 синтаксису, що вказує бітову глибину, який вказує бітову глибину відеоінформації, закодованої з використанням ІКМ з квантуванням, на виході. Як один з прикладів, елементом 65 синтаксису, вказуючим бітову глибину, може бути 4-бітовий елемент синтаксису, який вказує зменшення або збільшення бітової глибини від 1 до 16 бітів. Потрібно зазначити, що для вказівки бітової глибини на виході може бути вибраний елемент синтаксису будь-якої довжини. У прикладі, показаному на Фіг. 4, елемент 65 синтаксису вказує бітову глибину закодованих вибірок на виході і, отже, процедуру якої потрібно дотримуватися в декодері. Елемент синтаксису також може бути повідомлений в наборі параметрів послідовності (SPS), в наборі параметрів зображення (PPS) або в заголовку зрізу. У ще одному прикладі кодер може повідомляти в декодер безпосередньо сам крок квантування (наприклад, кількість зсувів праворуч) в заголовку послідовності, в заголовку кадру або відразу ж після передачі даних про режим ІКМ для одиничного елемента кодування, одиничного елемента прогнозу або блока. Кодер може повідомити дані про крок квантування в потоці бітів при передачі даних про режим ІКМ для першого блока, де в кадрі був вибраний режим ІКМ з квантуванням. Передбачають, що інші блоки з режимом ІКМ з квантуванням в кадрі мають той же самий крок квантування, дані про яке були повідомлені для першого блока з режимом ІКМ в кадрі. У ще одному прикладі послідовні блоки з режимом ІКМ з квантуванням, що зустрічаються в кадрі, можуть повідомляти різницю між кроком квантування, що використовується для цього 12 UA 109312 C2 5 10 15 20 25 30 35 40 45 50 55 60 блока, і базовим кроком квантування. У деяких прикладах базовим кроком квантування може бути крок квантування, що використовується в попередньому блоці, де використовувався режим ІКМ з квантуванням. У цьому прикладі базовим кроком квантування є перший крок квантування, про який повідомлено в потоці бітів для першого блока, для якого використовувався режим ІКМ з квантуванням. Потім може бути повідомлено про крок квантування для кожного з подальших блоків з режимом ІКМ в кадрі як про різницеве значення відносно раніше повідомленого кроку квантування. Отже, кожний блок з режимом ІКМ в кадрі або в зрізі може мати крок квантування, повідомлений для блока індивідуально в явному вигляді, може спільно використовувати один і той же крок квантування, повідомлений на початку для першого блока з режимом ІКМ в кадрі або в зрізі, або може мати крок квантування, повідомлений як різниця відносно кроку квантування, повідомленого на початку для першого блока з режимом ІКМ в кадрі або в зрізі. Потрібно відмітити наступне: незважаючи на те, що для простоти ілюстрації блок 49 квантування, блок 51 імпульсно-кодової модуляції, блок 53 вибору кроку квантування і запам'ятовуючий пристрій 55 для вибору кроку квантування показані як окремі функціональні блоки, вони можуть бути у високій мірі інтегрованими один з одним по структурі і функціональних можливостях. На Фіг. 5 зображена блок-схема, на якій проілюстрований приклад відеодекодера 30, який декодує закодовану відеопослідовність. У прикладі з Фіг. 5 відеодекодер 30 включає в себе блок 70 статистичного декодування, блок 71 декодування з використанням ІКМ з квантуванням, блок 72 компенсації руху, блок 74 внутрішньокадрового прогнозу, блок 76 квантування зворотного перетворення, блок 78 зворотного перетворення, буфер 82 для опорних кадрів і суматор 80. Звичайно в деяких прикладах відеодекодер 30 може виконувати процедуру декодування, зворотну процедурі кодування, яка описана застосовно до відеокодеру 20, описаному з посиланням на Фіг. 2. Блок 72 компенсації руху може генерувати дані прогнози на основі векторів руху, прийнятих з блока 70 статистичного декодування. Блок 74 внутрішньокадрового прогнозу може генерувати дані прогнози для поточного блоку поточного кадру на основі повідомлених даних про режим з внутрішньокадровим прогнозом і дані з раніше декодованих блоків поточного кадру. У деяких прикладах блок 70 статистичного декодування (або блок 76 квантування зворотного перетворення) може здійснювати сканування прийнятих значень з використанням при скануванні дзеркального відображення порядку сканування, що використовується блоком 56 статистичного кодування (або блоком 54 квантування перетворення) у відеокодері 20. Незважаючи на те, що сканування коефіцієнтів може виконуватися в блоці 76 квантування зворотного перетворення, в ілюстративних цілях це сканування буде описане як таке, що виконується блоком 70 статистичного декодування. Крім того, незважаючи на те, що для простоти ілюстрації блок 70 статистичного декодування, блок 76 квантування зворотного перетворення і інші блоки відеодекодера 30 показані як окремі функціональні блоки, вони можуть бути у високій мірі інтегрованими один з одним по структурі і функціональних можливостях. Блок 70 статистичного декодування може бути сконфігурований так, що застосовує порядок сканування для перетворення одновимірного (1D) вектора коефіцієнтів перетворення в двовимірний (2D) масив коефіцієнтів перетворення. Блок 70 статистичного декодування використовує зворотний порядок сканування для сканування одновимірного (1D) вектора з перетворенням в двовимірний (2D) масив. Двовимірний (2D) масив коефіцієнтів перетворення, створений блоком 70 статистичного декодування, може бути підданий квантуванню і може звичайно співпадати з двовимірним (2D) масивом коефіцієнтів перетворення, який сканує блок 56 статистичного кодування відеокодера 20 для створення одновимірного (1D) вектора коефіцієнтів перетворення. Блок 76 квантування зворотного перетворення виконує зворотне квантування, тобто обернення квантування квантованих коефіцієнтів перетворення, які є в потоці бітів і декодованих блоком 70 статистичного декодування. Процедура зворотного квантування може включати в себе стандартну процедуру, наприклад, аналогічну процедурам, які запропоновані для стандарту HEVC або встановлені стандартом декодування H.264. Процедура зворотного квантування може включати в себе використання параметра квантування, обчисленого відеокодером 20 для одиничного елемента кодування, для визначення ступеня квантування і, аналогічним чином, ступеня зворотного квантування, який повинен бути застосований. Блок 76 квантування зворотного перетворення може виконувати зворотне квантування коефіцієнтів перетворення або до перетворення коефіцієнтів з одновимірного (1D) вектора в двовимірний (2D) масив, або після нього. 13 UA 109312 C2 5 10 15 20 25 30 35 40 45 50 55 Блок 78 зворотного перетворення застосовує зворотне перетворення, наприклад, зворотне дискретне косинусне перетворення (ДКП), зворотне цілочисельне перетворення, зворотне перетворення Карунена-Лоева (KLT), зворотне обертальне перетворення, зворотне перетворення у напрямку або інше зворотне перетворення. У деяких прикладах блок 78 зворотного перетворення може визначати зворотне перетворення на основі сигналів, переданих з відеокодера 20, або отримувати його шляхом логічного висновку з однієї або з більшої кількості характеристик кодування, таких як, наприклад, розмір блока, режим кодування і т. п. В деяких прикладах блок 78 зворотного перетворення може визначати перетворення, яке потрібно застосувати до поточного блока, на основі повідомлених даних про перетворення в кореневому вузлі дерева квадрантів для найбільшого одиничного елемента кодування, того, що включає в себе поточний блок. У деяких прикладах блок 78 зворотного перетворення може застосовувати каскадне зворотне перетворення. Блок 72 компенсації руху створює блоки з компенсацією руху, можливо, виконуючи інтерполяцію на основі інтерполюючих фільтрів. Ідентифікатори інтерполюючих фільтрів, що використовуються для оцінки параметрів руху з точністю до субпікселя, можуть міститися в елементах синтаксису. Блок 72 компенсації руху може використовувати інтерполюючі фільтри, що використовуються відеокодером 20 під час кодування блока відеоінформації для обчислення інтерпольованих значень субцілочисельних пікселів опорного блока. Блок 72 компенсації руху може визначати інтерполюючі фільтри, що використовуються відеокодером 20, згідно з прийнятою інформації синтаксису і використати ці інтерполюючі фільтри для створення прогнозованих блоків. У прикладі стандарту HEVC блок 72 компенсації руху і блок 74 внутрішньокадрового прогнозу можуть використовувати частину інформації синтаксису (наприклад, прогнозованої деревом квадрантів) для визначення розмірів найбільших одиничних елементів кодування, що використовуються для кодування кадру (кадрів) закодованої відеопослідовності, інформацію про розділення, що описує те, як розділений кожний одиничний елемент кодування з кадру в закодованої відеопослідовності (і, аналогічним чином, як розділені субодиничні елементи кодування), режими, які вказують те, як закодоване кожне розділення (наприклад, внутрішньокадровий або міжкадровий прогноз, і для внутрішньокадрового прогнозу - режим кодування з внутрішньокадровим прогнозом), один або більша кількість опорних кадрів (і/або довідкові переліки, що містять ідентифікатори опорних кадрів) для кожного одиничного елемента прогнозу, закодованого з міжкадровим прогнозом, і іншу інформацію для декодування закодованої відеопослідовності. Суматор 80 об'єднує різницеві блоки з відповідними блоками прогнозу, сгенерированними блоком 72 компенсації руху або блоком 74 внутрішньокадрового прогнозу, для формування декодованих блоків. При бажанні також може бути застосований фільтр, що усуває блочність, для фільтрації декодованих блоків, призначений для усунення артефактів, зумовлених блочністю. Потім декодовані блоки відеоінформації зберігають в буфері 82 для опорних кадрів, який надає опорні блоки для подальшої компенсації руху, а також створює декодовану відеоінформацію для відтворення на дисплеї (наприклад, на дисплеї 32 з Фіг. 1). Блок 71 декодування з використанням ІКМ з квантуванням сконфігурований для декодування закодованої відеоінформації, коли кодер 20 використовує режим ІКМ з квантуванням. Спочатку блок 71 декодування з використанням ІКМ з квантуванням виконує імпульсно-кодову демодуляцію закодованої відеоінформації. Потім блок 71 декодування з використанням ІКМ з квантуванням виконує зворотне квантування відеоінформації, підданої імпульсно-кодовій демодуляції, з використанням того ж самого кроку квантування, який був використаний в процедурі кодування, і зміщення для округлення. Крок квантування може бути повідомлений безпосередньо в потоці бітів закодованої відеоінформації або може бути отриманий шляхом логічного висновку, виходячи з бітової глибини на виході, про яку повідомлено в потоці бітів закодованої відеоінформації. На Фіг. 6 показана блок-схема, на якій проілюстрований приклад блока 71 декодування з використанням ІКМ з квантуванням. Блок декодування з використанням ІКМ з квантуванням може включати в себе блок 73 імпульсно-кодової демодуляції, блок 75 операції зворотного квантування, блок 77 вибору кроку квантування і запам'ятовуючий пристрій 79 для вибору кроку квантування. Потрібно відмітити наступне: незважаючи на те, що для простоти ілюстрації блок імпульсно-кодової демодуляції 73, блок 75 операції зворотного квантування, блок 77 вибору кроку квантування і запам'ятовуючий пристрій 79 для вибору кроку квантування показані як окремі функціональні блоки, вони можуть бути у високій мірі інтегрованими один з одним по структурі і функціональних можливостях. 14 UA 109312 C2 5 10 15 20 25 30 35 40 45 50 55 60 Спочатку блок 73 імпульсно-кодової демодуляції виконує імпульсно-кодову демодуляцію відеоінформації, закодованої з використанням ІКМ з квантуванням. Ця операція, по суті, інвертує імпульсно-кодову модуляцію, застосовану кодером. Потім блок 75 зворотного квантування виконує зворотне квантування демодульованої відеоінформації з використанням того ж самого кроку квантування, який використовувався для кодування відеоінформації, а також зміщення для округлення. Блок 77 вибору кроку квантування може витягувати елемент синтаксису, який вказує бітову глибину на виході і/або крок квантування, із закодованого потоку бітів. Як один з прикладів, показаний на Фіг. 4, бітова глибина на виході може бути повідомлена як 4-бітовий елемент синтаксису, який вказує зменшення або збільшення бітової глибини від 1 до 16 бітів. У іншому прикладі бітова глибина на виході може бути повідомлена в явному вигляді, а не непрямо. У альтернативному варіанті декодер може отримувати певне значення кроку квантування вибірок ІКМ шляхом логічного виведення на основі тих же самих критеріїв або характеристик відеоінформації, які були використані кодером для вибору кроку квантування, таких як, наприклад, просторове розділення кадру, параметр квантування (ПК) відповідного одиничного елемента кодування, структура кодування відповідного одиничного елемента кодування або тип кадру (наприклад, кадр з внутрішньокадровим прогнозом (I) або з міжкадровим прогнозом (Р або В)), бітова глибина вхідних даних, внутрішніх даних або вихідних даних, конкретне застосування відеоінформації або рівень або профіль, з яким закодована відеопослідовність. Як інший приклад блок 77 вибору кроку квантування може просто здійснювати доступ до заданого кроку квантування, що зберігається в запам'ятовуючому пристрої 79 для вибору кроку квантування. З урахуванням повідомленого, заданого або отриманого шляхом логічного висновку кроку квантування, блок 75 зворотного квантування може виконувати зворотне квантування з використанням кроку квантування і повідомленого або отриманого шляхом логічного висновку заданого зміщення для округлення. Для виконання зворотного квантування блок 75 зворотного квантування може просто додавати біти (тобто однакова кількість зсувів ліворуч до кількості зсувів праворуч, використаному в кодері) до демодульованих вибірок і застосовувати вибране зміщення для округлення для генерації декодованої відеоінформації. На Фіг. 7 зображена схема послідовності операцій, на якій проілюстрований спосіб кодування, приведений як приклад. У способі 100 виконують кодування блоків відеоінформації згідно з процедурою кодування з використанням ІКМ з квантуванням, яка описана вище з посиланням на Фіг. 2-4. У способі 100 відеокодер 20 вибирає крок квантування для визначення бітової глибини на виході (операція 120). На основі цієї бітової глибини на виході відеокодер 20 виконує кодування ІКМ з квантуванням (операція 121). Перша операція кодування ІКМ з квантуванням полягає в квантуванні вибірок з блока відеоданих відповідно до вибраного кроку квантування (операція 122). Операція 122 може включати в себе квантування вибірок з блока відеоданих шляхом виконання декількох зсувів вибірок з блока відеоданих праворуч, де ця кількість зсувів праворуч основана на кроці квантування. Потім відеокодер 20 виконує імпульсно-кодову модуляцію квантованих вибірок (операція 124). Як необов'язкова операція відеокодер 20 також може генерувати покажчик бітової глибини на виході і передавати цей покажчик в потоці бітів закодованої відеоінформації (операція 126). Як викладено вище, бітова глибина на виході є параметром, що задається. У цьому відношенні, вона може бути задана шляхом вибору кроку квантування, що використовується для процедури квантування. Крок квантування може бути заданим значенням або може бути вибраний на основі однієї або більшої кількості характеристик відеоданих. Як інший приклад, крок квантування може бути вибраний так, щоб зменшити різницю по зовнішньому вигляду між відеоданими, закодованими з використанням ІКМ, і даними з втратами, отриманими шляхом кодування з прогнозом. Зокрема, крок квантування може бути вибраний так, щоб величина спотворення, представлена відеоданими, закодованими з використанням ІКМ, була схожою з величиною спотворення, представленою відеоданими, закодованими з прогнозом. Величина спотворення може бути визначена в явному вигляді або шляхом оцінки, наприклад, на основі параметра квантування (ПК), використаного блоком 54 квантування для перетворення відеоданих, закодованих з прогнозом. Іншими критеріями і характеристиками, які можуть використовуватися для вибору кроку квантування, є, в тому числі, просторове розділення кадру, параметр квантування (ПК) для відповідного одиничного елемента кодування, структура кодування відповідного одиничного елемента кодування, швидкість передачі кадрів, тип кадру (наприклад, кадр з внутрішньокадровим прогнозом (I) або кадр з міжкадровим прогнозом (Р або В)), бітова глибина вхідних даних, внутрішніх даних або вихідних даних, конкретне застосування відеоінформації або рівень або профіль, з яким закодована відповідна відеопослідовність. Крок 15 UA 109312 C2 5 10 15 20 25 30 35 40 45 50 55 60 квантування може бути спільним для множини блоків відеоданих або може бути вибраний для кожного окремого блока відеоданих. При операції 126 може бути згенерований покажчик бітової глибини на виході і/або безпосередньо самого кроку квантування, і цей покажчик може бути переданий в потоці бітів закодованих відеоданих. Покажчик бітової глибини на виході і/або кроку квантування дозволяє декодеру виконувати процедуру, зворотну процедурі квантування. Зокрема, бітова глибина на виході може бути повідомлена в заголовку послідовності у вигляді 4-бітового елемента синтаксису, який вказує зменшення або збільшення бітової глибини від 1 до 16 бітів. У доповнення до цього, при операції 126 також можуть бути повідомлені дані про зміщення для округлення в потоці бітів відеоінформації для вказівки декодеру того, як слід виконувати процедуру зворотного квантування. Якщо для різних блоків відеоданих використовуються окремі кроки квантування, то кодер 20 може представляти окремі кроки квантування у вигляді різницевих значень відносно основного кроку квантування. На Фіг. 8 зображена схема послідовності операцій, на якій проілюстрований спосіб декодування, приведений як приклад. У способі 150 декодують блоки відеоінформації згідно з процедурою декодування з використанням ІКМ з квантуванням, описаною вище з посиланням на Фіг. 5 і Фіг. 6. У способі 150 відеодекодер 30 спочатку визначає крок квантування (операція 160). Потім відеодекодер виконує процедуру 161 декодування з використанням ІКМ з квантуванням. Процедура декодування з використанням ІКМ з квантуванням включає в себе декодування блока закодованої відеоінформації з використанням імпульсно-кодової демодуляції (операція 162). Потім відеодекодер 30 виконує зворотне квантування демодульованого блока відеоінформації з використанням певного кроку квантування і зміщення для округлення. При операції 160 може бути визначений крок квантування з використанням заздалегідь вибраного значення шляхом прийому покажчика бітової глибини на виході і/або кроку квантування у вихідному потоці бітів або, виходячи з безпосередньо самих характеристик відеоданих, тим же самим способом, що і вибір кроку квантування в способі процедури кодування. У одному або в більшій кількості прикладів функції, описані в цьому винаході, суть якого тут розкрита, можуть бути реалізовані апаратними засобами, за допомогою програмного забезпечення, за допомогою апаратно-реалізованого програмного забезпечення або будь-якої комбінації цих засобів. Якщо ці функції реалізовані за допомогою програмного забезпечення, вони можуть виконуватися апаратним блоком обробки, наприклад, одним або більшою кількістю процесорів, що виконують програму, представлену у вигляді зчитуваних за допомогою комп'ютера команд або коду. Такі команди або код можуть зберігатися на зчитуваному за допомогою комп'ютера носії інформації або можуть бути передані за допомогою нього, і виконуватися апаратним блоком обробки. Зчитуваними за допомогою комп'ютера носіями інформації можуть бути, в тому числі, зчитувані за допомогою комп'ютера носії інформації, які відповідають матеріальним постійним носіям інформації, таким як, наприклад, носії для зберігання даних, або засобам зв'язку, що включають в себе будь-який засіб, що полегшує передачу комп'ютерної програми з одного місця в інше, наприклад, згідно з протоколом зв'язку. Таким чином, зчитувані за допомогою комп'ютера носії інформації звичайно можуть відповідати (1) зчитуваним за допомогою комп'ютера матеріальним носіям інформації, які є постійними, або (2) засобу зв'язку, такому як, наприклад, сигнал або несуча хвиля. Носіями для зберігання даних можуть бути будь-які існуючі носії інформації, до яких можуть здійснювати доступ один або більша кількість комп'ютерів або один або більша кількість процесорів для витягання команд, коду і/або структур даних для реалізації способів, описаних в цьому винаході, суть якого тут розкрита. Комп'ютерний програмний продукт може включати в себе зчитуваний за допомогою комп'ютера носій інформації. Як приклад, що не є обмежувальною ознакою, такими зчитуваними за допомогою комп'ютера носіями інформації можуть бути, в тому числі, оперативний запам'ятовуючий пристрій (ОЗП), постійний запам'ятовуючий пристрій (ПЗП), електрично стираний програмований постійний запам'ятовуючий пристрій (ЕСППЗП), флеш-пам'ять, постійний запам'ятовуючий пристрій на компакт-диску (CD-ROM) або будь-яких інших твердотільні, оптичні або магнітні носії для зберігання даних, включаючи запам'ятовуючий пристрій на оптичних дисках, запам'ятовуючий пристрій на магнітних дисках або інші запам'ятовуючі пристрої на магнітних носіях, або будь-який інший носій інформації, який може використовуватися для зберігання бажаного програмного коду у вигляді команд або структур даних і до якого може здійснювати доступ комп'ютер. До того ж, зчитуваним за допомогою комп'ютера носієм інформації правильно називають будь-яке з'єднання. Наприклад, якщо 16 UA 109312 C2 5 10 15 20 25 30 35 40 45 команди передають з Web-вузла, сервера або з іншого віддаленого джерела з використанням коаксіального кабелю, волоконно-оптичного кабелю, витої пари, цифрової абонентської лінії (DSL) або з використанням технологій бездротового зв'язку, таких як, наприклад, зв'язок в інфрачервоному діапазоні, радіозв'язок і НВЧ-зв'язок, то визначення "носій інформації" включає в себе коаксіальний кабель, волоконно-оптичний кабель, виту пару, цифрову абонентську лінію (DSL) або технології бездротового зв'язку, такі як, наприклад, зв'язок в інфрачервоному діапазоні, радіозв'язок і НВЧ-зв'язок. Однак потрібно розуміти, що зчитувані за допомогою комп'ютера матеріальні носії інформації і носії для зберігання даних не включають в себе з'єднання, несучі хвилі, сигнали або інші непостійні носії інформації, а, навпаки, стосуються постійних матеріальних носіїв інформації. Використовуваний тут термін "диск" включає в себе компакт-диск (CD), лазерний диск, оптичний диск, універсальний цифровий диск (DVD), гнучкий диск і диск формату Blue-ray, де відтворення даних з дисків звичайно здійснюють магнітним способом нарівні з відтворенням даних з дисків оптичним способом за допомогою лазерів. У об'єм поняття "зчитувані за допомогою комп'ютера носії інформації" також потрібно включати комбінації вищезазначених елементів. Команди можуть виконуватися одним або більшою кількістю процесорів, наприклад, одним або більшою кількістю пристроїв цифрової обробки сигналів (ПЦОС), універсальних мікропроцесорів, спеціалізованих інтегральних схем (ASIC), програмованих користувачем вентильних матриць (ПКВМ) або інших еквівалентних інтегральних або дискретних логічних схем. Відповідно, використовуваний тут термін "процесор" може стосуватися будь-якої вищеописаної структури або будь-якої іншої структури, придатної для реалізації описаних тут способів. Крім того, в деяких аспектах винаходу описані тут функціональні можливості можуть бути забезпечені в спеціалізованих апаратних засобах і/або в програмних модулях, сконфігурованих для кодування і декодування, або включені до складу об'єднаного кодека. До того ж, ці способи можуть бути повністю реалізовані в одній або в більшій кількості схем або в одному або в більшій кількості логічних елементів. Способи з цього винаходу, суть якого тут розкрита, можуть виконуватися різноманітними пристроями або приладами, в тому числі, настільними комп'ютерами, блокнотними (тобто, портативними) комп'ютерами, планшетними комп'ютерами, комп'ютерними префіксами до телевізорів, телефонними трубками, наприклад, так званими смартфонами, телевізорами, камерами, дисплеями, цифровими медіапрогравачами, відеоігровими консолями і т. п. В багатьох випадках такі пристрої можуть бути оснащені засобами бездротового зв'язку. Крім того, ці способи можуть бути реалізовані інтегральною схемою (ІС) або набором ІС (наприклад, чипсетом). Пристрій, сконфігурований для виконання способів з цього винаходу, суть якого тут розкрита, може включати в себе будь-який зі згаданих вище пристроїв, і в деяких випадках ним може бути відеокодер або відеодекодер, або об'єднаний відеокодер-відеодекодер, тобто відеокодек, який може бути утворений комбінацією апаратних засобів, програмного забезпечення і апаратно-реалізованого програмного забезпечення. Різні компоненти, модулі або блоки можуть бути описані в цьому винаході, суть якого тут розкрита, для акцентування функціональних аспектів пристроїв, сконфігурованих для виконання розкритих способів, але вони не обов'язково вимагають їх реалізації у вигляді різних апаратних блоків. Навпаки, як описано вище, різні блоки можуть бути об'єднані в апаратному блоці кодека або можуть бути виконані у вигляді сукупності взаємодіючих між собою апаратних блоків, що включають в себе, як описано вище, один або більшу кількість процесорів спільно з відповідним програмним забезпеченням і/або апаратно-реалізованим програмним забезпеченням. Вище був приведений опис різних варіантів здійснення даного винаходу. Ці і інші варіанти здійснення винаходу не виходять за межі об'єму приведеної нижче формули винаходу. ФОРМУЛА ВИНАХОДУ 50 55 1. Спосіб кодування відеоданих, який включає: кодування щонайменше одного блока кадру відеоданих, використовуючи внутрішньокадрове прогнозування відносно іншого блока кадру відеоданих; і кодування вибірок одного або більше інших блоків кадру відеоданих, використовуючи імпульсно-кодову модуляцію з квантуванням відповідно до бітової глибини на виході, при цьому кодування виконують без будь-якого перетворення частотної області вибірок, причому ці вибірки одного або більше інших блоків кадру відеоданих мають бітову глибину більшу, ніж бітова глибина на виході, для введення втрат у вибірки. 17 UA 109312 C2 5 10 15 20 25 30 35 40 45 50 55 60 2. Спосіб за п. 1, в якому етап кодування вибірок одного або більше інших блоків кадру відеоданих з використанням імпульсно-кодової модуляції з квантуванням відповідно до бітової глибини на виході містить етапи, на яких: виконують квантування вибірок одного або більше інших блоків кадру відеоданих відповідно до кроку квантування, який задає величину квантування для створення бітової глибини на виході; і виконують імпульсно-кодову модуляцію квантованих вибірок. 3. Спосіб за п. 2, в якому бітова глибина на виході є параметром, що задається. 4. Спосіб за п. 3, який включає також етапи, на яких: вибирають крок квантування для квантованих вибірок для задання бітової глибини на виході. 5. Спосіб за п. 4, в якому етап вибору кроку квантування містить вибір кроку квантування на основі однієї або більшої кількості характеристик відеоданих. 6. Спосіб за п. 2, в якому етап квантування вибірок одного або більше інших блоків відеоданих відповідно до етапу квантування містить кількість зсувів вибірок з блока відеоданих праворуч, причому ця кількість зсувів праворуч основана на кроці квантування. 7. Спосіб за п. 1, в якому етап кодування вибірок одного або більше інших блоків кадру відеоданих з використанням імпульсно-кодової модуляції з квантуванням містить етапи, на яких: виконують квантування вибірок з множини блоків відеоданих відповідно до загального кроку квантування; і виконують імпульсно-кодову модуляцію квантованих вибірок у множині блоків відеоданих. 8. Спосіб за п. 1, в якому етап кодування вибірок одного або більше інших блоків кадру відеоданих з використанням імпульсно-кодової модуляції з квантуванням містить етапи, на яких: виконують квантування вибірок з першого блока відеоданих відповідно до першого кроку квантування; виконують квантування вибірок з другого блока відеоданих відповідно до другого кроку квантування, який є іншим, ніж перший крок квантування; і виконують імпульсно-кодову модуляцію квантованих вибірок в першому і у другому блоках відеоданих. 9. Спосіб за п. 8, який включає також етап, на якому: представляють перший крок квантування і другий крок квантування як різницеві значення відносно основного кроку квантування. 10. Спосіб за п. 1, який включає також етап, на якому: генерують покажчик бітової глибини на виході і включають цей покажчик до складу закодованого потоку бітів. 11. Спосіб за п. 10, який включає також етап, на якому: включають покажчик бітової глибини на виході до складу заголовка послідовності як елемент синтаксису. 12. Спосіб за п. 10, який включає також етап, на якому: включають покажчик зміщення для округлення до складу закодованого потоку бітів, що включає в себе закодований блок відеоданих. 13. Спосіб декодування відеоданих, який включає етап, на якому: виконують декодування щонайменше одного блока кадру відеоданих, використовуючи внутрішньокадрове прогнозування відносно іншого блока кадру відеоданих; і виконують декодування вибірок одного або більше інших блоків кадру відеоданих, які були закодовані з використанням імпульсно-кодової модуляції з квантуванням, відповідно до бітової глибини на виході для створення декодованих вибірок, при цьому декодування виконують без будь-якого перетворення частотної області вибірок, причому декодовані вибірки мають бітову глибину більшу, ніж бітова глибина на виході. 14. Спосіб за п. 13, в якому етап декодування вибірок одного або більше інших блоків кадру відеоданих відповідно до бітової глибини на виході включає етапи, на яких: виконують декодування вибірок одного або більше інших блоків кадру відеоданих з використанням імпульсно-кодової демодуляції; і виконують зворотне квантування декодованих вибірок відповідно до кроку квантування. 15. Спосіб за п. 14, вякому крок квантування оснований на бітовій глибині на виході. 16. Спосіб за п. 15, в якому етап зворотного квантування декодованих вибірок містить етап, на якому: виконують зворотне квантування декодованих вибірок відповідно до кроку квантування і зі зміщенням для округлення. 17. Спосіб за п. 13, який включає також етап, на якому: приймають щонайменше одну бітову глибину на виході в закодованому потоці бітів, що включає в себе кадр з відеоданих. 18 UA 109312 C2 5 10 15 20 25 30 35 40 45 50 55 18. Спосіб за п. 14, який включає також етап, на якому: визначають крок квантування на основі однієї або більшої кількості характеристик кадру відеоданих. 19. Пристрій, сконфігурований для кодування відеоданих, який містить: пам'ять, сконфігуровану для зберігання відеоданих; і блок кодування відеоінформації, сконфігурований для: кодування щонайменше одного блока кадру відеоданих, використовуючи внутрішньокадрове прогнозування відносно іншого блока кадру відеоданих; і кодування вибірок одного або більше інших блоків кадру відеоданих, використовуючи імпульсно-кодову модуляцію з квантуванням відповідно до бітової глибини на виході, при цьому кодування виконують без будь-якого перетворення частотної області вибірок, причому ці вибірки одного або більше інших блоків кадру відеоданих мають бітову глибину більшу, ніж бітова глибина на виході, для введення втрат у вибірки. 20. Пристрій за п. 19, в якому блок кодування відеоінформації містить: блок квантування, сконфігурований для квантування вибірок одного або більше інших блоків кадру відеоданих відповідно до кроку квантування, який задає величину квантування, для створення бітової глибини на виході; і блок модуляції, сконфігурований для кодування квантованих вибірок з використанням імпульсно-кодової модуляції. 21. Пристрій за п. 20, в якому бітова глибина на виході є параметром, що задається. 22. Пристрій за п. 21, в якому блок кодування відеоінформації також сконфігурований для вибору кроку квантування для квантованих вибірок для задання бітової глибини на виході. 23. Пристрій за п. 22, в якому блок кодування відеоінформації сконфігурований для вибору кроку квантування на основі однієї або більшої кількості характеристик відеоданих. 24. Пристрій за п. 20, в якому блок квантування сконфігурований для квантування вибірок одного або більше інших блоків кадру відеоданих з використанням кількості зсувів вибірок з блока відеоданих праворуч, при цьому ця кількість зсувів праворуч основана на кроці квантування. 25. Пристрій за п. 19, в якому блок кодування відеоінформації містить: блок квантування, сконфігурований для квантування множини вибірок з блоків відеоданих відповідно до загального кроку квантування; і блок модуляції, сконфігурований для кодування квантованих вибірок з використанням імпульсно-кодової модуляції у множині блоків відеоданих. 26. Пристрій за п. 19, в якому блок кодування відеоінформації містить: блок квантування, сконфігурований для квантування вибірок з першого блока відеоданих відповідно до першого кроку квантування і для квантування вибірок з другого блока відеоданих відповідно до другого кроку квантування, який є іншим, ніж перший крок квантування; і блок модуляції, сконфігурований для кодування квантованих вибірок в першому і у другому блоках відеоданих з використанням імпульсно-кодової модуляції. 27. Пристрій за п. 26, в якому блок кодування відеоінформації також сконфігурований для представлення першого кроку квантування і другого кроку квантування як різницевих значень відносно основного кроку квантування. 28. Пристрій за п. 19, в якому блок кодування відеоінформації також сконфігурований для генерації покажчика бітової глибини на виході і для включення цього покажчика до складу закодованого потоку бітів. 29. Пристрій за п. 28, в якому блок кодування відеоінформації також сконфігурований для включення покажчика бітової глибини на виході до складу заголовка послідовності як елемента синтаксису. 30. Пристрій за п. 28, в якому блок кодування відеоінформації також сконфігурований для включення покажчика зміщення для округлення до складу закодованого потоку бітів, що включає в себе закодований блок відеоданих. 31. Пристрій, сконфігурований для декодування відеоданих, що включає: пам'ять, сконфігуровану для зберігання відеоданих; і блок декодування відеоінформації, сконфігурований для: декодування щонайменше одного блока кадру відеоданих, використовуючи внутрішньокадрове прогнозування відносно іншого блока кадру відеоданих; і декодування вибірок одного або більше інших блоків кадру відеоданих, які були закодовані з використанням імпульсно-кодової модуляції з квантуванням відповідно до бітової глибини на виході для створення декодованих вибірок, при цьому декодування виконують без будь-якого 19 UA 109312 C2 5 10 15 20 25 30 35 40 45 50 55 60 перетворення частотної області вибірок, причому декодовані вибірки мають бітову глибину більшу, ніж бітова глибина на виході. 32. Пристрій за п. 31, в якому блок декодування відеоінформації містить: блок демодуляції, сконфігурований для декодування вибірок одного або більше інших блоків кадру відеоданих з використанням імпульсно-кодової демодуляції; і блок зворотного квантування, сконфігурований для виконання зворотного квантування декодованих вибірок відповідно до кроку квантування. 33. Пристрій за п. 32, в якому крок квантування оснований на бітовій глибині на виході. 34. Пристрій за п. 33, в якому блок зворотного квантування також сконфігурований для виконання зворотного квантування декодованих вибірок відповідно до кроку квантування і зі зміщенням для округлення. 35. Пристрій за п. 34, в якому блок декодування відеоінформації також сконфігурований для прийому щонайменше однієї бітової глибини на виході в закодованому потоці бітів, що включає в себе кадр відеоданих. 36. Пристрій за п. 32, в якому блок декодування відеоінформації також сконфігурований для визначення кроку квантування на основі однієї або більшої кількості характеристик одного або більше інших блоків кадру відеоданих. 37. Пристрій, сконфігурований для кодування відеоданих, який містить: засіб для кодування щонайменше одного блока кадру відеоданих, використовуючи внутрішньокадрове прогнозування відносно іншого блока кадру відеоданих; і засіб для кодування вибірок одного або більше інших блоків кадру відеоданих, використовуючи імпульсно-кодову модуляцію з квантуванням відповідно до бітової глибини на виході, при цьому кодування виконують без будь-якого перетворення частотної області вибірок, причому ці вибірки одного або більше інших блоків кадру відеоданих мають бітову глибину більшу, ніж бітова глибина на виході, для введення втрат у вибірки. 38. Пристрій за п. 37, який також містить: засіб генерації покажчика бітової глибини на виході і включення цього покажчика бітової глибини на виході до складу заголовка послідовності як елемента синтаксису. 39. Пристрій, сконфігурований для декодування відеоданих, що містить: засіб для декодування щонайменше одного блока кадру відеоданих, використовуючи внутрішньокадрове прогнозування відносно іншого блока кадру відеоданих; і засіб для кодування вибірок одного або більше інших блоків кадру відеоданих, які були закодовані з використанням імпульсно-кодової модуляції з квантуванням відповідно до бітової глибини на виході для створення декодованих вибірок, при цьому декодування виконують без будь-якого перетворення частотної області вибірок, причому декодовані вибірки мають бітову глибину більшу, ніж бітова глибина на виході. 40. Пристрій за п. 39, який також містить: засіб для прийому щонайменше однієї бітової глибини в закодованому потоці бітів, що включає в себе кадр відеоданих. 41. Машиночитаний носій інформації, який має команди, що зберігаються на ньому, які при їх виконанні спонукають один або більше процесорів, що входять до складу пристрою кодування відеоінформації, виконувати: кодування щонайменше одного блока кадру відеоданих, використовуючи внутрішньокадрове прогнозування відносно іншого блока кадру відеоданих; і кодування вибірок одного або більше інших блоків кадру відеоданих, використовуючи імпульсно-кодову модуляцію з квантуванням відповідно до бітової глибини на виході, при цьому кодування виконують без будь-якого перетворення частотної області вибірок, причому ці вибірки одного або більше інших блоків кадру відеоданих мають бітову глибину більшу, ніж бітова глибина на виході, для введення втрат у вибірки. 42. Машиночитаний носій інформації за п. 41, в якому команди кодування вибірок одного або більше інших блоків кадру відеоданих з використанням імпульсно-кодової модуляції з квантуванням відповідно до бітової глибини на виході містять команди, які спонукають один або більше процесорів виконувати: квантування вибірок одного або більше інших блоків кадру відеоданих відповідно до кроку квантування, що задає величину квантування для створення бітової глибини на виході; і імпульсно-кодову модуляцію квантованих вибірок. 43. Машиночитаний носій інформації за п. 41, який також містить команди, які спонукають процесор виконувати: генерацію покажчика бітової глибини на виході і включення цього покажчика бітової глибини на виході до складу заголовка послідовності як елемента синтаксису. 20 UA 109312 C2 5 10 15 20 44. Машиночитаний носій інформації, який має команди, що зберігаються на ньому, які при їх виконанні спонукають один або більше процесорів, що входять до складу пристрою декодування відеоінформації, виконувати: декодування щонайменше одного блока кадру відеоданих, використовуючи внутрішньокадрове прогнозування відносно іншого блока кадру відеоданих; і декодування вибірок одного або більше інших блоків кадру відеоданих, які були закодовані з використанням імпульсно-кодової модуляції з квантуванням, відповідно до бітової глибини на виході для створення декодованих вибірок, при цьому декодування виконують без будь-якого перетворення частотної області вибірок, причому декодовані вибірки мають бітову глибину більшу, ніж бітова глибина на виході. 45. Машиночитаний носій інформації за п. 44, в якому команди декодування вибірок одного або більше інших блоків кадру відеоданих відповідно до бітової глибини на виході містять команди, які спонукають один або більше процесорів виконувати: декодування вибірок одного або більше інших блоків кадру відеоданих з використанням імпульсно-кодової демодуляції; і зворотне квантування декодованих вибірок відповідно до кроку квантування. 46. Машиночитаний носій інформації за п. 44, в якому крок квантування оснований на бітовій глибині на виході. 47. Машиночитаний носій інформації за п. 44, який також містить команди, які спонукають процесор виконувати: прийом бітової глибини на виході в закодованому потоці бітів, що включає в себе кадр відеоданих. 21 UA 109312 C2 22 UA 109312 C2 23 UA 109312 C2 24 UA 109312 C2 25 UA 109312 C2 Комп’ютерна верстка О. Рябко Державна служба інтелектуальної власності України, вул. Василя Липківського, 45, м. Київ, МСП, 03680, Україна ДП “Український інститут інтелектуальної власності”, вул. Глазунова, 1, м. Київ – 42, 01601 26
ДивитисяДодаткова інформація
Автори англійськоюSole Rojals, Joel, Karczewicz, Marta
Автори російськоюСоле Рохальс Хоель, Карчевич Марта
МПК / Мітки
МПК: H04N 19/124, H04N 7/24, H04N 19/176
Мітки: кодуванні, відеоінформації, квантуванням, модуляція, імпульсно-кодова
Код посилання
<a href="https://ua.patents.su/28-109312-impulsno-kodova-modulyaciya-z-kvantuvannyam-pri-koduvanni-videoinformaci.html" target="_blank" rel="follow" title="База патентів України">Імпульсно-кодова модуляція з квантуванням при кодуванні відеоінформації</a>
Наступний патент: Спосіб моделювання вибухового руйнування гірських порід
Випадковий патент: Гідравлічний яс