Відеокодування з використанням перетворення, більшого ніж 4×4 і 8×8

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

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

Автори: Чень Пейсун, Карчевіч Марта, Е Янь

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

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

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

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

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

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

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

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

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

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

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

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

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

5. Спосіб за п. 1, в якому перший розмір перетворення має розмір XxY, причому X не дорівнює Y.

6. Спосіб за п. 5, в якому щонайменше один з X і Y дорівнює 8, і щонайменше один з X і Y дорівнює 16.

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

8. Спосіб за п. 1, в якому перший розмір перетворення дорівнює NxM, і щонайменше одне з М і N більше або дорівнює 16.

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

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

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

10. Спосіб за п. 9, в якому перше порогове значення дорівнює 8×8, і друге порогове значення дорівнює 8×8.

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

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

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

12. Спосіб за п. 11, в якому перше порогове значення дорівнює 8×8, і друге порогове значення дорівнює 16×16.

13. Спосіб за п. 11, в якому перше порогове значення дорівнює 8×8, і друге порогове значення дорівнює 16×8.

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

15. Спосіб за п. 1, в якому вибране перетворення є дискретним косинусним перетворенням.

16. Спосіб за п. 1, в якому вибране перетворення є спрямованим перетворенням.

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

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

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

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

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

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

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

19. Спосіб за п. 17, в якому перше значення першого синтаксичного елемента відповідає множині розмірів перетворення.

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

21. Спосіб за п. 17, в якому перший розмір перетворення має розмір XxY, причому X не дорівнює Y.

22. Спосіб за п. 21, в якому щонайменше один з X і Y дорівнює 8, і щонайменше один з X і Y дорівнює 16.

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

24. Спосіб за п. 17, в якому перший розмір перетворення дорівнює NxM, і щонайменше одне з М і N більше або дорівнює 16.

25. Спосіб за п. 17, в якому визначення першого розміру перетворення включає етапи, на яких:

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

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

26. Спосіб за п. 25, в якому перше порогове значення дорівнює 8×8, і друге порогове значення дорівнює 8×8.

27. Спосіб за п. 17, в якому визначення першого розміру перетворення включає етапи, на яких:

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

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

28. Спосіб за п. 27, в якому перше порогове значення дорівнює 8×8, і друге порогове значення дорівнює 16×16.

29. Спосіб за п. 27, в якому перше порогове значення дорівнює 8×8, і друге порогове значення дорівнює 16×8.

30. Спосіб за п. 17, в якому зворотне перетворення є цілочисельним перетворенням.

31. Спосіб за п. 17, в якому зворотне перетворення є дискретним косинусним перетворенням.

32. Спосіб за п. 17, в якому зворотне перетворення є спрямованим перетворенням.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

39. Система за п. 37, в якій перше значення першого синтаксичного елемента відповідає множині розмірів перетворення.

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

41. Система за п. 37, в якій перший розмір перетворення має розмір XxY, причому X не дорівнює Y.

42. Система за п. 41, в якій щонайменше один з X і Y дорівнює 8, і щонайменше один з X і Y дорівнює 16.

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

44. Система за п. 37, в якій перший розмір перетворення дорівнює NxM, і щонайменше одне з М і N більше або дорівнює 16.

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

46. Система за п. 45, в якій перше порогове значення дорівнює 8×8, і друге порогове значення дорівнює 8×8.

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

48. Система за п. 47, в якій перше порогове значення дорівнює 8×8, і друге порогове значення дорівнює 16×16.

49. Система за п. 47, в якій перше порогове значення дорівнює 8×8, і друге порогове значення дорівнює 16×8.

50. Система за п. 37, в якій вибране перетворення є цілочисельним перетворенням.

51. Система за п. 37, в якій вибране перетворення є дискретним косинусним перетворенням.

52. Система за п. 37, в якій вибране перетворення є спрямованим перетворенням.

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

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

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

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

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

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

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

55. Система за п. 53, в якій перше значення першого синтаксичного елемента відповідає множині розмірів перетворення.

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

57. Система за п. 53, в якій перший розмір перетворення має розмір XxY, причому X не дорівнює Y.

58. Система за п. 57, в якій щонайменше один з X і Y дорівнює 8, і щонайменше один з X і Y дорівнює 16.

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

60. Система за п. 53, в якій перший розмір перетворення дорівнює NxM, і щонайменше одне з М і N більше або дорівнює 16.

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

62. Система за п. 61, в якій перше порогове значення дорівнює 8×8, і друге порогове значення дорівнює 8×8.

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

64. Система за п. 63, в якій перше порогове значення дорівнює 8×8, і друге порогове значення дорівнює 16×16.

65. Система за п. 63, в якій перше порогове значення дорівнює 8×8, і друге порогове значення дорівнює 16×8.

66. Система за п. 53, в якій зворотне перетворення є цілочисельним перетворенням.

67. Система за п. 53, в якій зворотне перетворення є дискретним косинусним перетворенням.

68. Система за п. 53, в якій зворотне перетворення є спрямованим перетворенням.

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

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

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

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

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

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

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

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

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

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

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

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

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

Текст

Реферат: У системі обробки відеоінформації забезпечують спосіб і систему для застосування перетворення, більшого ніж 8×8, і непрямокутного перетворення і для генерації синтаксичного елемента «розмір перетворення», що вказує перетворення для декодування відеоінформації. Синтаксичний елемент «розмір перетворення» можна генерувати за допомогою кодера, основуючись на розмірі передбаченого відеоблока і на вмісті відеоблока. Додатково, синтаксичний елемент «розмір перетворення» можна генерувати згідно з набором правил для вибору з 4×4, 8×8 і великих розмірів перетворення під час процесу кодування. Декодер може виконувати зворотне перетворення, основуючись на синтаксичному елементі «розмір перетворення» і правилах, що використовуються кодером. Синтаксичний елемент «розмір перетворення» можна передавати до декодера як частину кодованого бітового потоку відеоінформації. UA 99392 C2 (12) UA 99392 C2 UA 99392 C2 5 10 15 20 25 30 35 40 45 50 55 60 Дана заявка вимагає пріоритет попередньої заявки США № 61/102 783, поданої 3 жовтня 2008, і попередньої заявки США № 61/179 228, поданої 18 травня 2009, весь вміст кожної з яких включений в цей документ за допомогою посилання. Даний винахід належить до кодування і декодування відеоданих, використовуючи розмір перетворення, більший ніж 88. Функціональні можливості цифрового відео можуть бути впроваджені в широкий діапазон пристроїв, які включають в себе цифрове телебачення, системи цифрового прямого широкомовлення, пристрої бездротового зв'язку, такі як радіотелефони, системи бездротового широкомовлення, кишенькові персональні комп'ютери (КПК), портативні комп'ютери або настільні комп'ютери, цифрові камери, цифрові записуючі пристрої, пристрої для відеогри, ігрові консолі і т. п. Цифрове відео пристрою здійснюють методи стиснення відео, такі як MPEG-2, MPEG-4 або H.264/MPEG-4 Part 10, Вдосконалений стандарт відеокодування (AVC), для ефективнішої передачі і прийому цифрового відео. Методи стиснення відео виконують просторове і часове передбачення для зменшення або видалення надмірності, властивої відеопослідовностям. Стиснення відео в загальному випадку включає в себе просторове передбачення і/або часове передбачення. Зокрема інтракодування основується на просторовому передбаченні для зменшення або видалення просторової надмірності між відеоблоками в межах даної кодованої секції, яка може містити відеокадр, фрагмент відеокадру і т. п. Навпаки, інтеркодування основується на часовому передбаченні для зменшення або видалення часової надмірності між відеоблоками послідовних кодованих секцій відеопослідовності. Для інтракодування, відеокодер виконує просторове передбачення для стиснення даних, основуючись на інших даних в межах тієї ж самої кодованої секції. Для інтеркодування відеокодер виконує оцінку руху і компенсацію руху для відстеження руху відповідних відеоблоків двох або більше суміжних кодованих секцій. Після просторового або часового передбачення залишковий блок генерується відніманням передбаченого відеоблока, згенерованого під час процесу передбачення, з початкового відеоблока, який кодується. Залишковий (залишковий) блок, таким чином, вказує відмінності між блоком передбачення і поточним блоком, що кодується. Відеокодер може застосовувати процеси перетворення, квантування і ентропійного кодування для додаткового зменшення швидкості передачі інформації в бітах, пов'язаної з передачею залишкового блока. За допомогою методу перетворення можна переводити множину значень пікселів в коефіцієнти перетворення, які представляють енергію значень пікселів в частотній зоні. Квантування застосовується до коефіцієнтів перетворення, і в загальному випадку воно залучає процес, який обмежує кількість бітів, пов'язаних з будь-яким заданим коефіцієнтом. Перед ентропійним кодуванням відеокодер сканує блок квантованих коефіцієнтів в одномірний вектор коефіцієнтів. Відеокодер виконує ентропійне кодування вектора квантованих коефіцієнтів перетворення для додаткового стиснення залишкових даних. Відеодекодер може виконувати операції ентропійного декодування для витягання коефіцієнтів. Зворотне сканування можна також виконувати в декодері для формування двомірних блоків з одномірних векторів коефіцієнтів, що приймаються. Відеодекодер потім виконує зворотне квантування і зворотне перетворення коефіцієнтів для отримання відновленого залишкового блока. Відеодекодер потім декодує передбачений відеоблок, основуючись на інформації передбачення, яка включає в себе інформацію про рух. Відеодекодер потім складає передбачений відеоблок з відповідним відновленим залишковим блоком для генерації відновленого відеоблока і для генерації декодованої послідовності відеоінформації. Кожний із системи, способу і пристроїв даної заявки має декілька аспектів, жоден з яких не відповідає виключно за свої бажані ознаки. Без обмеження об'єму даної заявки, який виражений подальшою формулою винаходу, її найважливіші особливості будуть далі стисло обговорюватися. Після розгляду даного обговорення, і особливо після вивчення розділу, озаглавленого "Докладний опис", буде ясно, як зразкові ознаки даної заявки можуть забезпечувати деякі удосконалення, які включають в себе, серед інших, наприклад, поліпшення ефективності відеокодування. У одному з варіантів здійснення запропонований спосіб кодування відеоданих, даний спосіб містить застосування просторового передбачення або компенсації руху до початкового відеоблока в межах відеокадру для генерації передбаченого відеоблока, основуючись на режимі передбачення; віднімання передбаченого відеоблока з початкового відеоблока в межах відеокадру для формування залишкового блока; вибір перетворення, що має перший розмір перетворення, для застосування до залишкового блока; генерацію даних заголовка, що вказують вибране перетворення, дані заголовка містять перший синтаксичний елемент, що має 1 UA 99392 C2 5 10 15 20 25 30 35 40 45 50 55 60 перше значення, що вказує щонайменше один розмір перетворення, і другий синтаксичний елемент, що вказує розмір передбаченого відеоблока, причому перший синтаксичний елемент і другий синтаксичний елемент разом вказують перший розмір перетворення; застосування вибраного перетворення до залишкового блока для генерації залишкових коефіцієнтів перетворення; і генерацію відеосигналу, основуючись на даних заголовка і залишкових коефіцієнтах перетворення. У іншому варіанті здійснення запропонований спосіб декодування відеоданих, даний спосіб містить прийом відеосигналу, що вказує щонайменше один блок в межах відеокадру, що містить дані заголовка щонайменше для одного блока і залишкові коефіцієнти перетворення щонайменше для одного блока, дані заголовка містять перший синтаксичний елемент, що має перше значення, що вказує щонайменше один розмір перетворення, і другий синтаксичний елемент, що вказує розмір передбаченого блока щонайменше для одного блока, причому перший синтаксичний елемент і другий синтаксичний елемент разом вказують перетворення, що має перший розмір перетворення, використовуване для кодування щонайменше одного блока; застосування просторового передбачення або компенсації руху щонайменше до одного блока для генерації передбаченого відеоблока з розміром передбаченого блока, що дорівнює щонайменше одному блоку; визначення першого розміру перетворення, використовуваного для кодування щонайменше одного блока, основуючись на першому синтаксичному елементі і другому синтаксичному елементі; застосування зворотного перетворення визначеного першого розміру перетворення до залишкових коефіцієнтів перетворення для отримання декодованого залишкового блока; і складання декодованого залишкового блока з передбаченим відеоблоком для отримання декодованого відеоблока. У іншому варіанті здійснення існує пристрій для кодування відеоданих, даний пристрій містить засіб застосування просторового передбачення або компенсації руху до початкового відеоблока в межах відеокадру для генерації передбаченого відеоблока, основуючись на режимі передбачення; засіб віднімання передбаченого відеоблока з початкового відеоблока в межах відеокадру для формування залишкового блока; засіб вибору перетворення, що має перший розмір перетворення, для застосування до залишкового блока; засіб генерації даних заголовка, що вказують вибране перетворення, дані заголовка містять перший синтаксичний елемент, що має перше значення, що вказує щонайменше один розмір перетворення, і другий синтаксичний елемент, що вказує розмір передбаченого відеоблока, причому перший синтаксичний елемент і другий синтаксичний елемент разом вказують перший розмір перетворення; засіб застосування вибраного перетворення до залишкового блока для генерації залишкових коефіцієнтів перетворення; і засіб генерації відеосигналу, основуючись на даних заголовка і залишкових коефіцієнтах перетворення. У іншому варіанті здійснення запропонований пристрій для декодування відеоданих, даний пристрій містить засіб прийому відеосигналу, що вказує щонайменше один блок в межах відеокадру, що містить дані заголовка щонайменше для одного блока, і залишкові коефіцієнти перетворення щонайменше для одного блока, дані заголовка містять перший синтаксичний елемент, що має перше значення, що вказує щонайменше один розмір перетворення, і другий синтаксичний елемент, що вказує розмір передбаченого блока щонайменше для одного блока, причому перший синтаксичний елемент і другий синтаксичний елемент разом вказують перетворення, що має перший розмір перетворення, використовуваний для кодування щонайменше одного блока; засіб застосування просторового передбачення або компенсації руху щонайменше до одного блока для генерації передбаченого відеоблока з розміром передбаченого блока, що дорівнює щонайменше одному блоку; засіб визначення першого розміру перетворення, використовуваного для кодування щонайменше одного блока, основуючись на першому синтаксичному елементі і другому синтаксичному елементі; засіб застосування зворотного перетворення визначеного першого розміру перетворення до залишкових коефіцієнтів перетворення для отримання декодованого залишкового блока; і засіб підсумовування декодованого залишкового блока з передбаченим відеоблоком для отримання декодованого відеоблока. У іншому варіанті здійснення запропонована система кодування відеоданих, дана система містить блок передбачення, конфігурований для застосування просторового передбачення або компенсації руху до початкового відеоблока в межах відеокадру для генерації передбаченого відеоблока, основуючись на режимі передбачення; суматор, конфігурований для віднімання передбаченого відеоблока з початкового відеоблока в межах відеокадру для формування залишкового блока; процесор, конфігурований для вибору перетворення, що має перший розмір перетворення, для застосування до залишкового блока, і для генерації даних заголовка, що вказують вибране перетворення, дані заголовка містять перший синтаксичний елемент, що 2 UA 99392 C2 5 10 15 20 25 30 35 40 45 50 55 60 має перше значення, що вказує щонайменше один розмір перетворення, і другий синтаксичний елемент, що вказує розмір передбаченого відеоблока, причому перший синтаксичний елемент і другий синтаксичний елемент разом вказують перший розмір перетворення; блок перетворення блоків, конфігурований для застосування вибраного перетворення до залишкового блока для генерації залишкових коефіцієнтів перетворення; і блок ентропійного кодування, конфігурований для генерації відеосигналу, основуючись на даних заголовка і залишкових коефіцієнтах перетворення. У іншому варіанті здійснення запропонована система декодування відеоданих, дана система містить приймач, конфігурований для прийому відеосигналу, що вказує щонайменше один блок в межах відеокадру, що містить дані заголовка щонайменше для одного блока і залишкові коефіцієнти перетворення щонайменше для одного блока, дані заголовка містять перший синтаксичний елемент, що має перше значення, що вказує щонайменше один розмір перетворення, і другий синтаксичний елемент, що вказує розмір передбаченого блока щонайменше для одного блока, причому перший синтаксичний елемент і другий синтаксичний елемент разом вказують перетворення, що має перший розмір перетворення, використовуваний для кодування щонайменше одного блока; блок передбачення, конфігурований для застосування просторового передбачення або компенсації руху щонайменше до одного блока для генерації передбаченого відеоблока з розміром передбаченого блока щонайменше для даного одного блока; процесор, конфігурований для визначення першого розміру перетворення, використовуваного для кодування щонайменше одного блока, основуючись на першому синтаксичному елементі і другому синтаксичному елементі; блок зворотного перетворення, конфігурований для застосування зворотного перетворення визначеного першого розміру перетворення до залишкових коефіцієнтів перетворення для отримання декодованого залишкового блока; і суматор, конфігурований для підсумовування декодованого залишкового блока з передбаченим відеоблоком для отримання декодованого відеоблока. Фіг. 1 - структурна схема, на якій показані пристрій-джерело і пристрій-одержувач для кодування і декодування відеосигналу. Фіг. 2 - структурна схема варіанту здійснення відеокодера на фіг. 1. Фіг. 3 - послідовність операцій варіанту здійснення процесу встановлення значення прапорця, щоб повідомити декодеру на фіг. 1, який тип перетворення використовується кодером на фіг. 1. Фіг. 4 - послідовність операцій іншого варіанту здійснення процесу встановлення значення прапорця, щоб повідомити декодеру на фіг. 1, який тип перетворення використовується кодером на фіг. 1. Фіг. 5 - послідовність операцій варіанту здійснення процесу вибору правильного зворотного перетворення для декодування відеоданих, закодованих згідно з процесом на фіг. 3. Фіг. 6 - послідовність операцій іншого варіанту здійснення процесу вибору правильного зворотного перетворення для декодування відеоданих, закодованих згідно з процесом на фіг. 4. Фіг. 7 - структурна схема варіанту здійснення відеодекодера на фіг. 1. Подальший докладний опис направлений на деякі певні варіанти здійснення. Однак дану ідею винаходу можна застосовувати множиною різних способів. У даному описі даються посилання на креслення, на яких однакові частини визначені за допомогою однакових позначень по всьому документу. Один з варіантів здійснення направлений на синтаксичний елемент "розмір перетворення" для відеокодування і декодування. За допомогою втілення набору спрощених правил і рекомендацій вибору перетворення в процесі кодування і декодування зображення і відеосигналів, можна створювати синтаксис з низькою швидкістю передачі даних. Як описано, синтаксис розміру перетворення є способом вказування визначеного розміру перетворення в кодері, а так само способом інтерпретації розміру перетворення в декодері. Синтаксичний елемент "розмір перетворення" можна використовувати для вказування розміру перетворення, який будуть використовувати, і він може включати в себе значення прапорця, що містить множину бітів. Потрібно зазначити, що подальший докладний опис може в загальному випадку використовувати терміни "відеоінформація", "зображення" і "кінофільм" взаємозамінно. Відповідно можливості різних аспектів даного винаходу не повинні бути обмежені точкою зору на відмінності між термінами. Фіг. 1 - структурна схема, на якій показано систему 10 відеокодування і декодування, яка виконує методи кодування, які описані в даному розкритті. Як показано на фіг. 1, система 10 включає в себе пристрій-джерело 12, який передає закодовані відеодані на пристрій-одержувач 14 через канал зв'язку 16. Пристрій-джерело 12 може включати в себе джерело 18 відео, 3 UA 99392 C2 5 10 15 20 25 30 35 40 45 50 55 60 відеокодер 20 і передавач 22. Джерело 18 відео пристрою-джерела 12 може включати в себе пристрій захоплення відео, такий як відеокамера, відеоархів, що містить раніше записане відео, або відео, отримане від постачальника відеоконтенту. Як додаткова альтернатива, джерело 18 відео може генерувати як вихідні відеодані комп'ютерної графіки, або комбінацію відео в реальному часі і відео, що створюється комп'ютером. У деяких випадках пристрій-джерело 12 може бути бездротовим телефоном або відеотелефоном, в такому випадку джерело 18 відеоінформації може бути відеокамерою в телефоні. У кожному випадку записане, заздалегідь записане або відео, що створюється комп'ютером, можна кодувати за допомогою відеокодера 20 для передачі від пристрою-джерела 12 на пристрій-одержувач 14 через передавач 22 і канал зв'язку 16. Відеокодер 20 приймає відеодані з джерела 18 відеоінформації. Відеодані, що приймаються з джерела 18 відеоінформації, можуть бути послідовністю відеокадрів. Відеокодер 20 ділить послідовність кадрів на секції кодування і обробляє ці секції кодування для кодування послідовності відеокадрів. Секції кодування можуть, наприклад, бути цілими кадрами або частинами кадрів (тобто фрагментами). Таким чином, в деяких випадках кадри можна ділити на фрагменти. Відеокодер 20 ділить кожну секцію кодування на блоки пікселів (згадуються в даній роботі як відеоблоки або блоки) і обробляє відеоблоки в межах окремих секцій кодування для кодування відеоданих. Таким чином секція кодування (наприклад, кадр або фрагмент) може містити множину відеоблоків. Іншими словами, відеопослідовність може включати в себе множину кадрів, кадр може включати в себе множину фрагментів, і фрагмент може включати в себе множину відеоблоків. Відеоблоки можуть мати фіксовані або змінні розміри, і можуть відрізнятися по розміру згідно із вказаним стандартом кодування. Як приклад, H.264/MPEG-4 Part 10 вдосконалений стандарт відеокодування (AVC) міжнародного телекомунікаційного союзу - бюро стандартизації телекомунікацій (ITU-T) (надалі стандарт "H.264/MPEG-4 Part 10 AVC") підтримує інтра(внутрішній) передбачення в блоках різного розміру, таких як 1616, 88 або 44 пікселів для компонентів сигналу яскравості, і 88 пікселів для компонентів сигналу кольоровості. Інтер-(між) передбачення можна виконувати в блоках різного розміру, таких як 1616, 168, 816, 88, 84, 48 і 44 пікселів для компонентів сигналу яскравості і відповідні розміри, що масштабуються, для компонентів сигналу кольоровості. У H.264, наприклад, кожний відеоблок 16 на 16 пікселів, який часто називають макроблоком (MB), можна поділяти на субблоки менших розмірів і виконувати інтра- або інтерпередбачення в субблоках. У загальному випадку, MB і різні субблоки можуть розглядатися як відеоблоки. Таким чином, MB можуть розглядатися як відеоблоки і, якщо розділяються або поділяються, то MB можуть самі розглядатися як визначальні набори відеоблоків. Для кожного з відеоблоків, відеокодер 20 вибирає тип блока для даного блока. Тип блока може вказувати, чи передбачається блок з використанням інтерпередбачення або інтрапередбачення, а так само розмір передбаченого блока. Наприклад, стандарт H.264/MPEG4 Part 10 AVC підтримує множину типів блоків, передбачених за допомогою інтер- та інтрапередбачень, які включають в себе інтерпередбачення 1616, інтерпередбачення 168, інтерпередбачення 816, інтерпередбачення 88, інтерпередбачення 84, інтерпередбачення 48, інтерпередбачення 44, інтрапередбачення 1616, інтрапередбачення 88 та інтрапередбачення 44. Як описано детально нижче, відеокодер 20 може вибирати один із типів блока для кожного з відеоблоків, який буде кодуватися. Відеокодер 20 також вибирає режим передбачення для кожного з відеоблоків. У разі відеоблока, кодованого за допомогою інтракодування, режим передбачення може визначати спосіб передбачення поточного відеоблока, використовуючи один або більше раніше кодованих відеоблоків. У стандарті H.264/MPEG-4 Part 10 AVC, наприклад, відеокодер 20 може вибирати один з дев'яти можливих односпрямованих режимів передбачення для кожного 44 блока, передбаченого за допомогою інтрапередбачення; вертикальний режим передбачення, горизонтальний режим передбачення, режим передбачення DC, режим передбачення по діагоналі вниз-ліворуч, режим передбачення по діагоналі вниз-праворуч, режим передбачення по вертикалі праворуч, режим передбачення по горизонталі вниз, режим передбачення по вертикалі ліворуч і режим передбачення по горизонталі вгору. Подібні режими передбачення використовуються для передбачення кожного 88 блока інтрапередбачення. Для 1616 блока інтерпередбачення, відеокодер 20 може вибирати один з чотирьох можливих односпрямованих режимів; вертикальний режим передбачення, горизонтальний режим передбачення, режим передбачення DC і плоский режим передбачення. У деяких випадках відеокодер 20 може вибирати режим передбачення з набору режимів передбачення, які включають в себе не тільки односпрямовані режими передбачення, але також і один або більше мультиспрямованих 4 UA 99392 C2 5 10 15 20 25 30 35 40 45 50 55 60 режимів передбачення, які визначають комбінації односпрямованих режимів. Наприклад, один або більше мультиспрямованих режимів передбачення можуть бути двоспрямованими режимами передбачення, які об'єднують два односпрямовані режими передбачення. Після вибору режиму передбачення для відеоблока відеокодер 20 генерує передбачений відеоблок, використовуючи вибраний режим передбачення. Передбачений відеоблок віднімається з початкового відеоблока для формування залишкового блока. Залишковий блок включає в себе набір значень відмінностей пікселів, які визначають кількість відмінностей між значеннями пікселів початкового відеоблока і значеннями пікселів згенерованого передбаченого блока. Залишковий блок може бути представлений у форматі двомірного блока (наприклад, в двомірній матриці або в матриці значень відмінностей пікселів). Після генерації залишкового блока, відеокодер 20 може виконувати багато які інші операції із залишковим блоком перед кодуванням даного блока. Відеокодер 20 може застосовувати перетворення, таке як цілочисельне перетворення, DCT перетворення, спрямоване перетворення або вейвлетне перетворення, до залишкового блока значень пікселів для генерації блока коефіцієнтів перетворення. Коефіцієнти перетворення можуть бути представленням в частотній зоні залишкового блока. Таким чином, відеокодер 20 перетворює залишкові значення пікселів в коефіцієнти перетворення (що також згадуються як залишкові коефіцієнти перетворення). Залишкові коефіцієнти перетворення можуть згадуватися як блок перетворення або блок коефіцієнтів. Залишкові коефіцієнти перетворення можуть бути одномірним представленням коефіцієнтів, коли застосовується перетворення, що не розділяється, або двомірним представленням коефіцієнтів, коли застосовується перетворення, що розділяється. Перетворення, що не розділяється, може включати в себе спрямоване перетворення, що не розділяється. Перетворення, що розділяється, може включати в себе роздільне спрямоване перетворення, DCT перетворення, цілочисельне перетворення і вейвлетне перетворення. Після перетворення відеокодер 20 виконує квантування для генерації квантованих коефіцієнтів перетворення (також називають квантованими коефіцієнтами або квантованими залишковими коефіцієнтами). Знову, квантовані коефіцієнти можуть бути представлені в одномірному векторному форматі або двомірному блоковому форматі. Квантування в загальному випадку належить до процесу, в якому коефіцієнти квантують для можливого зменшення кількості даних, використовуваних для представлення коефіцієнтів. Процес квантування може зменшити бітову глибину, пов'язану з деякими або з усіма коефіцієнтами. У даній роботі термін "коефіцієнти" може представляти коефіцієнти перетворення, квантовані коефіцієнти або коефіцієнти іншого типу. Методи даного розкриття можна, в деяких випадках, застосовувати до залишкових значень пікселів, квантованих залишковим значенням пікселів, а так само до коефіцієнтів перетворення і квантованих коефіцієнтів перетворення. Коли використовується перетворення, що розділяється, і блоки коефіцієнтів представлені у форматі двомірного блока, відеокодер 20 сканує коефіцієнти з двомірного формату в одномірний формат. Іншими словами, відеокодер 20 може сканувати коефіцієнти з двомірного блока для перетворення коефіцієнтів в послідовну форму в одномірний вектор коефіцієнтів. Відповідно до одного з аспектів даного розкриття, відеокодер 20 може коректувати порядок сканування, використовуваний для перетворення блока коефіцієнтів в одномірне представлення, основуючись на зібраних статистичних даних. Статистичні дані можуть містити вказування ймовірності, що дане значення коефіцієнта в кожній позиції двомірного блока дорівнює нулю або не дорівнює нулю, і може, наприклад, містити лічильник, ймовірність або інший статистичний показник, пов'язаний з кожною із позицій коефіцієнтів двомірного блока. У деяких випадках статистичні дані можна збирати тільки для підмножини позицій блока коефіцієнтів. Коли порядок сканування оцінюється, наприклад, після визначеної кількості блоків, порядок сканування можна змінювати таким чином, що позиції коефіцієнтів в межах блока, для яких визначено, що вони мають вищу ймовірність наявності ненульових коефіцієнтів, скануються до позицій коефіцієнтів в межах блока, для яких визначено, що вони мають нижчу ймовірність наявності ненульових коефіцієнтів. Таким чином, початковий порядок сканування можна настроювати для ефективнішого групування ненульових коефіцієнтів на початку одномірного вектора коефіцієнтів, а коефіцієнтів з нульовим значенням - в кінці одномірного вектора коефіцієнтів. Це може в свою чергу скорочувати кількість бітів, що затрачуються на ентропійне кодування, оскільки існують коротші серії нулів між ненульовими коефіцієнтами на початку одномірного вектора коефіцієнтів і одна триваліша серія з нулів в кінці одномірного вектора коефіцієнтів. Після сканування коефіцієнтів відеокодер 20 кодує кожний з відеоблоків секції кодування, використовуючи будь-яку з множини методологій ентропійного кодування, таку як контекстно 5 UA 99392 C2 5 10 15 20 25 30 35 40 45 50 55 60 залежне адаптивне кодування зі змінною довжиною (CAVLC), контекстно-залежне адаптивне двійкове арифметичне кодування (CABAC), кодування довжин серій і т. п. Пристрій-джерело 12 передає закодовані відеодані на пристрій-одержувач 14 через передавач 22 і канал 16. Канал зв'язку 16 може містити будь-який бездротовий або дротовий засіб зв'язку, такий як радіочастотний (РЧ) спектр або одна або більше фізичних ліній передачі, або будь-яка комбінація бездротового і дротового середовищ передачі. Канал зв'язку 16 може бути частиною мережі пакетної передачі, такою як локальна мережа, глобальна мережа або всесвітня мережа, така як Інтернет. Канал зв'язку 16 в загальному випадку представляє будь-який відповідний засіб зв'язку, або сукупність різних засобів зв'язку, для передачі кодованих відеоданих від пристрою-джерела 12 на пристрій-одержувач 14. Пристрій-одержувач 14 може включати в себе приймач 24, відеодекодер 26 і пристрій 28 відображення. Приймач 24, який є одним із засобів прийому відеосигналу, приймає закодований бітовий потік відеоінформації від пристрою-джерела 12 через канал 16. Відеодекодер 26 застосовує ентропійне декодування для декодування закодованого бітового потоку відеоінформації для отримання інформації заголовка, векторів руху і квантованих залишкових коефіцієнтів кодованих відеоблоків секції кодування. Як описано вище, квантовані залишкові коефіцієнти, закодовані пристроєм-джерелом 12, закодовані як одномірний вектор. Відеодекодер 26 тому сканує квантовані залишкові коефіцієнти закодованих відеоблоків для перетворення одномірного вектора коефіцієнтів в двомірний блок квантованих залишкових коефіцієнтів. Також як відеокодер 20, відеодекодер 26 може збирати статистичні дані, які вказують ймовірність, що дана позиція коефіцієнта у відеоблоці дорівнює нулю або не дорівнює нулю, і таким чином коректувати порядок сканування таким же способом, який використовувався в процесі кодування. Відповідно, зворотний порядок сканування, що настроюється, можна застосовувати за допомогою відеодекодера 26 для перетворення одномірного векторного представлення квантованих послідовних коефіцієнтів перетворення назад в двомірний блок квантованих коефіцієнтів перетворення. Відеодекодер 26 відновлює кожний з блоків секції кодування, використовуючи декодовану інформацію заголовка і декодовану залишкову інформацію. Зокрема, відеодекодер 26 може генерувати передбачений відеоблок для поточного відеоблока, використовуючи передбачення та інформацію про рух, яку включає в себе як частину інформації заголовка, і об'єднувати передбачений блок з відповідним залишковим відеоблоком для відновлення кожного з відеоблоків. Пристрій-одержувач 14 може відображати відновлені відеоблоки користувачеві через пристрій відображення 28. Пристрій відображення 28 може містити будь-який з множини пристроїв відображення, таких як дисплей на основі електронно-променевої трубки (CRT), рідкокристалічний дисплей (LCD), плазмовий дисплей, світлодіодний (LED) дисплей, дисплей на органічних світлодіодах або пристрій відображення іншого типу. У деяких випадках пристрій-джерело 12 і пристрій-одержувач 14 можуть працювати по суті симетричним способом. Наприклад, кожний з пристрою-джерела 12 і пристрою-одержувача 14 може включати в себе компоненти відеокодування і декодування. Отже, система 10 може підтримувати односторонню або двосторонню відеопередачу між пристроями 12, 14, наприклад, для потокового відео, широкомовлення відеоінформації або відеотелефонії. Пристрій, який включає в себе компоненти відеокодування і декодування, може також бути частиною звичайного пристрою кодування, архівації і відтворення, такого як цифровий відеомагнітофон (DVR). Відеокодер 20 і відеодекодер 26 можуть працювати згідно з будь-яким із множини стандартів стиснення відеозображення, таких як стандарти, визначені Експертною групою з питань рухомих зображень (MPEG) в MPEG-1, MPEG-2 і MPEG-4, стандарт ITU-T H.263, стандарт H.264/MPEG4 Part 10 AVC, стандарт Суспільства інженерів кіно і телебачення (SMPTE) 421M відеокодек (звичайно називають "VC-1"), стандарт, визначений стандартом кодування звуку і відео робочою групою Китаю (звичайно називається "AVS"), а так само будьякий інший стандарт відеокодування, визначений організацією по стандартизації, або розроблений організацією, як власний стандарт. Хоча не показано на фіг. 1, в деяких аспектах кожний з відеокодера 20 і відеодекодера 26 можна інтегрувати з аудіокодером і декодером відповідно, і вони можуть включати в себе відповідні блоки мультиплексування/демультиплексування або інші апаратні засоби і програмне забезпечення для обробки кодування і аудіо і відео в загальному потоці даних або в окремих потоках даних. Таким чином пристрій-джерело 12 і пристрій-одержувач 14 можуть обробляти мультимедійні дані. Якщо використовуються, блоки мультиплексування/демультиплексування можуть відповідати протоколу мультиплексора ITU H.223 або іншим протоколам, такому як протокол користувацьких датаграм (UDP). 6 UA 99392 C2 5 10 15 20 25 30 35 40 45 50 55 У деяких аспектах при широкомовній передачі відео, методи, описані в даному розкритті, можна застосовувати до вдосконаленого відеокодування H.264 для забезпечення послуг відео в реальному часі в системах наземної мобільної групової передачі мультимедійної інформації (TM3), використовуючи специфікацію бездротового інтерфейсу тільки прямої лінії зв'язку (FLO), "Forward Link Only Air Interface Specification for Terrestrial Mobile Multimedia Multicast", опубліковану в липні 2007 як технічний стандарт TIA-1099 ("FLO Specification"). Тобто канал зв'язку 16 може містити бездротовий інформаційний канал, використовуваний для бездротової передачі відеоінформації згідно з FLO Specification і т. п. FLO Specification включає в себе приклади, що визначають синтаксис і семантику бітового потоку, і процеси декодування, відповідні для бездротового інтерфейсу FLO. Альтернативно, можна виконувати широкомовну передачу відео згідно з іншими стандартами, такими як DVB-H (цифрове широкомовлення відео для мобільних пристроїв), ISDB-T (інтегровані послуги цифрового наземного широкомовлення) або DMB (цифрове широкомовлення мультимедіа). Отже, пристрій-джерело 12 може бути мобільним бездротовим терміналом, сервером відеопотоку або сервером широкомовлення відео. Однак, методи, описані в даному розкритті, не обмежені ніяким визначеним типом системи широкомовлення, групової передачі або одноадресної передачі. У випадку широкомовлення пристрій-джерело 12 може виконувати широкомовлення декількох каналів відеоданих на множину пристроїводержувачів, кожний з яких може бути аналогічний пристрою-одержувачу 14 на фіг. 1. Таким чином, хоч один пристрій-одержувач 14 показаний на фіг. 1, для застосування широкомовлення відеоінформації, пристрій-джерело 12 звичайно виконує широкомовлення відеоконтенту одночасно на множину пристроїв-одержувачів. У інших прикладах передавач 22, канал зв'язку 16 і приймач 24 можна конфігурувати для здійснення зв'язку згідно з будь-якою системою дротового або бездротового зв'язку, яка включає в себе одну або більше із систем Ethernet, телефонної системи (наприклад, POTS), кабельної системи, системи на основі ліній електропередачі і оптоволоконної системи і/або бездротової системи, що містить одну або більше із: системи зв'язку множинного доступу з кодовим розділенням (CDMA або CDMA2000), системи множинного доступу з частотним розділенням (FDMA), системи ортогонального множинного доступу з частотним розділенням (OFDM), системи множинного доступу з часовим розділенням (TDMA), такої як GSM (глобальна система мобільного зв'язку), GPRS (пакетний радіозв'язок загального призначення) або EDGE (розширена передача даних в середовищі GSM), система мобільного телефонного зв'язку TETRA (наземний магістральний бездротовий зв'язок), система широкосмугового множинного доступу з кодовим розділенням (WCDMA), високошвидкісна передача даних 1EV-DO (перше покоління розвитку тільки для передачі даних) або "золота" система групової передачі 1EVDO, система IEEE 802.18, система MediaFLO.TM., система DMB, система DVB-H або інша схема передачі даних між двома або великою кількістю пристроїв. Кожний з відеокодера 20 і відеодекодера 26 можна втілювати як одне або більше з мікропроцесорів, процесорів цифрової обробки сигналів (ПЦОС), спеціалізованих інтегральних схем (СпІС), програмованих користувачем вентильних матриць (ПКВМ), дискретних логічних схем, програмного забезпечення, апаратних засобів, вбудованого програмного забезпечення або будь-яких їх комбінацій. Кожний з відеокодера 20 і відеодекодера 26 може включати в себе один або більше кодерів або декодерів, будь-який з яких може бути інтегрований як частина об'єднаного кодера/декодера (кодека) у відповідному мобільному пристрої, абонентському пристрої, пристрої широкомовлення, сервері або аналогічному пристрої. Крім того, кожний з пристрою-джерела 12 і пристрою-одержувача 14 може включати в себе відповідні компоненти модуляції, демодуляції, перетворення частоти, фільтрації і посилення для передачі і прийому кодованої відеоінформації, коли застосовується, які включають в себе радіочастотні (РЧ) бездротові компоненти і антени, достатні для забезпечення бездротового зв'язку. Для простоти ілюстрації, однак, такі компоненти узагальнюють, як такі, що є передавачем 22 пристроюджерела 12 і приймачем 24 пристрою-одержувача 14 на фіг. 1. Фіг. 2 - структурна схема, на якій показаний приклад відеокодера 20. Відеодекодер 26 може включати в себе компоненти, аналогічні компонентам у відеокодері 20. Відеокодер 20 може виконувати інтра- та інтеркодування блоків в межах відеокадрів. Інтракодування основується на просторовому передбаченні для зменшення або видалення просторової надмірності у відеоінформації в межах даного відеокадру. Інтеркодування основується на часовому передбаченні для зменшення або видалення часової надмірності у відеоінформації в межах суміжних кадрів. Для виконання інтеркодування відеокодер 20 виконує оцінку руху для відстеження руху відповідних відеоблоків між двома або великою кількістю суміжних кадрів. 7 UA 99392 C2 5 10 15 20 25 30 35 40 45 50 55 60 Як показано на фіг. 2, відеокодер 20 приймає поточний відеоблок 21 в межах відеокадру, який повинен кодуватися. У прикладі на фіг. 2 відеокодер 20 включає в себе блок 23 передбачення руху, блок 25 зберігання опорного кадру, блок 29 перетворення блоків, блок 31 квантування, блок 33 зворотного квантування, блок 35 зворотного перетворення, блок 37 ентропійного кодування, блок 43 визначення режиму, блок 47 просторового передбачення і фільтр 49 скасування розділення на блоки. Відеокодер 20 також включає в себе суматор 39, суматор 41 і комутатор 51. Відеокодер 20 може також включати в себе блок сканування, який не показаний, для сканування квантованих коефіцієнтів. Фіг. 2 показує компоненти часового передбачення відеокодера 20 для виконання інтеркодування відеоблоків і компоненти просторового передбачення для інтракодування відеоблоків. Комутатором 51 можна керувати за допомогою блока 43 визначення режиму, і він може використовуватися для вибору між відеоблоком, передбаченим за допомогою просторового передбачення, або відеоблоком, передбаченим за допомогою часового передбачення, як передбачений відеоблок для вхідного відеоблока. Для оцінки інтеркодування, блок 23 передбачення руху порівнює відеоблок 21 з блоками в одному або більше суміжних відеокадрах для генерації одного або більше векторів руху. Суміжний кадр або кадри можна витягувати з блока 25 зберігання опорного кадру. Оцінку руху можна виконувати для блоків змінних розмірів, наприклад, 1616, 168, 816, 88 або для блоків менших розмірів. Блок 23 передбачення руху ідентифікує блок в суміжному кадрі, який найближче відповідає поточному відеоблоку 21, наприклад, основуючись на моделі залежності спотворення від швидкості, і визначає зміщення між блоками. На цій основі блок 23 передбачення руху генерує вектор руху, який вказує величину і траєкторію зміщення. Вектори руху можуть мати точність в половину або в чверть пікселя, або ще вищу точність, надаючи можливість відеокодеру 20 відстежувати рух з вищою точністю, ніж цілочисельне розташування пікселя, і отримувати кращий передбачений блок. Коли використовуються вектори руху з дробовими значеннями пікселів, операції інтерполяції можна виконувати в блоці 23 передбачення руху. Наприклад, в стандарті AVC/H.264, для отримання сигналу яскравості в розташуванні напівпікселя, можна використовувати 6-відвідний фільтр Вінера з коефіцієнтами (1,-5, 20, 20,-5, 1)/32. Для отримання сигналів яскравості в розташуванні чверті пікселя, можна використовувати білінейну фільтрацію значень в розташуванні цілих пікселів та інтерпольовані значення в розташуванні половини пікселя. Білінейний фільтр також можна використовувати при інтерполяції дробових пікселів для компонентів сигналу кольоровості, які можуть мати точність до 1/8 пікселя. Після ідентифікації найкращого вектора руху для відеоблока, використовуючи модель залежності спотворення від швидкості, блок 23 передбачення руху виводить передбачений за допомогою компенсації руху відеоблок. Альтернативно, для оцінки інтракодування блок 47 просторового передбачення використовують для формування передбаченого відеоблока, використовуючи вже закодовані блоки в тому ж самому елементі кодування (наприклад, в тому ж самому кадрі). Наприклад, відеоблок 21 можна порівнювати з іншими вже закодованими блоками в тому ж самому кадрі, як відеоблок 21. У деяких варіантах здійснення вже закодовані блоки можна витягувати з блока 25 зберігання опорного кадру. У деяких варіантах здійснення можна використовувати різні способи просторового передбачення. Наприклад, в H.264/MPEG-4 AVC, спрямоване просторове передбачення можна виконувати для відеоблоків розмірів 44, 88 і/або 1616. Додатково, в загальній складності 9 напрямків передбачення можуть використовуватися для 44 і 88 блоків сигналу яскравості. У загальній складності 4 напрямки передбачення можуть використовуватися для 1616 блоків сигналу яскравості і блоків інформації про колір. Інші типи просторового передбачення можна виконувати в межах того ж самого елемента кодування. Наприклад, відеоблок, відповідний поточному відеоблоку, можна ідентифікувати у вже закодованій частині поточного елемента кодування, використовуючи процес, аналогічний оцінці руху. Додатково, кількість непогоджень між відеоблоком, що порівнюється, і поточним відеоблоком можна визначати і потім передавати, як частину даних заголовка кодованої відеоінформації для поточного відеоблока. Блок 43 визначення режиму може вибирати оптимальний режим просторового передбачення (наприклад, розмір передбаченого блока, напрямок передбачення або зміщення передбаченого відеоблока і т. д.), основуючись на попередньо визначених критеріях, таких як модель Лагранжа залежності спотворення від швидкості. Відеокодер 20 формує залишковий відеоблок, віднімаючи передбачений відеоблок, згенерований або блоком 23 передбачення руху, або блоком 47 просторового передбачення, з початкового поточного відеоблока 21 в суматорі 39, який є одним із засобів віднімання передбаченого блока з початкового блока. Блок 29 перетворення блоків, який є одним із засобів застосування перетворення, застосовує перетворення до залишкового блока. Розмір і тип 8 UA 99392 C2 5 10 15 20 25 30 35 40 45 50 55 60 перетворення для використання можна вказувати для блока 29 перетворення блоків за допомогою блока 43 визначення режиму. Блок 31 квантування квантує коефіцієнти перетворення для додаткового зменшення швидкості передачі інформації в бітах. Блок 37 ентропійного кодування, який є одним із засобів генерації відеосигналу, виконує ентропійне кодування квантованих коефіцієнтів для додаткового зменшення швидкості передачі інформації в бітах. Відеодекодер 26 виконує зворотні операції для відновлення кодованої відеоінформації. Блок 33 зворотного квантування і блок 35 зворотного перетворення застосовують зворотне квантування і зворотне перетворення відповідно, для відновлення залишкового блока. Суматор 41 складає відновлений залишковий блок з передбаченим блоком для генерації відновленого відеоблока для зберігання в блоці 25 зберігання опорного кадру. Відновлений відеоблок використовується або блоком 23 передбачення руху, або блоком 47 просторового передбачення для кодування подальших відеоблоків в поточному відеокадрі або подальшому відеокадрі. Виконуючи компенсацію руху для даного блока в поточному відеокадрі 21, блок 23 передбачення руху може використовувати фіксований набір фільтрів для інтерполяції опорного блока з опорного кадру. Один опорний блок необхідний, якщо поточний блок односпрямовано передбачають, або два опорні блоки необхідні, якщо поточний блок двоспрямовано передбачають. У H.264 в деяких випадках можна використовувати множину опорних кадрів в прямому і зворотному напрямках. Фактичні фільтри, використовувані в блоці 23 передбачення руху, залежать від дробової частини вектора руху. Наприклад, якщо вектор руху вказує на розташування напівпікселя в опорному кадрі в даному вимірюванні, то для отримання значення розташування напівпікселя, 6-відвідний фільтр, такий як (1,-5, 20, 20,-5, 1)/32, використовується в цьому вимірюванні з вектором руху напівпікселя. Якщо обидва компоненти вектора руху вказують на цілочисельне розташування, то значення пікселя з опорного кадру в блоці 25 зберігання опорного кадру можна використовувати безпосередньо, не виконуючи операції фільтрації інтерполяції. Фіг. 7 - структурна схема, на якій показаний приклад відеодекодера 26. Закодований бітовий потік подається в систему 700. Частини бітового потоку можуть відповідати різним відеоблокам. Додатково, декілька з цих відеоблоків можуть складати один відеокадр. Частину бітового потоку, відповідну даному відеоблоку, энтропійно декодують в блоці 702 ентропійного декодування для формування залишкового блока, що містить квантовані залишкові коефіцієнти перетворення. Залишковий блок потім може зворотно скануватися в блоці зворотного сканування, який не показаний. До залишкового блока можна також застосовувати зворотне квантування в блоці 706 зворотного квантування і зворотне перетворення в блоці 708 зворотного перетворення для формування декодованого залишкового блока. Блок 702 ентропійного декодування може визначати тип і/або розмір зворотного перетворення для виконання, основуючись на прийнятих даних заголовка, як обговорюється нижче. Передбачений відеоблок генерується і підсумовується з декодованим залишковим блоком в блоці 710 підсумовування. Передбачений відеоблок можна формувати, використовуючи один з двох типів способів передбачення - інтрапередбачення та інтерпередбачення. Блок 716 просторового передбачення використовує вже закодовані блоки в тому ж самому відеокадрі (або в тому ж самому відеофрагменті, якщо відеофрагмент використовується як елемент кодування) для генерації блока інтрапередбачення. Блок 718 компенсації руху використовує попередні і/або подальші кадри, збережені в блоці 720 зберігання опорного кадру, для генерації блока інтерпередбачення. Залежно від даних заголовка, що приймаються, що вказують режим кодування, використовуваного для кодування відеоблока, комутатор 722 може перемикатися для активізації або блока 716 просторового передбачення, або блока 718 компенсації руху, для генерації або блока інтрапередбачення, або блока інтерпередбачення. Передбачений блок потім підсумовується з декодованим залишковим блоком в блоці 710 підсумовування для генерації декодованого відеоблока. Результативний відновлений відеоблок потім відсилають у фільтр 712 скасування розділення на блоки, де можна виконувати фільтрацію на межах блока для запобігання спотворень зображення із-за розділення на блоки, що може бути візуально непривабливим. Згенерований вихідний сигнал є кінцевим декодованим відеоблоком. Кінцевий декодований відеоблок можна зберігати в блоці 720 зберігання опорного кадру для відновлення інших відеоблоків в тому ж самому або в інших відеокадрах. Щоб належно декодувати кодований відеопотік, декодер повинен знати, яке перетворення використовувалося для кодування відеоданих. Декодер може потім застосовувати відповідне зворотне перетворення, яке відповідає прямому перетворенню, використовуваному в кодері. 9 UA 99392 C2 5 10 15 20 25 30 35 40 45 50 55 Відповідно дані, що вказують тип перетворення, використовуваного для кодування відеоблока, необхідно відсилати в декодер як частину бітового потоку відеоінформації, щоб належно декодувати відеоблок. Як описано відносно фіг. 2, блок 29 перетворення блоків застосовує перетворення до залишкового відеоблока. Застосування перетворення до залишкових блоків забезпечує необхідне ущільнення енергії, яке при об'єднанні з квантуванням і ентропійним кодуванням забезпечує високу ефективність стиснення. Приклади перетворення, використовуваного в популярних основаних на блоках системах відеокодування, таких як MPEG2 і H.264/AVC, включають в себе 88 DCT перетворення і 44 і 88 цілочисельне перетворення. Стандарт H.264/AVC - останній стандарт відеокодування, який забезпечує високу ефективність кодування. H.264/AVC використовує блоки перетворення різного типу. Для блоків інтрапередбачення (просторового передбачення) та інтерпередбачення (часового передбачення), H.264/AVC використовує 44 цілочисельне перетворення, яке основане на 44 DCT перетворенні, або 88 цілочисельне перетворення, яке основане на 88 DCT перетворенні. Для сигналу інформації про колір відеосигналу додатковий рівень 22 перетворення Адамара застосовується до 22 компонентів DC в кожному блоці. Для сигналу яскравості відеосигналу перетворення вибирається таким чином. Спочатку визначається, за допомогою якого передбачення - інтрапередбачення чи інтерпередбачення передбачається блок. Якщо блок передбачається за допомогою інтерпередбачення, то потім визначають, менший чи ні розмір блока ніж 88. Якщо блок менший ніж 88, то використовують 44 цілочисельне перетворення. Якщо блок не менший ніж 88, то використовують або 44, або 88 цілочисельне перетворення. Якщо блок передбачається за допомогою інтрапередбачення, то визначають, передбачається чи ні блок, використовуючи режим INTRA_1616. Якщо блок передбачається з використанням режиму INTRA_1616, то до блока застосовують 44 цілочисельне перетворення, і додатковий рівень 44 перетворення Адамара застосовують до 44 компонентів DC в кожному блоці. Якщо блок не передбачається з використанням режиму INTRA_1616, то використовують 44 цілочисельне перетворення, якщо блок передбачається з використанням режиму INTRA_44, і використовують 88 цілочисельне перетворення, якщо блок передбачається з використанням режиму INTRA_88. У випадках, коли для блока можна використовувати або 44, або 88 перетворення, вибір перетворення залежить від використовуваного профілю H.264/AVC. При будь-якому профілі H.264, крім "високого" профілю (наприклад, при базовому профілі, розширеному базовому профілі, основному профілі), використовується тільки 44 цілочисельне перетворення. При "високому" профілі H.264/AVC (тобто при збільшенні якості) для сигналу яскравості також можна використовувати 88 цілочисельне перетворення, основане на 88 DCT перетворенні. Вибір або 44, або 88 цілочисельного перетворення передають за допомогою додаткового синтаксичного елемента transform_size_88_flag. У випадках, коли можна використовувати або 44, або 88 перетворення (наприклад, кодований за допомогою інтеркодування блок з розміром, не меншим, ніж 88), прапорець transform_size_88_flag відсилають в декодер нарівні з кодованими відеоданими. Якщо прапорець transform_size_88_flag встановлюють в 1, то до залишкових блоків застосовують 88 цілочисельне перетворення; інакше (якщо прапорець transform_size_88_flag встановлюють в 0) до залишкових блоків застосовують 44 цілочисельне перетворення. У H.264/AVC передбачення руху можна виконувати для блоків різного розміру (тобто зон руху), таких як 1616, 168, 816, 88, 84, 48 і 44. У той час як менші зони руху звичайно використовуються навколо меж об'єкта і зон з великою кількістю деталей, великі зони руху звичайно вибирають навколо більш згладжених зон. У результаті залишкові блоки після передбачення руху є також звичайно більш згладженими, тобто вони мають тенденцію містити більше низькочастотних компонентів. Для таких сигналів застосування великих перетворень може забезпечувати краще ущільнення енергії. Способи і кодери для вибору зон руху і розміру перетворення описані в патенті США № 5 107 345; патенті США № 6 996 283; і патенті США № 6 600 836, всі представлені для довідки. Як описано вище, H.264/AVC використовує тільки 44 і 88 цілочисельне перетворення для відеоблоків, які кодують за допомогою інтеркодування. 44 і 88 цілочисельне перетворення вказують за допомогою значення прапорця transform_size_88_flag, який в цей час обмежується 1-бітовим розміром. Відповідно, немає ніякого способу вказувати додаткові розміри перетворення за допомогою існуючого синтаксису, використовуваного в H.264, тому що 1-бітовий прапорець transform_size_88_flag може 10 UA 99392 C2 5 10 15 20 25 30 35 40 45 50 55 60 передавати тільки два типи перетворення. Нижче описані синтаксис і синтаксичні елементи, які забезпечують вказування додаткового розміру перетворення, використовуваного кодером і декодером. У деяких варіантах здійснення, синтаксичний елемент містить 2-бітове значення прапорця для вказування розміру перетворення. Значення прапорця може включати в себе як частину інформацію заголовка, що передається в декодер. У наступних варіантах здійснення передбачений за допомогою інтерпередбачення відеоблок або передбачений за допомогою інтрапередбачення відеоблок можна використовувати в зв'язку з описаними способами. Таким чином, передбачений відеоблок може бути сформований за допомогою компенсації руху або просторового передбачення. У варіантах здійснення, де використовується компенсація руху, розмір передбаченого блока дорівнює розміру зони руху; тому терміни "передбачений блок" і "зона руху" можна використовувати взаємозамінно. Додатково, у варіантах здійснення, де використовується просторове передбачення, розмір передбаченого блока дорівнює розміру використовуваного блока просторового передбачення. Тому терміни "передбачений блок" і "блок, передбачений за допомогою інтрапередбачення" або "блок, передбачений за допомогою просторового передбачення" можна використовувати взаємозамінно. Наприклад, множину варіантів перетворення можна використовувати для відеоблоків, кодованих з використанням передбачення INTRA_1616 і INTRA_88. У доповнення до 44 перетворення, 1616, 168, 816 або 88 перетворення можна застосовувати до передбачених за допомогою INTRA_1616 відеоблоків; і 88 перетворення можна застосовувати до передбачених за допомогою INTRA_88 відеоблоків. Для передбачених за допомогою інтрапередбачення блоків передачу розміру перетворення можна виконувати способом, аналогічним, як для передбачених за допомогою інтерпередбачення відеоблоків. Синтаксичні елементи прапорця розміру перетворення можна об'єднувати із синтаксичними елементами розміру передбаченого блока; і можна використовувати кодування змінної довжини синтаксичного елемента прапорця розміру перетворення. Описаний нижче синтаксис використовує і значення прапорця, і розмір передбаченого блока для даного блока для вказування розміру перетворення. Комбінація розміру передбаченого блока для даного блока і значення прапорця забезпечує вказування більшої кількості розмірів перетворення, ніж при використанні відповідності 1 до 1 між значенням прапорця і розміром перетворення. Наприклад, при відповідності 1 до 1 між розміром перетворення і значенням прапорця 2-бітовий прапорець вказує тільки 4 різні розміри перетворення, де кожне значення прапорця вказує один розмір перетворення. Однак, за допомогою додаткового використання розміру передбаченого блока для даного блока, додатковий розмір перетворення можна вказувати, використовуючи ту ж саму кількість бітів для прапорця. Наприклад, якщо значення прапорця 00 вказує, що розмір перетворення повинен дорівнювати розміру передбаченого блока для даного блока, і розмір передбаченого блока може мати N різних розмірів блока, то одне значення прапорця 00 може вказувати N різних розмірів перетворення. Відповідно, в одному з варіантів здійснення одне або більше значень прапорця може вказувати, що використовуваний розмір перетворення дорівнює розміру передбаченого блока для даного блока. У іншому варіанті здійснення кодування змінної довжини може використовуватися для кодування значень прапорця. Фіг. 3 - зразковий варіант здійснення процесу 300 встановлення значення прапорця в кодері, який повідомляє розмір перетворення, використовуваний кодером 20 для даного відеоблока. Розмір передбаченого блока для кожного відеоблока можна визначати в блоці 43 визначення режиму, і перетворення можна виконувати в блоці 29 перетворення блоків (див. фіг. 2). Вибір розміру передбаченого блока і вибір розміру перетворення, використовуваного для даного блока, можна виконувати за допомогою блока 43 визначення режиму. На першому етапі 302 процесу 300 визначають, більший чи ні розмір передбаченого блока для даного блока ніж 88. Якщо розмір передбаченого блока не більший ніж 88, то процес продовжується на етапі 306. Альтернативно, якщо розмір передбаченого блока більший ніж 88, то процес переходить на етап 338. На етапі 306 визначають, менший чи ні розмір передбаченого блока ніж 88. Якщо розмір передбаченого блока менший ніж 88, то процес 300 переходить на етап 310, на якому 44 перетворення застосовується до блока. Процес 300 потім продовжується на етапі 314, де ніяке значення прапорця не встановлюється для передачі в декодер. Альтернативно, якщо на етапі 306 визначено, що розмір передбаченого блока не менший ніж 88, то процес переходить на етап 318, на якому визначається, дорівнює чи ні розмір перетворення, який буде використовуватися для блоків, 88. Якщо визначено, що 88 розмір перетворення не повинен використовуватися, то процес 300 продовжується на етапі 322, де 44 перетворення 11 UA 99392 C2 5 10 15 20 25 30 застосовується до блока, і потім на етапі 326, де 1-бітовий прапорець зі значенням 0 встановлюється для передачі в декодер. Альтернативно, якщо на етапі 318 визначено, що 88 перетворення повинне використовуватися, процес продовжується на етапі 330, на якому 88 перетворення застосовується до блока, і потім на етапі 334, де 1-бітовий прапорець зі значенням 1 встановлюється для передачі в декодер. Якщо на етапі 302 визначено, що розмір передбаченого блока більший ніж 88, то процес переходить на етап 338. На етапі 338 в кодері визначається, або автоматично або вручну, повинен чи ні розмір перетворення, більший ніж 88, використовуватися для даного блока. Якщо розмір перетворення більший ніж 88, не повинен використовуватися, то процес 300 продовжується на етапі 342, де визначається, дорівнює чи ні розмір перетворення, який буде використовуватися для даного блока, 88. Якщо розмір перетворення, який буде використовуватися, не 88, то процес 300 продовжується на етапі 346, де 44 перетворення застосовується до блока, і потім на етапі 350, де 1-бітове значення прапорця 0 встановлюється для передачі в декодер. Альтернативно, якщо розмір перетворення, який буде використовуватися, 88, то процес 300 продовжується на етапі 354, де 88 перетворення застосовується до блока, і потім на етапі 358, де 2-бітове значення прапорця 10 встановлюється для передачі в декодер. Якщо на етапі 338 визначено, що розмір перетворення, який буде використовуватися, більший ніж 88, то процес 300 продовжується на етапі 362. На етапі 362 визначається, дорівнює чи ні розмір передбаченого блока для даного блока 1616. Якщо визначено, що розмір передбаченого блока 1616, то процес 300 переходить на етап 366, де 1616 перетворення застосовується до блока, і потім на етап 382. Альтернативно, якщо на етапі 362 визначено, що розмір передбаченого блока не 1616, то процес 300 продовжується на етапі 370, де визначається, дорівнює чи ні розмір передбаченого блока 816. Якщо визначають, що розмір передбаченого блока 816, то процес 300 продовжується на наступному етапі 374, де 816 перетворення застосовується до блока, і потім на етапі 382. Альтернативно, якщо визначено, що розмір передбаченого блока не 816, то процес 300 продовжується на наступному етапі 374, де 168 перетворення застосовується до блока, і потім на етапі 382. На етапі 382 2-бітове значення прапорця 11 встановлюється для передачі в декодер. Згідно з процесом 300, значення прапорця відповідають наступним видам перетворення: Таблиця 1 Значення прапорця Немає прапорця 0 1 0 10 11 11 11 35 40 45 Розмір передбаченого блока 44, 48, 84 88 88 88, 816, 168, 1616 88, 816, 168, 1616 816 168 1616 Розмір перетворення/ зворотного перетворення 44 44 88 44 88 816 168 1616 Фахівцям повинно бути зрозуміло, що деякі з етапів процесу 300 можна опускати, або нові етапи додавати для забезпечення того ж самого результату. Додатково, деякі з етапів можна виконувати в іншому порядку. Треба також зазначити, що значення прапорця можна змінювати (наприклад, 0 може бути 88 перетворенням, а 10-44 перетворенням). Фіг. 4 - зразковий варіант здійснення іншого процесу 400 встановлення значення прапорця в кодері, який повідомляє розмір перетворення, використовуваний кодером 20 для даного відеоблока. Розмір передбаченого блока можна визначати в блоці 43 визначення режиму, і перетворення можна виконувати в блоці 29 перетворення блоків. Вибір розміру передбаченого блока і вибір розміру перетворення, використовуваного для даного блока, виконують за допомогою блока 43 визначення режиму. На першому етапі 402 процесу 400 визначають, більший чи ні розмір передбаченого блока для даного блока ніж 88. Якщо розмір передбаченого блока не більший ніж 88, то процес продовжується на етапі 406. Альтернативно, якщо розмір передбаченого блока більший ніж 88, то процес переходить на етап 438. 12 UA 99392 C2 5 10 15 20 25 30 35 40 45 На етапі 406 визначають, менший чи ні розмір передбаченого блока ніж 88. Якщо розмір передбаченого блока менший ніж 88, то процес 400 переходить на етап 410, на якому 44 перетворення застосовується до блока. Процес 400 потім продовжується на етапі 414, де ніяке значення прапорця не встановлюють для передачі в декодер. Альтернативно, якщо на етапі 406 визначають, що розмір передбаченого блока не менший ніж 88, то процес переходить на етап 418, на якому визначається, дорівнює чи ні розмір перетворення, який буде використовуватися для блока, 88. Якщо визначено, що 88 розмір перетворення не повинен використовуватися, то процес 400 продовжується на етапі 422, де 44 перетворення застосовується до блока, і потім на етапі 426, де 1-бітовий прапорець зі значенням 0 встановлюється для передачі в декодер. Альтернативно, якщо на етапі 418 визначено, що 88 перетворення повинне використовуватися, то процес продовжується на етапі 430, на якому 88 перетворення застосовується до блока, і потім на етапі 434, де 1-бітовий прапорець зі значенням 1 встановлюється для передачі в декодер. Якщо на етапі 402 визначають, що розмір передбаченого блока більший ніж 88, то процес переходить на етап 438. На етапі 438 визначається, дорівнює чи ні розмір передбаченого блока 1616. Якщо розмір передбаченого блока дорівнює 1616, то процес 400 переходить на етап 442, де визначається, дорівнює чи ні розмір перетворення, який будуть застосовувати до блока, 88. Якщо визначено, що розмір перетворення, який буде використовуватися, 88, то процес 400 переходить на етап 446, де 88 перетворення застосовується до даного блока, і потім на етап 450, де двобітовий прапорець зі значенням 00 встановлюється для передачі в декодер. Альтернативно, якщо на етапі 442 визначається, що розмір перетворення, який буде застосовуватися, не 88, то процес 442 переходить на етап 454, де визначається, необхідно чи ні 1616 перетворення застосовувати до блока. Якщо 1616 перетворення необхідно застосовувати, то процес 400 продовжується на етапі 458, де 1616 перетворення застосовується до даного блока, і потім на етапі 462, де двобітовий прапорець зі значенням 01 встановлюється для передачі в декодер. Якщо замість цього на етапі 454 визначено, що розмір перетворення, який будуть застосовувати, не 1616, то процес 400 продовжується на етапі 466, де визначається, дорівнює чи ні розмір перетворення, який буде застосований до даного блока, 168. Якщо розмір перетворення, який буде застосовуватися, дорівнює 168, то процес 400 продовжується на етапі 470, де 168 перетворення застосовується до даного блока, і потім на етапі 474, де двобітовий прапорець зі значенням 10 встановлюється для передачі в декодер. Альтернативно, якщо на етапі 466 визначено, що розмір перетворення, який буде застосовуватися до блока, не 168, то процес 400 продовжується на етапі 478, де 816 перетворення застосовується до даного блока, і потім на етапі 482, де двобітовий прапорець зі значенням 11 встановлюється для передачі в декодер. Якщо на етапі 438 визначено, що розмір передбаченого блока не 1616, то процес 400 продовжується на етапі 484, де визначається, дорівнює чи ні розмір перетворення, який буде застосовуватися до даного блока, 88. Якщо перетворення, яке буде застосовуватися, 88, то процес 400 продовжується на етапі 492, де 88 перетворення застосовується до блока, і потім на етапі 426, де значення 1-бітового прапорця 0 встановлюється для передачі в декодер. Альтернативно, якщо на етапі 484 визначено, що розмір перетворення, який буде застосовуватися до блока, не 88, то процес продовжується на етапі 486, де визначається, дорівнює чи ні розмір передбаченого блока 168. Якщо розмір передбаченого блока 168, то процес 400 продовжується на етапі 488, де 168 перетворення виконується для блока, і потім на етапі 434. Альтернативно, якщо на етапі 486 визначено, що розмір передбаченого блока не 168, то процес 400 продовжується на етапі 490, де 816 перетворення виконується для блока, і потім на етапі 434. На етапі 434 однобітовий прапорець зі значенням 1 встановлюється для передачі в декодер. Згідно з процесом 400, значення прапорця відповідають наступним видам перетворення: 50 13 UA 99392 C2 Таблиця 2 Значення прапорця Немає прапорця 0 0 1 1 1 00 01 10 11 5 10 15 20 25 30 35 40 Розмір передбаченого блока 44, 48, 84 88 816, 168 88 816 168 1616 1616 1616 1616 Розмір перетворення/ зворотного перетворення 44 44 88 88 816 168 88 1616 168 816 Фахівцям повинно бути зрозуміло, що деякі з етапів процесу 400 можна опускати, або нові етапи додавати для забезпечення того ж самого результату. Додатково, деякі з етапів можна виконувати в іншому порядку. Треба також зазначити, що значення прапорця можна змінювати (наприклад, 00 може бути 1616 перетворенням, а 01-88 перетворенням). Фіг. 5 - зразковий варіант здійснення процесу 500 виконання зворотного перетворення в декодері 26 для блока, закодованого кодером 20, використовуючи процес 300. Декодер 26, який може включати в себе, серед інших компонентів, блок ентропійного декодування, блок просторового передбачення, блок компенсації руху, блок зворотного квантування, блок зворотного перетворення, блок ентропійного декодування і суматор, є одним із засобів виконання етапів процесу 500. Додатково, різні компоненти декодера 26 можуть використовуватися для виконання різних етапів процесу 500. На етапі 502 визначають, більший чи ні розмір передбаченого блока ніж 88. Якщо розмір передбаченого блока більший ніж 88, то процес переходить на етап 518, де декодер шукає 1-бітове або 2-бітове значення прапорця і виконує зворотне перетворення, основуючись на значенні прапорця і розмірі передбаченого блока. Тип зворотного перетворення для використання показаний в таблиці 1. Альтернативно, якщо на етапі 502 визначають, що розмір передбаченого блока не більший ніж 88, то процес 500 продовжується на етапі 506, де визначають, менший чи ні розмір передбаченого блока ніж 88. Якщо розмір передбаченого блока менший ніж 88, то процес 500 переходить до наступного етапу 510, де виконують 44 зворотне перетворення. Якщо замість цього на етапі 506 визначають, що розмір передбаченого блока не менший ніж 88, то процес переходить на етап 514, де декодер шукає 1-бітове значення прапорця і виконує зворотне перетворення, основуючись на значенні прапорця. Тип зворотного перетворення для використання показаний в таблиці 1. Фіг. 6 - зразковий варіант здійснення процесу 600 виконання зворотного перетворення в декодері 26 для блока, закодованого кодером 20, використовуючи процес 400. Декодер 26, який може бути процесором, є одним із засобів виконання етапів процесу 600. На етапі 602 визначають, більший чи ні розмір передбаченого блока ніж 88. Якщо розмір передбаченого блока більший ніж 88, то процес переходить на етап 618, де визначають, дорівнює чи ні розмір передбаченого блока 1616. Якщо розмір передбаченого блока дорівнює 1616, то процес 600 продовжується на етапі 622, де декодер шукає 2-бітове значення прапорця, і зворотне перетворення виконують для блока згідно із значенням прапорця. Тип зворотного перетворення для використання показаний в таблиці 2. Альтернативно, якщо на етапі 618 визначають, що розмір передбаченого блока не дорівнює 1616, то процес 600 продовжується на етапі 626, де декодер шукає 1-бітове значення прапорця, і зворотне перетворення виконують, основуючись на 1-бітовому значенні і розмірі зони руху. Тип зворотного перетворення для використання показаний в таблиці 2. Якщо на етапі 602 визначають, що розмір передбаченого блока не більший ніж 88, то процес 600 продовжується на етапі 606, де визначають, менший чи ні розмір передбаченого блока ніж 88. Якщо розмір передбаченого блока менший ніж 88, то процес 600 переходить до наступного етапу 610, де виконують зворотне перетворення 44. Якщо замість цього на етапі 606 визначають, що розмір передбаченого блока не менший ніж 88, то процес переходить до етапу 614, де декодер шукає 1-бітове значення прапорця і виконує зворотне перетворення, 14 UA 99392 C2 5 10 15 20 25 30 35 40 45 50 55 60 основуючись на значенні прапорця. Тип зворотного перетворення для використання показаний в таблиці 2. Процеси 300, 400, 500 і 600 описують певний синтаксис для визначення розміру перетворення для використання для відеоблока. Фахівцям повинно бути зрозуміло, що дані процеси є просто зразковими процесами кодування і декодування блоків і встановлення значень прапорця. Треба зазначити, що інші процеси з додатковими етапами, меншою кількістю етапів або із зміненими етапами можуть використовуватися для забезпечення того ж самого синтаксису, як показано або в таблиці 1, або в таблиці 2. Додатково, фахівці повинні визнати, що визначене значення прапорця, призначене кожному вказуванню перетворення, можна змінювати. Додатково, можна сформувати синтаксиси, аналогічні описаним в таблиці 1 і таблиці 2. Треба також зазначити, що додатковий розмір перетворення (наприклад, 3232) і розмір передбаченого блока (наприклад, 3232) можна використовувати для кодування і декодування блоків і встановлення значень прапорця. Наприклад, все ще використовуючи тільки 2 біти для значення прапорця, як описано вище, прапорець може вказувати розмір перетворення 3232. Наприклад, в процесі 300 на етапі 362 можна визначати, дорівнює чи ні розмір передбаченого блока 3232, і на етапі 370 можна визначати, дорівнює чи ні розмір передбаченого блока 1632. Етапи 366, 374 і 378 можна потім змінювати таким чином, що на кожному етапі відповідно 3232, 1632 або 3216 перетворення виконують для блока. Значення прапорця, встановлене на етапі 358, тому вказує перетворення або 3232, або 1632, або 3216 протилежно перетворенню або 1616, або 816, або 168. Додаткові зміни можна виконувати для вказування додатково розміру перетворення, використовуючи комбінацію значень прапорця і розміру передбаченого блока. Біти значення прапорця відсилають як частину закодованих відеоданих по каналу зв'язку 16. Залежно від схеми кодування розміщення бітів, значення прапорця може відрізнятися по бітовому потоку, що передається. Значення прапорця може бути частиною заголовка, що відсилається в декодер. Заголовок може містити додаткові синтаксичні елементи заголовка, які можуть ідентифікувати певні характеристики поточного відеоблока, такі як тип блока, режим передбачення, структура кодованого блока (CBP) для сигналу яскравості і сигналу кольоровості, розмір передбаченого блока і один або більше векторів руху. Ці синтаксичні елементи заголовка можна генерувати, наприклад, в блоці 37 ентропійного кодування в межах відеокодера 20. У одному з варіантів здійснення заголовок включає в себе біт для вказування, чи існують відмінні від нуля коефіцієнти в закодованому блоці. Якщо відмінні від нуля коефіцієнти існують, то заголовок також включає в себе біти, що вказують розмір перетворення. Якщо відмінні від нуля коефіцієнти не існують, то біти розміру перетворення не відсилають. У іншому варіанті здійснення елемент "розмір перетворення" відсилають в кожному заголовку незалежно від того, чи існують відмінні від нуля коефіцієнти. Методи, описані в даному розкритті, можна втілювати в апаратних засобах, програмному забезпеченні, вбудованому програмному забезпеченні або в будь-якій їх комбінації. Будь-які особливості, описані як блоки або компоненти, можна втілювати разом в інтегрованому логічному пристрої або окремо, як дискретні, але взаємодіючі логічні пристрої. При втіленні в програмному забезпеченні дані методи можна реалізувати, щонайменше частково, за допомогою комп'ютерозчитуваних носіїв, що містять команди, які при виконанні виконують один або більше описаних вище способів. Комп'ютерозчитуваний носій може бути частиною комп'ютерного програмного продукту, який може включати в себе пакувальний матеріал. Комп'ютерозчитуваний носій може містити оперативну пам'ять (ОП), таку як синхронна динамічна оперативна пам'ять (SDRAM), постійний запам'ятовуючий пристрій (ПЗП), енергозалежну оперативну пам'ять (NVRAM), електрично-стираний програмований постійний запам'ятовуючий пристрій (ЕСППЗП), флеш-пам'ять, магнітний або оптичний носій зберігання даних і т. п. Методи додатково або альтернативно можна реалізувати, щонайменше частково, за допомогою комп'ютерозчитуваного засобу зв'язку, який переносить або передає код у формі команд або структур даних, і до якого можна звернутися, зчитати і/або виконати за допомогою комп'ютера. Код можна виконувати за допомогою одного або більшої кількості процесорів, таких як один або більше процесорів цифрової обробки сигналів (ПЦОС), універсальних мікропроцесорів, спеціалізованих інтегральних схем (СпІС), програмованих користувачем логічних матриць (ПКВМ) або інших аналогічних інтегрованих або дискретних логічних схем. Відповідно, термін "процесор" може належати до будь-якої вказаної раніше структури або до будь-якої іншої структури, відповідної для реалізації описаних методів. Крім того, в деяких аспектах, описані 15 UA 99392 C2 5 10 функціональні можливості можна забезпечувати в межах спеціалізованих програмних блоків або апаратних блоків, конфігурованих для кодування і декодування, або впроваджувати в об'єднаний відеокодер-декодер (кодек). Опис різних особливостей, таких як блоки, призначений для виділення різних функціональних аспектів показаних пристроїв, і не має на увазі, що такі блоки повинні обов'язково бути реалізовані за допомогою окремих апаратних або програмних компонентів. Замість цього функціональні можливості, пов'язані з одним або великою кількістю блоків, можна об'єднувати в межах загальних або окремих апаратних або програмних компонентів. Були описані різні варіанти здійснення даного розкриття. Ці та інші варіанти здійснення знаходяться в рамках подальшої формули винаходу. ФОРМУЛА ВИНАХОДУ 15 20 25 30 35 40 45 50 55 1. Спосіб кодування відеоданих, причому спосіб включає етапи, на яких: застосовують просторове передбачення або компенсацію руху до початкового відеоблока в межах відеокадру для генерації передбаченого відеоблока, основуючись на режимі передбачення; віднімають передбачений відеоблок з початкового відеоблока в межах відеокадру для формування залишкового блока; вибирають перетворення, яке має перший розмір перетворення, для застосування до залишкового блока; генерують дані заголовка, які вказують вибране перетворення, причому дані заголовка містять перший синтаксичний елемент, що має перше значення, яке вказує щонайменше три розміри перетворення, і другий синтаксичний елемент, який вказує розмір передбаченого блока для згаданого передбаченого відеоблока, причому щонайменше три розміри перетворення містять щонайменше один розмір перетворення NxM, і щонайменше одне з М і N більше або дорівнює 16, при цьому перший синтаксичний елемент і другий синтаксичний елемент разом вказують перший розмір перетворення; застосовують вибране перетворення до залишкового блока для генерації залишкових коефіцієнтів перетворення; і генерують відеосигнал, основуючись на даних заголовка і залишкових коефіцієнтах перетворення. 2. Спосіб за п. 1, в якому дані заголовка додатково містять третій синтаксичний елемент, який вказує структуру кодованого блока, причому третій синтаксичний елемент містить друге значення, і при цьому перший синтаксичний елемент послідовно йде після третього синтаксичного елемента, якщо друге значення є ненульовим. 3. Спосіб за п. 1, в якому перше значення першого синтаксичного елемента відповідає множині розмірів перетворення. 4. Спосіб за п. 3, в якому перше значення відображається на перший розмір перетворення, основуючись на розмірі передбаченого блока для згаданого передбаченого відеоблока. 5. Спосіб за п. 1, в якому перший розмір перетворення має розмір XxY, причому X не дорівнює Y. 6. Спосіб за п. 5, в якому щонайменше один з X і Y дорівнює 8, і щонайменше один з X і Y дорівнює 16. 7. Спосіб за п. 1, в якому перший розмір перетворення дорівнює розміру передбаченого блока для згаданого передбаченого відеоблока. 8. Спосіб за п. 1, в якому перший розмір перетворення дорівнює NxM, і щонайменше одне з М і N більше або дорівнює 16. 9. Спосіб за п. 1, в якому генерація даних заголовка, які вказують вибране перетворення, включає етапи, на яких: визначають, чи більший розмір передбаченого блока, ніж перше порогове значення; і визначають, чи менший розмір передбаченого блока, ніж друге порогове значення. 10. Спосіб за п. 9, в якому перше порогове значення дорівнює 8×8, і друге порогове значення дорівнює 8×8. 11. Спосіб за п. 1, в якому генерація даних заголовка, які вказують вибране перетворення, включає етапи, на яких: визначають, чи більший розмір передбаченого блока, ніж перше порогове значення; і визначають, чи дорівнює розмір передбаченого блока другому значенню. 16 UA 99392 C2 5 10 15 20 25 30 35 40 45 50 55 60 12. Спосіб за п. 11, в якому перше порогове значення дорівнює 8×8, і друге порогове значення дорівнює 16×16. 13. Спосіб за п. 11, в якому перше порогове значення дорівнює 8×8, і друге порогове значення дорівнює 16×8. 14. Спосіб за п. 1, в якому вибране перетворення є цілочисельним перетворенням. 15. Спосіб за п. 1, в якому вибране перетворення є дискретним косинусним перетворенням. 16. Спосіб за п. 1, в якому вибране перетворення є спрямованим перетворенням. 17. Спосіб декодування відеоданих, причому спосіб включає етапи, на яких: приймають відеосигнал, який вказує щонайменше один блок в межах відеокадру, що містить дані заголовка для цього щонайменше одного блока і залишкові коефіцієнти перетворення для цього щонайменше одного блока, причому дані заголовка містять перший синтаксичний елемент, що має перше значення, яке вказує щонайменше три розміри перетворення, і другий синтаксичний елемент, який вказує розмір передбаченого блока цього щонайменше одного блока, причому щонайменше три розміри перетворення містять щонайменше один розмір перетворення NxM, і щонайменше одне з М і N більше або дорівнює 16, при цьому перший синтаксичний елемент і другий синтаксичний елемент разом вказують перетворення, яке має перший розмір перетворення, що використовується для кодування цього щонайменше одного блока; застосовують просторове передбачення або компенсацію руху щонайменше до одного блока для генерації передбаченого відеоблока з розміром передбаченого блока цього щонайменше одного блока; визначають перший розмір перетворення, що використовується для кодування цього щонайменше одного блока, основуючись на першому синтаксичному елементі і другому синтаксичному елементі; застосовують зворотне перетворення визначеного першого розміру перетворення до залишкових коефіцієнтів перетворення для отримання декодованого залишкового блока; і підсумовують декодований залишковий блок з передбаченим відеоблоком для отримання декодованого відеоблока. 18. Спосіб за п. 17, в якому дані заголовка додатково містять третій синтаксичний елемент, який вказує структуру кодованого блока, причому третій синтаксичний елемент містить друге значення, і при цьому перший синтаксичний елемент послідовно йде після третього синтаксичного елемента, якщо друге значення є ненульовим. 19. Спосіб за п. 17, в якому перше значення першого синтаксичного елемента відповідає множині розмірів перетворення. 20. Спосіб за п. 19, в якому перше значення відображається на перший розмір перетворення, основуючись на розмірі передбаченого блока для згаданого щонайменше одного блока. 21. Спосіб за п. 17, в якому перший розмір перетворення має розмір XxY, причому X не дорівнює Y. 22. Спосіб за п. 21, в якому щонайменше один з X і Y дорівнює 8, і щонайменше один з X і Y дорівнює 16. 23. Спосіб за п. 17, в якому перший розмір перетворення дорівнює розміру передбаченого блока для згаданого щонайменше одного блока. 24. Спосіб за п. 17, в якому перший розмір перетворення дорівнює NxM, і щонайменше одне з М і N більше або дорівнює 16. 25. Спосіб за п. 17, в якому визначення першого розміру перетворення включає етапи, на яких: визначають, чи більший розмір передбаченого блока, ніж перше порогове значення; і визначають, чи менший розмір передбаченого блока, ніж друге порогове значення. 26. Спосіб за п. 25, в якому перше порогове значення дорівнює 8×8, і друге порогове значення дорівнює 8×8. 27. Спосіб за п. 17, в якому визначення першого розміру перетворення включає етапи, на яких: визначають, чи більший розмір передбаченого блока, ніж перше порогове значення; і визначають, чи дорівнює розмір передбаченого блока другому значенню. 28. Спосіб за п. 27, в якому перше порогове значення дорівнює 8×8, і друге порогове значення дорівнює 16×16. 29. Спосіб за п. 27, в якому перше порогове значення дорівнює 8×8, і друге порогове значення дорівнює 16×8. 17 UA 99392 C2 5 10 15 20 25 30 35 40 45 50 55 60 30. Спосіб за п. 17, в якому зворотне перетворення є цілочисельним перетворенням. 31. Спосіб за п. 17, в якому зворотне перетворення є дискретним косинусним перетворенням. 32. Спосіб за п. 17, в якому зворотне перетворення є спрямованим перетворенням. 33. Пристрій для кодування відеоданих, причому пристрій містить: засіб застосування просторового передбачення або компенсації руху до початкового відеоблока в межах відеокадру для генерації передбаченого відеоблока, основуючись на режимі передбачення; засіб віднімання передбаченого відеоблока з початкового відеоблока в межах відеокадру для формування залишкового блока; засіб вибору перетворення, що має перший розмір перетворення, для застосування до залишкового блока; засіб генерації даних заголовка, які вказують вибране перетворення, причому дані заголовка містять перший синтаксичний елемент, що має перше значення, яке вказує щонайменше три розміри перетворення, і другий синтаксичний елемент, який вказує розмір передбаченого блока для згаданого передбаченого відеоблока, причому щонайменше три розміри перетворення містять щонайменше один розмір перетворення NxM, і щонайменше одне з М і N більше або дорівнює 16, при цьому перший синтаксичнийелемент і другий синтаксичний елемент разом вказують перший розмір перетворення; засіб застосування вибраного перетворення до залишкового блока для генерації залишкових коефіцієнтів перетворення; і засіб генерації відеосигналу, основуючись на даних заголовка і залишкових коефіцієнтах перетворення. 34. Пристрій за п. 33, в якому засіб застосування просторового передбачення або компенсації руху містить блок передбачення, засіб віднімання містить суматор, засіб вибору розміру перетворення містить блок визначення режиму, засіб генерації даних заголовка містить блок ентропійного кодування, засіб застосування вибраного перетворення містить блок перетворення блоків, і засіб генерації відеосигналу містить блок ентропійного кодування. 35. Пристрій для декодування відеоданих, причому пристрій містить: засіб прийому відеосигналу, який вказує щонайменше один блок в межах відеокадру, який містить дані заголовка для цього щонайменше одного блока і залишкові коефіцієнти перетворення для цього щонайменше одного блока, причому дані заголовка містять перший синтаксичний елемент, який має перше значення, яке вказує щонайменше три розміри перетворення, і другий синтаксичний елемент, який вказує розмір області перетворення цього щонайменше одного блока, причому щонайменше три розміри перетворення містять щонайменше один розмір перетворення NxM, і щонайменше одне з М і N більше або дорівнює 16, при цьому перший синтаксичний елемент і другий синтаксичний елемент разом вказують перетворення, яке має перший розмір перетворення, що використовується для кодування цього щонайменше одного блока; засіб застосування просторового передбачення або компенсації руху до цього щонайменше одного блока для генерації передбаченого відеоблока з розміром передбаченого блока цього щонайменше одного блока; засіб визначення першого розміру перетворення, що використовується для кодування цього щонайменше одного блока, основуючись на першому синтаксичному елементі і другому синтаксичному елементі; засіб застосування зворотного перетворення визначеного першого розміру перетворення до залишкових коефіцієнтів перетворення для отримання декодованого залишкового блока; і засіб підсумовування декодованого залишкового блока з передбаченим відеоблоком для отримання декодованого відеоблока. 36. Пристрій за п. 35, в якому засіб прийому містить приймач, засіб застосування просторового передбачення або компенсації руху містить блок передбачення, засіб визначення першого розміру перетворення містить блок ентропійного декодування, засіб застосування зворотного перетворення містить блок зворотного перетворення, і засіб підсумовування містить суматор. 37. Система кодування відеоданих, причому система містить: блок передбачення, конфігурований для застосування просторового передбачення або компенсації руху до початкового відеоблока в межах відеокадру для генерації передбаченого відеоблока; суматор, конфігурований для віднімання передбаченого відеоблока з початкового відеоблока в межах відеокадру для формування залишкового блока; 18 UA 99392 C2 5 10 15 20 25 30 35 40 45 50 55 блок визначення режиму, конфігурований для вибору перетворення, що має перший розмір перетворення, для застосування до залишкового блока; блок перетворення блоків, конфігурований для застосування вибраного перетворення до залишкового блока для генерації залишкових коефіцієнтів перетворення; і блок ентропійного кодування, конфігурований для: генерації даних заголовка, які вказують вибране перетворення, причому дані заголовка містять перший синтаксичний елемент, який має перше значення, яке вказує щонайменше три розміри перетворення, і другий синтаксичний елемент, який вказує розмір передбаченого відеоблока для згаданого передбаченого блока, причому щонайменше три розміри перетворення містять щонайменше один розмір перетворення NxM, і щонайменше одне з М і N більше або дорівнює 16, при цьому перший синтаксичний елемент і другий синтаксичний елемент разом вказують перший розмір перетворення; і генерації відеосигналу, основуючись на даних заголовка і залишкових коефіцієнтах перетворення. 38. Система за п. 37, в якій дані заголовка додатково містять третій синтаксичний елемент, який вказує структуру кодованого блока, причому третій синтаксичний елемент містить друге значення, і в якій перший синтаксичний елемент послідовно йде після третього синтаксичного елемента, якщо друге значення є ненульовим. 39. Система за п. 37, в якій перше значення першого синтаксичного елемента відповідає множині розмірів перетворення. 40. Система за п. 39, в якій перше значення відображається на перший розмір перетворення, основуючись на розмірі передбаченого блока для згаданого передбаченого відеоблока. 41. Система за п. 37, в якій перший розмір перетворення має розмір XxY, причому X не дорівнює Y. 42. Система за п. 41, в якій щонайменше один з X і Y дорівнює 8, і щонайменше один з X і Y дорівнює 16. 43. Система за п. 37, в якій перший розмір перетворення дорівнює розміру передбаченого блока для згаданого передбаченого відеоблока. 44. Система за п. 37, в якій перший розмір перетворення дорівнює NxM, і щонайменше одне з М і N більше або дорівнює 16. 45. Система за п. 37, в якій блок ентропійного кодування додатково конфігурований для визначення, чи більший розмір передбаченого блока, ніж перше порогове значення, і для визначення, чи менший розмір передбаченого блока, ніж друге порогове значення. 46. Система за п. 45, в якій перше порогове значення дорівнює 8×8, і друге порогове значення дорівнює 8×8. 47. Система за п. 37, в якій блок ентропійного кодування додатково конфігурований для визначення, чи більший розмір передбаченого блока, ніж перше порогове значення, і для визначення, чи дорівнює розмір передбаченого блока другому значенню. 48. Система за п. 47, в якій перше порогове значення дорівнює 8×8, і друге порогове значення дорівнює 16×16. 49. Система за п. 47, в якій перше порогове значення дорівнює 8×8, і друге порогове значення дорівнює 16×8. 50. Система за п. 37, в якій вибране перетворення є цілочисельним перетворенням. 51. Система за п. 37, в якій вибране перетворення є дискретним косинусним перетворенням. 52. Система за п. 37, в якій вибране перетворення є спрямованим перетворенням. 53. Система для декодування відеоданих, причому система містить: приймач, конфігурований для прийому відеосигналу, який вказує щонайменше один блок в межах відеокадру, що містить дані заголовка для цього щонайменше одного блока і залишкові коефіцієнти перетворення для цього щонайменше одного блока, причому дані заголовка містять перший синтаксичний елемент, який має перше значення, яке вказує щонайменше три розміри перетворення, і другий синтаксичний елемент, який вказує розмір передбаченого блока для цього щонайменше одного блока, причому щонайменше три розміри перетворення містять щонайменше один розмір перетворення NxM, і щонайменше одне з М і N більше або дорівнює 16, при цьому перший синтаксичний елемент і другий синтаксичний елемент разом вказують перетворення, що має перший розмір перетворення, що використовується для кодування цього щонайменше одного блока; 19 UA 99392 C2 5 10 15 20 25 30 35 40 45 50 55 60 блок передбачення, конфігурований для застосування просторового передбачення або компенсації руху до цього щонайменше одного блока для генерації передбаченого відеоблока з розміром передбаченого блока цього щонайменше одного блока; блок ентропійного декодування, конфігурований для визначення першого розміру перетворення, що використовується для кодування цього щонайменше одного блока, основуючись на першому синтаксичному елементі і другому синтаксичному елементі; блок зворотного перетворення, конфігурований для застосування зворотного перетворення з визначеним першим розміром перетворення до залишкових коефіцієнтів перетворення для отримання декодованого залишкового блока; і суматор, конфігурований для підсумовування декодованого залишкового блока з передбаченим відеоблоком для отримання декодованого відеоблока. 54. Система за п. 53, в якій дані заголовка додатково містять третій синтаксичний елемент, який вказує структуру кодованого блока, причому третій синтаксичний елемент містить друге значення, і при цьому перший синтаксичний елемент послідовно йде після третього синтаксичного елемента, якщо друге значення є ненульовим. 55. Система за п. 53, в якій перше значення першого синтаксичного елемента відповідає множині розмірів перетворення. 56. Система за п. 55, в якій перше значення відображається на перший розмір перетворення, основуючись на розмірі передбаченого блока для згаданого щонайменше одного блока. 57. Система за п. 53, в якій перший розмір перетворення має розмір XxY, причому X не дорівнює Y. 58. Система за п. 57, в якій щонайменше один з X і Y дорівнює 8, і щонайменше один з X і Y дорівнює 16. 59. Система за п. 53, в якій перший розмір перетворення дорівнює розміру передбаченого блока для згаданого щонайменше одного блока. 60. Система за п. 53, в якій перший розмір перетворення дорівнює NxM, і щонайменше одне з М і N більше або дорівнює 16. 61. Система за п. 53, в якій блок ентропійного декодування додатково конфігурований для визначення, чи більший розмір передбаченого блока, ніж перше порогове значення, і для визначення, чи менший розмір передбаченого блока, ніж друге порогове значення. 62. Система за п. 61, в якій перше порогове значення дорівнює 8×8, і друге порогове значення дорівнює 8×8. 63. Система за п. 53, в якій блок ентропійного декодування додатково конфігурований для визначення, чи більший розмір передбаченого блока, ніж перше порогове значення, і для визначення, чи дорівнює розмір передбаченого блока другому значенню. 64. Система за п. 63, в якій перше порогове значення дорівнює 8×8, і друге порогове значення дорівнює 16×16. 65. Система за п. 63, в якій перше порогове значення дорівнює 8×8, і друге порогове значення дорівнює 16×8. 66. Система за п. 53, в якій зворотне перетворення є цілочисельним перетворенням. 67. Система за п. 53, в якій зворотне перетворення є дискретним косинусним перетворенням. 68. Система за п. 53, в якій зворотне перетворення є спрямованим перетворенням. 69. Зчитуваний комп'ютером носій, який містить команди, які при виконанні виконують спосіб, який включає етапи: застосування просторового передбачення або компенсації руху до початкового відеоблока в межах відеокадру для генерації передбаченого відеоблока, основуючись на режимі передбачення; віднімання передбаченого відеоблока з початкового відеоблока в межах відеокадру для формування залишкового блока; вибору перетворення, яке має перший розмір перетворення, для застосування до залишкового блока; генерації даних заголовка, які вказують вибране перетворення, причому дані заголовка містять перший синтаксичний елемент, який має перше значення, яке вказує щонайменше три розміри перетворення, і другий синтаксичний елемент, який вказує розмір передбаченого блока для згаданого передбаченого відеоблока, причому щонайменше три розміри перетворення містять щонайменше один розмір перетворення NxM, і щонайменше одне з М і N більше або дорівнює 16, при цьому перший синтаксичний елемент і другий синтаксичний елемент разом вказують перший розмір перетворення; 20 UA 99392 C2 5 10 15 20 25 застосування вибраного перетворення до залишкового блока для генерації залишкових коефіцієнтів перетворення; і генерації відеосигналу, основуючись на даних заголовка і залишкових коефіцієнтах перетворення. 70. Зчитуваний комп'ютером носій, який містить команди, які при виконанні виконують спосіб, який включає етапи: прийому відеосигналу, який вказує щонайменше один блок в межах відеокадру, який містить дані заголовка для цього щонайменше одного блока і залишкові коефіцієнти перетворення для цього щонайменше одного блока, причому дані заголовка містять перший синтаксичний елемент, який має перше значення, яке вказує щонайменше три розміри перетворення, і другий синтаксичний елемент, який вказує розмір передбаченого блока для цього щонайменше одного блока, причому щонайменше три розміри перетворення містять щонайменше один розмір перетворення NxM, і щонайменше одне з М і N більше або дорівнює 16, при цьому перший синтаксичний елемент і другий синтаксичний елемент разом вказують перетворення, яке має перший розмір перетворення, що використовується для кодування щонайменше одного блока; застосування просторового передбачення або компенсації руху до цього щонайменше одного блока для генерації передбаченого відеоблока з розміром передбаченого блока цього щонайменше одного блока; визначення першого розміру перетворення, що використовується для кодування цього щонайменше одного блока, основуючись на першому синтаксичному елементі і другому синтаксичному елементі; застосування зворотного перетворення з визначеним першим розміром перетворення до залишкових коефіцієнтів перетворення для отримання декодованого залишкового блока; і підсумовування декодованого залишкового блока з передбаченим відеоблоком для отримання декодованого відеоблока. 21 UA 99392 C2 22 UA 99392 C2 23 UA 99392 C2 Комп’ютерна верстка Л. Купенко Державна служба інтелектуальної власності України, вул. Урицького, 45, м. Київ, МСП, 03680, Україна ДП “Український інститут промислової власності”, вул. Глазунова, 1, м. Київ – 42, 01601 24

Дивитися

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

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

Video coding using transforms bigger than 4x4 and 8x8

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

Ye, Yan, Chen, Peisong, Karczewicz, Marta

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

Видеокодирование с использованием преобразования, большего чем 4x4 i 8x8

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

Э Янь, Чень Пейсун, Карчевич Марта

МПК / Мітки

МПК: H04N 7/26

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

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

<a href="https://ua.patents.su/26-99392-videokoduvannya-z-vikoristannyam-peretvorennya-bilshogo-nizh-4x4-i-8x8.html" target="_blank" rel="follow" title="База патентів України">Відеокодування з використанням перетворення, більшого ніж 4×4 і 8×8</a>

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