СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ

1. Способ для кодирования данных изображения на поблочной основе, упомянутый способ содержит этапы, на которых:
разбивают данные изображения на множество блоков;
формируют предсказанный блок посредством предсказания текущего блока, который является одним из множества блоков;
вычисляют разность между текущим блоком и предсказанным блоком;
кодируют разность, вычисленную при упомянутом вычислении;
декодируют разность, закодированную при упомянутом кодировании; и
складывают разность, декодированную при упомянутом декодировании, с предсказанным блоком для того, чтобы сформировать декодированный блок,
при этом упомянутое формирование включает в себя этапы, на которых:
выявляют границу в ранее декодированном блоке, соответствующем блоку, смежному с текущим блоком; и
экстраполируют или интерполируют ранее декодированные данные изображения вдоль направления границы, выявленной при упомянутом выявлении, для того чтобы сформировать предсказанный блок, ранее декодированные данные изображения соответствуют пикселю, включенному в блок, смежный с текущим блоком.
2. Способ для кодирования данных изображения по п.1,
в котором ранее декодированные данные изображения являются линейно экстраполированными или интерполированными при упомянутой экстраполяции или интерполяции для того, чтобы сформировать предсказанный блок.
3. Способ для кодирования данных изображения по п.2,
в котором взвешенную сумму из, по меньшей мере, 2 значений пикселей из множества декодированных пикселей, включенных в ранее декодированные данные изображения, вычисляют для каждого предсказанного пикселя, включенного в предсказанный блок, и вычисленную взвешенную сумму экстраполируют или интерполируют для того, чтобы сформировать предсказанный блок при упомянутой экстраполяции или интерполяции, и
весовые коэффициенты для вычисления взвешенной суммы определяют согласно направлению границы, выявленной при упомянутом выявлении.
4. Способ для кодирования данных изображения по п.3,
в котором тем большее значение присваивают каждому из весовых коэффициентов, чем меньше расстояние от одного из множества декодированных пикселей до одного из предсказанных пикселей, множество декодированных пикселей соответствующим образом соответствуют весовым коэффициентам.
5. Способ для кодирования данных изображения по п.4,
в котором, по меньшей мере, 2 границы, имеющие направления, отличные друг от друга, выявляют при упомянутом выявлении, и
значения пикселей из множества декодированных пикселей для экстраполяции или интерполяции вдоль направлений, по меньшей мере, 2 границ, объединяют для каждого из предсказанных пикселей, и объединенные значения пикселей экстраполируют или интерполируют для того, чтобы сформировать предсказанный блок при упомянутой экстраполяции или интерполяции.
6. Способ для кодирования данных изображения по п.5,
в котором взвешенную сумму вычисляют для каждого из предсказанных пикселей посредством умножения каждого из весовых коэффициентов на соответствующее одно из значений пикселей из множества декодированных пикселей, и вычисленную взвешенную сумму экстраполируют или интерполируют для того, чтобы сформировать предсказанный блок при упомянутой экстраполяции или интерполяции, и
тем большее значение присваивают каждому из весовых коэффициентов, чем меньше расстояние от одного из множества декодированных пикселей до ранее декодированного блока, в котором выявлена одна из, по меньшей мере, 2 границ, множество декодированных пикселей соответствующим образом соответствуют весовым коэффициентам.
7. Способ для кодирования данных изображения по п.6,
в котором тем большее значение присваивают каждому из весовых коэффициентов, чем меньше расстояние от одного из множества декодированных пикселей до продолжения одной из, по меньшей мере, 2 границ, множество декодированных пикселей соответствующим образом соответствуют весовым коэффициентам.
8. Способ для кодирования данных изображения по п.1,
в котором упомянутое формирование дополнительно включает в себя этапы, на которых:
выбирают один из множества режимов предсказания, включая режим предсказания границы, и,
когда выбран режим предсказания границы, ранее декодированные данные изображения экстраполируют или интерполируют вдоль направления границы, выявленной при упомянутом выявлении, для того чтобы сформировать предсказанный блок при упомянутой экстраполяции или интерполяции.
9. Способ для кодирования данных изображения по п.8,
в котором множество режимов предсказания дополнительно включает в себя режим DC предсказания и множество режимов предсказания по направлению, которые были предварительно заданы, и
при упомянутой экстраполяции или интерполяции значения пикселей ранее декодированных данных изображения усредняют, для того чтобы сформировать предсказанный блок, когда выбран режим DC предсказания, и ранее декодированные данные изображения экстраполируют вдоль направления, соответствующего выбранному одному из множества режимов предсказания по направлению, для того, чтобы сформировать предсказанный блок, когда выбран один из множества режимов предсказания по направлению.
10. Способ для кодирования данных изображения по п.9,
в котором при упомянутом выборе:
(I) выбирают один из режима предсказания границы и множества режимов предсказания по направлению, когда при упомянутом выявлении граница выявлена; и
(II) выбирают один из режима DC предсказания и множества режимов предсказания по направлению, когда при упомянутом выявлении граница не выявлена.
11. Способ для кодирования данных изображения по п.10,
в котором при упомянутом кодировании:
(I) когда при упомянутом выборе выбран один из множества режимов по направлению, кодируют указатель режима, указывающий выбранный один из множества режимов предсказания по направлению; и
(II) когда выбран один из режима DC предсказания и режима предсказания границы, кодируют указатель режима, указывающий выбранный один из режима DC предсказания и режима предсказания границы.
12. Способ для кодирования данных изображения по п.9,
в котором при упомянутом выборе:
выбирают один из режима предсказания границы и множества режимов предсказания по направлению, когда выявлена граница при упомянутом выявлении, и направление границы, выявленной при упомянутом выявлении, указывает на текущий блок; и
выбирают один из режима DC предсказания и множества режимов предсказания по направлению, когда (I) граница не выявлена при упомянутом выявлении, или (II) граница выявлена при упомянутом выявлении, а направление границы, выявленной при упомянутом выявлении, не указывает на текущий блок.
13. Способ для кодирования данных изображения по п.1,
в котором упомянутое выявление включает в себя этапы, на которых:
вычисляют вектор градиента для каждого из множества пикселей, включенных в ранее декодированный блок, соответствующий блоку, смежному с текущим блоком;
определяют, удовлетворяет ли, по меньшей мере, один из векторов градиента, вычисленных при упомянутом вычислении, условиям, что (I) норма, по меньшей мере, одного из векторов градиента превышает предопределенный порог, и (II) вектор, имеющий направление, перпендикулярное направлению, по меньшей мере, одного из векторов градиента, указывает на текущий блок; и
выявляют границу, имеющую направление, перпендикулярное направлению, по меньшей мере, одного из векторов градиента, когда, по меньшей мере, один из векторов градиента, вычисленных при упомянутом вычислении, удовлетворяет условиям при упомянутом определении.
14. Способ для кодирования данных изображения по п.13,
в котором при упомянутом выявлении границы, имеющей направление, направление границы определяют на основании направления вектора градиента, имеющего наибольшую норму, вектор градиента соответствует одному из, по меньшей мере, одного из векторов градиента, удовлетворяющих условиям.
15. Способ для кодирования данных изображения по п.13,
в котором при упомянутом выявлении границы, имеющей направление, направление границы определяют на основании направления, полученного посредством усреднения направлений, по меньшей мере, одного из векторов градиента, удовлетворяющих условиям.
16. Способ для декодирования данных изображения, включающих в себя закодированный остаток предсказания, на поблочной основе, упомянутый способ содержит этапы, на которых:
декодируют остаток предсказания текущего блока;
формируют предсказанный блок посредством предсказания текущего блока; и
складывают предсказанный блок, сформированный при упомянутом формировании, с остатком предсказания, декодированным при упомянутом декодировании, для того чтобы сформировать декодированный блок,
при этом упомянутое формирование включает в себя этапы, на которых:
выявляют границы в ранее декодированном блоке, соответствующем блоку, смежному с текущим блоком; и
экстраполируют или интерполируют ранее декодированные данные изображения вдоль направления границы, выявленной при упомянутом выявлении, для того чтобы сформировать предсказанный блок, ранее декодированные данные изображения соответствуют пикселю, включенному в блок, смежный с текущим блоком.
17. Способ для декодирования данных изображения по п.16,
в котором ранее декодированные данные изображения линейно экстраполируют или интерполируют при упомянутой экстраполяции или интерполяции для того, чтобы сформировать предсказанный блок.
18. Способ для декодирования данных изображения по п.17,
в котором для каждого предсказанного пикселя, включенного в предсказанный блок, вычисляют взвешенную сумму из, по меньшей мере, 2 значений пикселей из множества декодированных пикселей, включенных в ранее декодированные данные изображения, и вычисленную взвешенную сумму экстраполируют или интерполируют для того, чтобы сформировать предсказанный блок при упомянутой экстраполяции или интерполяции, и
весовые коэффициенты для вычисления взвешенной суммы определяют согласно направлению границы, выявленной при упомянутом выявлении.
19. Способ для декодирования данных изображения по п.18,
в котором тем большее значение присваивают каждому из весовых коэффициентов, чем меньше расстояние от одного из множества декодированных пикселей до одного из предсказанных пикселей, множество декодированных пикселей соответствующим образом соответствуют весовым коэффициентам.
20. Способ для декодирования данных изображения по п.19,
в котором при упомянутом выявлении выявляют, по меньшей мере, 2 границы, имеющие направления, отличные друг от друга, и
значения пикселей из множества декодированных пикселей для экстраполяции или интерполяции вдоль направлений, по меньшей мере, 2 границ, объединяют для каждого из предсказанных пикселей, и объединенные значения пикселей экстраполируют или интерполируют для того, чтобы сформировать предсказанный блок при упомянутой экстраполяции или интерполяции.
21. Способ для декодирования данных изображения по п.20,
в котором для каждого из предсказанных пикселей вычисляют взвешенную сумму посредством умножения каждого из весовых коэффициентов на соответствующее одно из значений пикселей из множества декодированных пикселей, и вычисленную взвешенную сумму экстраполируют или интерполируют для того, чтобы сформировать предсказанный блок при упомянутой экстраполяции или интерполяции, и
тем большее значение присваивают каждому из весовых коэффициентов, чем меньше расстояние от одного из множества декодированных пикселей до ранее декодированного блока, в котором выявлена одна из, по меньшей мере, 2 границ, множество декодированных пикселей соответствующим образом соответствует весовым коэффициентам.
22. Способ для декодирования данных изображения по п.21,
в котором тем большее значение присваивают каждому из весовых коэффициентов, чем меньше расстояние от одного из множества декодированных пикселей до продолжения одной из, по меньшей мере, 2 границ, множество декодированных пикселей соответствующим образом соответствуют весовым коэффициентам.
23. Способ для декодирования данных изображения по п.16,
в котором упомянутое формирование дополнительно включает в себя этапы, на которых:
выбирают один из множества режимов предсказания, включающих в себя режим предсказания границы, и,
когда выбран режим предсказания границы, ранее декодированные данные изображения экстраполируют или интерполируют вдоль направления границы, выявленной при упомянутом выявлении, для того чтобы сформировать предсказанный блок при упомянутой экстраполяции или интерполяции.
24. Способ для декодирования данных изображения по п.23,
в котором множество режимов предсказания дополнительно включает в себя режим DC предсказания и множество режимов предсказания по направлениям, которые были предварительно заданы, и
при упомянутой экстраполяции или интерполяции значения пикселей ранее декодированных данных изображения усредняются для того, чтобы сформировать предсказанный блок, когда выбран режим DC предсказания, и ранее декодированные данные изображения экстраполируют вдоль направления, соответствующего выбранному одному из множества режимов предсказания по направлению, для того, чтобы сформировать предсказанный блок, когда выбран один из множества режимов предсказания по направлению.
25. Способ для декодирования данных изображения по п.24,
в котором при упомянутом выборе:
(I) выбирают один из режима предсказания границы и множества режимов предсказания по направлению, когда при упомянутом выявлении граница выявлена; и
(II) выбирают один из режима DC предсказания и множества режимов предсказания по направлению, когда при упомянутом выявлении граница не выявлена.
26. Способ для декодирования данных изображения по п.25,
в котором данные изображения дополнительно включают в себя указатель режима предсказания, указывающий режим предсказания, и
(II) при упомянутом выборе выбирают режим предсказания границы, когда указатель режима предсказания указывает один из режима DC предсказания и режима предсказания границы, и при упомянутом выявлении граница выявлена, и выбирают режим DC предсказания, когда при упомянутом выявлении граница не выявлена.
27. Способ для декодирования данных изображения по п.24,
в котором при упомянутом выборе:
выбирают один из режима предсказания границы и множества режимов предсказания по направлению, когда при упомянутом выявлении граница выявлена, и направление границы, выявленной при упомянутом выявлении, указывает на текущий блок; и
выбирают один из режима DC предсказания и множества режимов предсказания по направлению, когда (I) при упомянутом выявлении граница не выявлена или (II) граница выявлена при упомянутом выявлении, а направление границы, выявленной при упомянутом выявлении, не указывает на текущий блок.
28. Способ для декодирования данных изображения по п.16,
в котором упомянутое выявление включает в себя этапы, на которых:
вычисляют вектор градиента для каждого из множества пикселей, включенных в ранее декодированный блок, соответствующий блоку, смежному с текущим блоком;
определяют, удовлетворяет ли, по меньшей мере, один из векторов градиента, вычисленных при упомянутом вычислении, условиям, что (I) норма, по меньшей мере, одного вектора градиента превышает предопределенный порог и (II) вектор, имеющий направление, перпендикулярное направлению, по меньшей мере, одного из векторов градиента, указывает на текущий блок; и
выявляют границу, имеющую направление, перпендикулярное направлению, по меньшей мере, одного из векторов градиента, когда, по меньшей мере, один из векторов градиента, вычисленных при упомянутом вычислении, удовлетворяет условиям при упомянутом определении.
29. Способ для декодирования данных изображения по п.28,
в котором при упомянутом выявлении границы, имеющей направление, направление границы определяют на основании направления вектора градиента, имеющего наибольшую норму, вектор градиента соответствует одному из, по меньшей мере, одного из векторов градиента, удовлетворяющих условиям.
30. Способ для декодирования данных изображения по п.28,
в котором при упомянутом выявлении границы, имеющей направление, направление границы определяют на основании направления, полученного посредством усреднения направлений, по меньшей мере, одного из векторов градиента, удовлетворяющих условиям.
31. Устройство кодирования изображения, которое кодирует данные изображения на поблочной основе, упомянутое устройство содержит:
модуль разбиения, сконфигурированный, чтобы разбивать данные изображения на множество блоков;
модуль формирования, сконфигурированный, чтобы формировать предсказанный блок посредством предсказания текущего блока, который является одним из множества блоков;
модуль вычисления, сконфигурированный, чтобы вычислять разность между текущим блоком и предсказанным блоком;
модуль кодирования, сконфигурированный, чтобы кодировать разность, вычисленную упомянутым модулем вычисления;
модуль декодирования, сконфигурированный, чтобы декодировать разность, закодированную упомянутым модулем кодирования; и
модуль сложения, сконфигурированный, чтобы складывать разность, декодированную упомянутым модулем декодирования, с предсказанным блоком для того, чтобы сформировать декодированный блок,
при этом упомянутый модуль формирования включает в себя:
модуль выявления, сконфигурированный, чтобы выявлять границу в ранее декодированном блоке, соответствующем блоку, смежному с текущим блоком; и
модуль экстраполяции или интерполяции, сконфигурированный, чтобы экстраполировать или интерполировать ранее декодированные данные изображения вдоль направления границы, выявленной упомянутым модулем выявления, для того чтобы сформировать предсказанный блок, ранее декодированные данные изображения соответствуют пикселю, включенному в блок, смежный с текущим блоком.
32. Устройство декодирования изображения, которое декодирует данные изображения, включающие в себя закодированный остаток предсказания, на поблочной основе, упомянутое устройство содержит:
модуль декодирования, сконфигурированный, чтобы декодировать остаток предсказания текущего блока;
модуль формирования, сконфигурированный, чтобы формировать предсказанный блок посредством предсказания текущего блока; и
модуль сложения, сконфигурированный, чтобы складывать предсказанный блок, сформированный упомянутым модулем формирования, с остатком предсказания, декодированным упомянутым модулем декодирования, для того чтобы сформировать декодированный блок,
при этом упомянутый модуль формирования включает в себя:
модуль выявления, сконфигурированный, чтобы выявлять границу в ранее декодированном блоке, соответствующем блоку, смежному с текущим блоком; и
модуль экстраполяции или интерполяции, сконфигурированный, чтобы экстраполировать или интерполировать ранее декодированные данные изображения вдоль направления границы, выявленной при упомянутом выявлении, для того чтобы сформировать предсказанный блок, ранее декодированные данные изображения соответствуют пикселю, включенному в блок, смежный с текущим блоком.
33. Устройство кодирования и декодирования, содержащее:
устройство кодирования изображения по п.31; и
устройство декодирования изображения по п.32.
34. Считываемый компьютером носитель, содержащий коды, заставляющие компьютер исполнять способ для кодирования данных изображения на поблочной основе, упомянутые коды заставляют компьютер исполнять:
разбиение данных изображения на множество блоков;
формирование предсказанного блока посредством предсказания текущего блока, который является одним из множества блоков;
вычисление разности между текущим блоком и предсказанным блоком;
кодирование разности, вычисленной при вычислении;
декодирование разности, закодированной при кодировании; и
сложение разности, декодированной при декодировании, с предсказанным блоком для того, чтобы сформировать декодированный блок,
при этом формирование включает в себя:
выявление границы в ранее декодированном блоке, соответствующем блоку, смежному с текущим блоком; и
экстраполяцию или интерполяцию ранее декодированных данных изображения вдоль направления границы, выявленной при выявлении, для того чтобы сформировать предсказанный блок, ранее декодированные данные изображения соответствуют пикселю, включенному в блок, смежный с текущим блоком.
35. Считываемый компьютером носитель, содержащий коды, заставляющие компьютер исполнять способ для декодирования данных изображения, включающих в себя закодированный остаток предсказания, на поблочной основе, упомянутые коды заставляют компьютер исполнять:
декодирование остатка предсказания текущего блока;
формирование предсказанного блока посредством предсказания текущего блока; и
сложение предсказанного блока, сформированного при формировании, с остатком предсказания, декодированным при декодировании, для того чтобы сформировать декодированный блок,
при этом формирование включает в себя:
выявление границы в ранее декодированном блоке, соответствующем блоку, смежному с текущим блоком; и
экстраполяцию или интерполяцию ранее декодированных данных изображения вдоль направления границы, выявленной при выявлении, для того чтобы сформировать предсказанный блок, ранее декодированные данные изображения соответствуют пикселю, включенному в блок, смежный с текущим блоком.