Способ кодирования видеоизображения, способ декодирования видеоизображения, устройство кодирования и устройство декодирования

Изобретение относится к вычислительной технике. Технический результат заключается в сокращении объема данных и количества занятых битов при кодировании и декодировании. Способ декодирования видеоизображения, в котором определяют группу векторов движения и вектор передачи модели движения текущего блока декодирования согласно битовому потоку; определяют значения предсказания первого набора компонент вектора инициализации модели движения текущего блока декодирования; и определяют вектор оптимизации модели движения текущего блока декодирования; при этом дополнительно определяют точность квантования модели движения текущего блока декодирования, квантуют вектор оптимизации модели движения согласно точности квантования модели движения, и декодируют текущий блок декодирования согласно квантованному вектору оптимизации модели движения, а также определяют точность квантования модели движения согласно размеру текущего блока декодирования и информации точности, причем размер текущего блока декодирования представляет собой ширину текущего блока декодирования и высоту текущего блока декодирования и информация точности содержит точность квантования группы векторов движения. 2 н. и 12 з.п. ф-лы, 8 ил., 1 табл.

 

Область техники, к которой относится изобретение

[0001] настоящее изобретение относится к области обработки видеоизображения, и, в частности, к способу кодирования видеоизображения, способу декодирования видеоизображения, устройству кодирования, и устройству декодирования.

Уровень техники

[0002] в различных видеокодеках, оценка движения/компенсация движения является ключевой технологией, которая оказывает влияние на производительность кодирования. В существующих различных видеокодеках, при предположении, что объект всегда имеет поступательное движение, и что все части всего объекта перемещаются в одном и том же направлении и при одной и той же скорости, используется способ основанной на блоках компенсации движения. Однако все эти способы основываются на модели поступательного движения (translational motion model), и улучшения делаются на основе способа основанной на блоках компенсации движения. В реальном мире, движения являются разнообразными. Нерегулярные движения, такие как аффинное движение, масштабирование, вращение, и сдвиговая деформация являются универсальными. Существование этих движений портит эффекты предсказания движения основанной на блоках компенсации движения. С 1990-ых, эксперты по кодированию видео осознали, что нерегулярные движения являются универсальными, и ввели модель нерегулярного движения, такую как модель аффинного движения, чтобы улучшить эффективность кодирования видео.

[0003] в предшествующем уровне техники, для кодирования используется модель аффинного движения. Согласно принципу оптимизации отношения вносимых искажений к скорости потока, лагранжевы стоимости в использовании аффинной параметрической модели для кодирования текущего блока могут сравниваться со стоимостями в использовании другой модели в кодере. Если стоимости в кодировании посредством использования аффинной параметрической модели меньше, чем стоимости в другой модели кодирования, аффинная параметрическая модель в конечном счете выбирается для кодирования текущего блока. Квантованный параметр аффинной модели кодируется в битовый поток, чтобы декодер мог использовать параметр, чтобы восстанавливать текущий блок. Однако в предшествующем уровне техники, должна использоваться параметрическая модель аффинного движения с шестью параметрами, то есть, в каждом блоке требуются дополнительные биты, чтобы кодировать шесть параметров модели аффинного движения. Это ограничивает дальнейшие улучшения эффективности кодирования.

Сущность изобретения

[0004] настоящее изобретение обеспечивает способ кодирования видеоизображения, способ декодирования видеоизображения, устройство кодирования, и устройство декодирования, чтобы улучшать эффективность кодирования и декодирования.

[0005] согласно первому аспекту, обеспечивается способ кодирования видеоизображения, где способ включает в себя этапы, на которых: определяют группу векторов движения текущего блока кодирования, где группа векторов движения включает в себя, по меньшей мере, один вектор движения текущего блока кодирования; определяют значения предсказания первого набора компонент вектора инициализации модели движения текущего блока кодирования согласно упомянутому, по меньшей мере, одному вектору движения из группы векторов движения, где вектор инициализации модели движения включает в себя, по меньшей мере, четыре компоненты; определяют подлежащие передаче значения первого набора компонент согласно значениям предсказания первого набора компонент; и кодируют подлежащие передаче значения первого набора компонент, и передают кодированные подлежащие передаче значения первого набора компонент стороне декодера.

[0006] со ссылкой на первый аспект, в одном варианте осуществления первого аспекта, этап определения подлежащих передаче значений первого набора компонент согласно значениям предсказания первого набора компонент включает в себя этапы, на которых: определяют вектор оптимизации модели движения текущего блока кодирования; и определяют подлежащие передаче значения первого набора компонент согласно значениям предсказания первого набора компонент и вектору оптимизации модели движения.

[0007] со ссылкой на первый аспект и вышеизложенный вариант осуществления, в другом варианте осуществления первого аспекта, способ дополнительно включает в себя этап, на котором: определяют точность квантования модели движения согласно размеру текущего блока кодирования и информации точности; и соответственно, этап определения подлежащих передаче значений первого набора компонент согласно значениям предсказания первого набора компонент и вектору оптимизации модели движения включает в себя этапы, на которых: квантуют вектор оптимизации модели движения согласно точности квантования модели движения; и определяют подлежащие передаче значения первого набора компонент согласно значениям предсказания первого набора компонент и квантованному вектору оптимизации модели движения.

[0008] со ссылкой на первый аспект и вышеизложенные варианты осуществления, в другом варианте осуществления первого аспекта, размер текущего блока кодирования включает в себя ширину текущего блока кодирования и высоту текущего блока кодирования, и информация точности включает в себя точность квантования группы векторов движения; и соответственно, этап определения точности квантования модели движения согласно размеру текущего блока кодирования и информации точности включает в себя этап, на котором: определяют точность квантования модели движения q согласно следующей формуле:

Где p является точностью квантования группы векторов движения, w является шириной текущего блока кодирования, и h является высотой текущего блока кодирования.

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

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

Где i=0, 1, 2, 3, 4, 5, w является шириной текущего блока кодирования, h является высотой текущего блока кодирования, является x-направленной компонентой вектора движения , является y-направленной компонентой вектора движения , и j=0, 1, 2.

[0011] со ссылкой на первый аспект и вышеизложенные варианты осуществления, в другом варианте осуществления первого аспекта, первый набор компонент включает в себя две компоненты вектора инициализации модели движения; и этап определения подлежащих передаче значений первого набора компонент согласно значениям предсказания первого набора компонент и квантованному вектору оптимизации модели движения включает в себя этап, на котором: определяют подлежащие передаче значения первого набора компонент, где подлежащие передаче значения первого набора компонент включают в себя и , , , и являются квантованными векторами оптимизации модели движения, соответствующими первому набору компонент, и и являются числовыми значениями, полученными после квантования значений предсказания и первого набора компонент.

[0012] со ссылкой на первый аспект и вышеизложенные варианты осуществления, в другом варианте осуществления первого аспекта, первый набор компонент включает в себя упомянутые шесть компонент вектора инициализации модели движения; и этап определения подлежащих передаче значений первого набора компонент согласно значениям предсказания первого набора компонент и квантованному вектору оптимизации модели движения включает в себя этап, на котором: определяют подлежащие передаче значения первого набора компонент, где подлежащие передаче значения первого набора компонент включают в себя , где i=0, 1, 2, 3, 4, 5, , является квантованным вектором оптимизации модели движения, и является значением предсказания первого набора компонент.

[0013] со ссылкой на первый аспект и вышеизложенные варианты осуществления, в другом варианте осуществления первого аспекта, этап определения группы векторов движения текущего блока кодирования включает в себя этапы, на которых: определяют множество подходящих блоков текущего блока кодирования, где каждый подходящий блок из множества подходящих блоков является кодированным блоком, смежным с текущим блоком кодирования; определяют значение ошибки согласованности между блоком предсказания, соответствующим вектору движения каждого подходящего блока из множества подходящих блоков, и текущим блоком кодирования; определяют, в качестве целевого подходящего блока текущего блока кодирования, подходящий блок, соответствующий наименьшему значению ошибки согласованности в множестве значений ошибки согласованности, соответствующих множеству подходящих блоков; получают номер порядка вывода опорного кадра текущего блока кодирования и номер порядка вывода опорного кадра целевого подходящего блока; определяют первый вектор движения в группе векторов движения согласно отношению номера порядка вывода опорного кадра текущего блока кодирования к номеру порядка вывода опорного кадра целевого подходящего блока, где отношение первого вектора движения к вектору движения целевого подходящего блока является таким же, как отношение номера порядка вывода опорного кадра текущего блока кодирования к номеру порядка вывода опорного кадра целевого подходящего блока; и определяют группу векторов движения согласно первому вектору движения.

[0014] со ссылкой на первый аспект и вышеизложенные варианты осуществления, в другом варианте осуществления первого аспекта, этап определения группы векторов движения текущего блока кодирования включает в себя этапы, на которых: определяют множество подходящих блоков, соответствующих одному и тому же пикселю в текущем блоке кодирования, где каждый подходящий блок из множества подходящих блоков является кодированным блоком, смежным с текущим блоком кодирования; определяют значение ошибки согласованности между блоком предсказания, соответствующим вектору движения каждого подходящего блока из множества подходящих блоков, и текущим блоком кодирования; определяют, в качестве целевого подходящего блока текущего блока кодирования, подходящий блок, соответствующий наименьшему значению ошибки согласованности в множестве значений ошибки согласованности, соответствующих множеству подходящих блоков; определяют вектор движения целевого подходящего блока в качестве первого вектора движения в группе векторов движения; определяют второй вектор движения в группе векторов движения согласно первому вектору движения; и определяют группу векторов движения согласно первому вектору движения и второму вектору движения.

[0015] со ссылкой на первый аспект и вышеизложенные варианты осуществления, в другом варианте осуществления первого аспекта, этап определения группы векторов движения текущего блока кодирования включает в себя этапы, на которых: определяют множество групп подходящих векторов движения текущего блока кодирования, где каждая группа подходящих векторов движения из множества групп подходящих векторов движения включает в себя три подходящих вектора движения; определяют подходящий опорный кадр, соответствующий каждой группе подходящих векторов движения из множества групп подходящих векторов движения; для каждой группы подходящих векторов движения, определяют координатные значения каждого пикселя, в соответствующей точке предсказания в подходящем опорном кадре, в текущем блоке кодирования; для каждой группы подходящих векторов движения, определяют значение ошибки согласованности текущего блока кодирования согласно координатным значениям каждого пикселя в текущем блоке кодирования и координатным значениям каждого пикселя, в соответствующей точке предсказания в подходящем опорном кадре, в текущем блоке кодирования; и определяют, в качестве группы векторов движения текущего блока кодирования, группу подходящих векторов движения, соответствующую наименьшему значению ошибки согласованности текущего блока кодирования.

[0016] со ссылкой на первый аспект и вышеизложенные варианты осуществления, в другом варианте осуществления первого аспекта, этап определения вектора оптимизации модели движения текущего блока кодирования включает в себя этапы, на которых: определяют первый блок предсказания текущего блока кодирования согласно вектору инициализации модели движения; определяют первое значение ошибки согласованности между текущим блоком кодирования и первым блоком предсказания; определяют, из множества блоков предсказания, включенных в опорный кадр текущего блока кодирования, второй блок предсказания с наименьшим значением ошибки согласованности относительно текущего блока кодирования; определяют второе значение ошибки согласованности между текущим блоком кодирования и вторым блоком предсказания; и определяют вектор оптимизации модели движения текущего блока кодирования согласно первому значению ошибки согласованности и второму значению ошибки согласованности.

[0017] со ссылкой на первый аспект и вышеизложенные варианты осуществления, в другом варианте осуществления первого аспекта, этап определения вектора оптимизации модели движения текущего блока кодирования согласно первому значению ошибки согласованности и второму значению ошибки согласованности включает в себя этапы, на которых: когда первое значение ошибки согласованности меньше второго значения ошибки согласованности, определяют вектор инициализации модели движения в качестве вектора оптимизации модели движения; или когда первое значение ошибки согласованности больше второго значения ошибки согласованности, определяют вектор оптимизации модели движения согласно пикселю второго блока предсказания и пикселю текущего блока кодирования.

[0018] согласно второму аспекту, обеспечивается способ декодирования видеоизображения, где способ включает в себя этапы, на которых: определяют группу векторов движения и вектор передачи модели движения текущего блока декодирования согласно битовому потоку, где группа векторов движения включает в себя, по меньшей мере, один вектор движения текущего блока декодирования, и вектор передачи модели движения включает в себя, по меньшей мере, четыре компоненты; определяют значения предсказания первого набора компонент вектора инициализации модели движения текущего блока декодирования согласно упомянутому, по меньшей мере, одному вектору движения из группы векторов движения, где вектор инициализации модели движения включает в себя, по меньшей мере, четыре компоненты; и определяют вектор оптимизации модели движения текущего блока декодирования согласно значениям предсказания первого набора компонент и вектору передачи модели движения, чтобы декодировать текущий блок декодирования согласно вектору оптимизации модели движения.

[0019] со ссылкой на второй аспект, в одном варианте осуществления второго аспекта, способ дополнительно включает в себя этапы, на которых: определяют точность квантования модели движения текущего блока декодирования; квантуют вектор оптимизации модели движения согласно точности квантования модели движения; и декодируют текущий блок декодирования согласно квантованному вектору оптимизации модели движения.

[0020] со ссылкой на второй аспект и вышеизложенный вариант осуществления, в другом варианте осуществления второго аспекта, этап определения точности квантования модели движения текущего блока декодирования включает в себя этап, на котором: определяют точность квантования модели движения согласно размеру текущего блока декодирования и информации точности.

[0021] со ссылкой на второй аспект и вышеизложенные варианты осуществления, в другом варианте осуществления второго аспекта, размер текущего блока декодирования включает в себя ширину текущего блока декодирования и высоту текущего блока декодирования, и информация точности включает в себя точность квантования группы векторов движения; и соответственно, этап определения точности квантования модели движения согласно размеру текущего блока декодирования и информации точности включает в себя этап, на котором: определяют точность квантования модели движения q согласно следующей формуле:

Где p является точностью квантования группы векторов движения, w является шириной текущего блока декодирования, и h является высотой текущего блока декодирования.

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

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

Где i=0, 1, 2, 3, 4, 5, w является шириной текущего блока декодирования, h является высотой текущего блока декодирования, является x-направленной компонентой вектора движения , является y-направленной компонентой вектора движения , и j=0, 1, 2.

[0024] со ссылкой на второй аспект и вышеизложенные варианты осуществления, в другом варианте осуществления второго аспекта, первый набор компонент включает в себя две компоненты вектора инициализации модели движения; и этап определения вектора оптимизации модели движения текущего блока декодирования согласно значениям предсказания первого набора компонент и вектору передачи модели движения включает в себя этап, на котором: определяют, что вектор оптимизации модели движения текущего блока декодирования является , где , , является вектором передачи модели движения, и и являются числовыми значениями, полученными после квантования значений предсказания и первого набора компонент.

[0025] со ссылкой на второй аспект и вышеизложенные варианты осуществления, в другом варианте осуществления второго аспекта, первый набор компонент включает в себя упомянутые шесть компонент вектора инициализации модели движения; и этап определения оптимального параметра модели движения текущего блока декодирования согласно параметру предсказания модели движения и параметру декодирования модели движения включает в себя этап, на котором: определяют, что вектор оптимизации модели движения текущего блока декодирования является , где , является вектором передачи модели движения, является значением предсказания первого набора компонент, и i=0, 1, 2, 3, 4, 5.

[0026] со ссылкой на второй аспект и вышеизложенные варианты осуществления, в другом варианте осуществления второго аспекта, этап определения группы векторов движения и вектора передачи модели движения текущего блока декодирования включает в себя этапы, на которых: определяют целевой подходящий блок текущего блока декодирования и вектор движения целевого подходящего блока согласно битовому потоку; получают номер порядка вывода опорного кадра текущего блока декодирования и номер порядка вывода опорного кадра целевого подходящего блока; определяют первый вектор движения в группе векторов движения согласно отношению номера порядка вывода опорного кадра текущего блока декодирования к номеру порядка вывода опорного кадра целевого подходящего блока, где отношение первого вектора движения к вектору движения целевого подходящего блока является таким же как отношение номера порядка вывода опорного кадра текущего блока декодирования к номеру порядка вывода опорного кадра целевого подходящего блока; и определяют группу векторов движения согласно первому вектору движения.

[0027] со ссылкой на второй аспект и вышеизложенные варианты осуществления, в другом варианте осуществления второго аспекта, этап определения группы векторов движения и вектора передачи модели движения текущего блока декодирования согласно битовому потоку включает в себя этапы, на которых: определяют вектор движения целевого подходящего блока текущего блока декодирования согласно битовому потоку; определяют вектор движения целевого подходящего блока текущего блока декодирования в качестве первого вектора движения в группе векторов движения; определяют второй вектор движения в группе векторов движения согласно первому вектору движения; и определяют группу векторов движения согласно первому вектору движения и второму вектору движения.

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

[0029] со ссылкой на третий аспект, в одном варианте осуществления третьего аспекта, третий модуль определения специально сконфигурирован с возможностью: определять вектор оптимизации модели движения текущего блока кодирования; и определять подлежащие передаче значения первого набора компонент согласно значениям предсказания первого набора компонент и вектору оптимизации модели движения.

[0030] со ссылкой на третий аспект и вышеизложенный вариант осуществления, в другом варианте осуществления третьего аспекта, третий модуль определения специально сконфигурирован с возможностью: определять точность квантования модели движения согласно размеру текущего блока кодирования и информации точности; квантовать вектор оптимизации модели движения согласно точности квантования модели движения; и определять подлежащие передаче значения первого набора компонент согласно значениям предсказания первого набора компонент и квантованному вектору оптимизации модели движения.

[0031] со ссылкой на третий аспект и вышеизложенные варианты осуществления, в другом варианте осуществления третьего аспекта, размер текущего блока кодирования включает в себя ширину текущего блока кодирования и высоту текущего блока кодирования, и информация точности включает в себя точность квантования группы векторов движения; и третий модуль определения специально сконфигурирован с возможностью: определять точность квантования модели движения q согласно следующей формуле:

Где p является точностью квантования группы векторов движения, w является шириной текущего блока кодирования, и h является высотой текущего блока кодирования.

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

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

Где i=0, 1, 2, 3, 4, 5, w является шириной текущего блока кодирования, h является высотой текущего блока кодирования, является x-направленной компонентой вектора движения , является y-направленной компонентой вектора движения , и j=0, 1, 2.

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

[0035] со ссылкой на третий аспект и вышеизложенные варианты осуществления, в другом варианте осуществления третьего аспекта, первый набор компонент включает в себя упомянутые шесть компонент вектора инициализации модели движения, и второй модуль определения специально сконфигурирован с возможностью: определять подлежащие передаче значения первого набора компонент, где подлежащие передаче значения первого набора компонент включают в себя , где i=0, 1, 2, 3, 4, 5, , является квантованным вектором оптимизации модели движения, и является значением предсказания первого набора компонент.

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

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

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

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

[0040] со ссылкой на третий аспект и вышеизложенные варианты осуществления, в другом варианте осуществления третьего аспекта, третий модуль определения специально сконфигурирован с возможностью: когда первое значение ошибки согласованности меньше второго значения ошибки согласованности, определения вектора инициализации модели движения в качестве вектора оптимизации модели движения; или когда первое значение ошибки согласованности больше второго значения ошибки согласованности, определения вектора оптимизации модели движения согласно пикселю второго блока предсказания и пикселю текущего блока кодирования.

[0041] согласно четвертому аспекту, обеспечивается устройство декодирования для декодирования видеоизображения, где устройство декодирования включает в себя: первый модуль определения, сконфигурированный с возможностью определения группы векторов движения и вектора передачи модели движения текущего блока декодирования согласно битовому потоку, где группа векторов движения включает в себя, по меньшей мере, один вектор движения текущего блока декодирования, и вектор передачи модели движения включает в себя, по меньшей мере, четыре компоненты; второй модуль определения, сконфигурированный с возможностью определения значений предсказания первого набора компонент вектора инициализации модели движения текущего блока декодирования согласно упомянутому, по меньшей мере, одному вектору движения из группы векторов движения, где вектор инициализации модели движения включает в себя, по меньшей мере, четыре компоненты; и третий модуль определения, сконфигурированный с возможностью определения вектора оптимизации модели движения текущего блока декодирования согласно значениям предсказания первого набора компонент и вектору передачи модели движения для декодирования текущего блока декодирования согласно вектору оптимизации модели движения.

[0042] со ссылкой на четвертый аспект, в одном варианте осуществления четвертого аспекта, третий модуль определения специально сконфигурирован с возможностью: определения точности квантования модели движения текущего блока декодирования; квантования вектора оптимизации модели движения согласно точности квантования модели движения; и декодирования текущего блока декодирования согласно квантованному вектору оптимизации модели движения.

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

[0044] со ссылкой на четвертый аспект и вышеизложенные варианты осуществления, в другом варианте осуществления четвертого аспекта, размер текущего блока декодирования включает в себя ширину текущего блока декодирования и высоту текущего блока декодирования, и информация точности включает в себя точность квантования группы векторов движения; и третий модуль определения специально сконфигурирован с возможностью: определения точности квантования модели движения q согласно следующей формуле:

Где p является точностью квантования группы векторов движения, w является шириной текущего блока декодирования, и h является высотой текущего блока декодирования.

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

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

Где i=0, 1, 2, 3, 4, 5, w является шириной текущего блока декодирования, h является высотой текущего блока декодирования, является x-направленной компонентой вектора движения , является y-направленной компонентой вектора движения , и j=0, 1, 2.

[0047] со ссылкой на четвертый аспект и вышеизложенные варианты осуществления, в другом варианте осуществления четвертого аспекта, первый набор компонент включает в себя две компоненты вектора инициализации модели движения; и второй модуль определения специально сконфигурирован с возможностью: определения того, что вектор оптимизации модели движения текущего блока декодирования является , где , , является вектором передачи модели движения, и и являются числовыми значениями, полученными после квантования значений предсказания и первого набора компонент.

[0048] со ссылкой на четвертый аспект и вышеизложенные варианты осуществления, в другом варианте осуществления четвертого аспекта, первый набор компонент включает в себя упомянутые шесть компонент вектора инициализации модели движения; и второй модуль определения специально сконфигурирован с возможностью: определения того, что вектор оптимизации модели движения текущего блока декодирования является , где , является вектором передачи модели движения, является значением предсказания первого набора компонент, и i=0, 1, 2, 3, 4, 5.

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

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

[0051] на основе вышеизложенных технических решений, согласно способу кодирования видеоизображения, способу декодирования видеоизображения, устройству кодирования, и устройству декодирования в этом варианте осуществления настоящего изобретения, определяется группа векторов движения текущего блока кодирования; вектор инициализации модели движения текущего блока кодирования определяется согласно группе векторов движения; подлежащие передаче значения модели движения определяются согласно вектору инициализации модели движения; и подлежащие передаче значения модели движения кодируются для передачи, чтобы сторона декодера выполняла декодирование согласно подлежащим передаче значениям модели движения. По такому принципу, объем данных и количество занятых бит в передаче кодирования и декодирования могут уменьшаться.

Краткое описание чертежей

[0052] чтобы описывать технические решения в вариантах осуществления настоящего изобретения более ясно, далее кратко описаны сопровождающие чертежи, требуемые для описания вариантов осуществления настоящего изобретения. Должно быть ясно, что сопровождающие чертежи в последующем описании показывают всего лишь некоторые варианты осуществления настоящего изобретения, и специалист в данной области техники может все еще выводить другие чертежи из этих сопровождающих чертежей без творческих усилий.

[0053] фиг. 1 является схематической блок-схемой последовательности операций способа кодирования видеоизображения согласно одному варианту осуществления настоящего изобретения;

[0054] фиг. 2 является схематической диаграммой текущего блока кодирования или текущего блока декодирования и подходящего блока согласно одному варианту осуществления настоящего изобретения;

[0055] фиг. 3 является схематической блок-схемой последовательности операций способа декодирования видеоизображения согласно другому варианту осуществления настоящего изобретения;

[0056] фиг. 4 является другой схематической блок-схемой последовательности операций способа декодирования видеоизображения согласно другому варианту осуществления настоящего изобретения;

[0057] фиг. 5 является схематической блок-схемой устройства кодирования согласно одному варианту осуществления настоящего изобретения;

[0058] фиг. 6 является схематической блок-схемой устройства декодирования согласно одному варианту осуществления настоящего изобретения;

[0059] фиг. 7 является другой схематической блок-схемой устройства кодирования согласно одному варианту осуществления настоящего изобретения; и

[0060] фиг. 8 является другой схематической блок-схемой устройства декодирования согласно одному варианту осуществления настоящего изобретения.

Описание вариантов осуществления

[0061] последующее явным образом и полностью описывает технические решения в вариантах осуществления настоящего изобретения со ссылкой на сопровождающие чертежи в вариантах осуществления настоящего изобретения. Должно быть ясно, что описанные варианты осуществления являются частью, нежели всеми из вариантов осуществления настоящего изобретения. Все другие варианты осуществления, полученные специалистом в данной области техники на основе вариантов осуществления настоящего изобретения без творческих усилий, должны попадать в пределы объема защиты настоящего изобретения.

[0062] фиг. 1 является схематической блок-схемой последовательности операций способа кодирования видеоизображения согласно одному варианту осуществления настоящего изобретения. Способ, показанный на фиг. 1, может исполняться посредством устройства кодирования, такого как кодер. В частности, как показано на фиг. 1, способ 100 включает в себя следующие этапы:

[0063] s110. Определение группы векторов движения текущего блока кодирования, где группа векторов движения включает в себя, по меньшей мере, один вектор движения текущего блока кодирования.

[0064] s120. Определение значений предсказания первого набора компонент вектора инициализации модели движения текущего блока кодирования согласно упомянутому, по меньшей мере, одному вектору движения из группы векторов движения, где вектор инициализации модели движения включает в себя, по меньшей мере, четыре компоненты.

[0065] s130. Определение подлежащих передаче значений первого набора компонент согласно значениям предсказания первого набора компонент.

[0066] s140. Кодирование подлежащих передаче значений первого набора компонент, и передача кодированных подлежащих передаче значений первого набора компонент стороне декодера.

[0067] в частности, определяется группа векторов движения текущего блока кодирования, где группа векторов движения включает в себя, по меньшей мере, один вектор движения, соответствующий пикселю в текущем блоке кодирования. Значения предсказания первого набора компонент вектора инициализации модели движения текущего блока кодирования определяются согласно упомянутому, по меньшей мере, одному вектору движения из группы векторов движения, где вектор инициализации модели движения включает в себя, по меньшей мере, четыре компоненты, и первый набор компонент включает в себя, по меньшей мере, одну компоненту вектора инициализации модели движения. Затем, точность квантования модели движения и вектор оптимизации модели движения определяются согласно текущему блоку кодирования, и вектор оптимизации модели движения квантуется согласно точности квантования. Подлежащие передаче значения первого набора компонент могут определяться согласно значениям предсказания первого набора компонент вектора инициализации модели движения и квантованному вектору оптимизации модели движения, и подлежащие передаче значения первого набора компонент кодируются и передается стороне декодера, чтобы сторона декодера выполняла операцию декодирования. Дополнительно, выборка предсказания текущего блока кодирования может определяться согласно квантованному вектору оптимизации модели движения, и согласно выборке предсказания, текущий блок кодирования кодируется и передается.

[0068] поэтому, согласно способу кодирования видеоизображения в этом варианте осуществления настоящего изобретения, определяется группа векторов движения текущего блока кодирования; вектор инициализации модели движения текущего блока кодирования определяется согласно группе векторов движения; подлежащие передаче значения модели движения определяются согласно вектору инициализации модели движения; и подлежащие передаче значения модели движения кодируются для передачи, чтобы сторона декодера выполняла декодирование согласно подлежащим передаче значениям модели движения. По такому принципу, объем данных и количество занятых бит в передаче кодирования и декодирования могут уменьшаться.

[0069] в этом варианте осуществления настоящего изобретения, для обработки кодирования видеоизображения во всех стандартах кодирования, по отношению к интер-предсказанию, множество моделей движения может использоваться в обработке вычисления компенсации движения, как, например, модель аффинного движения, модель полного движения, или модель перспективы. Здесь, модель аффинного движения используется в качестве примера для описания, но настоящее изобретение не ограничено этим.

[0070] на этапе s110, определяется группа векторов движения текущего блока кодирования. Группа векторов движения включает в себя, по меньшей мере, один вектор движения текущего блока кодирования, и каждый вектор движения может соответствовать пикселю в текущем блоке кодирования. Количество параметров, требуемых для описания модели движения, изменяется между моделями движения. Для модели движения, имеющей 2n параметров, группа векторов движения текущего блока кодирования может, в общем, включать в себя n векторов движения. Например, для аффинного движения, когда все пиксели в текущем блоке кодирования представляются посредством использования модели аффинного движения, в общем, модель аффинного движения может быть выражена как . То есть, модель аффинного движения имеет шесть параметров, и группа векторов движения включает в себя, по меньшей мере, три вектора движения. Для модели полного движения, в общем, используются 12 параметров, и группа векторов движения включает в себя, по меньшей мере, шесть векторов движения. Необязательно, определение, по меньшей мере, одного вектора движения из группы векторов движения может быть определением одного вектора движения из группы векторов движения, или определением n векторов движения или всех векторов движения из группы векторов движения. Например, для аффинного движения, группа векторов движения может включать в себя, по меньшей мере, три вектора движения, и определение группы векторов движения текущего блока кодирования может быть определением одного вектора движения, трех векторов движения, или всех векторов движения из группы векторов вычисления. Настоящее изобретение не ограничено этим.

[0071] в необязательном порядке, в одном варианте осуществления, аффинное движение используется в качестве примера. Группа векторов движения включает в себя три вектора движения, и определение группы векторов движения текущего блока кодирования может быть определением, по меньшей мере, одного вектора движения из группы векторов вычисления. Для стандарта hevc (высокоэффективного кодирования видео), первый вектор движения в группе векторов движения текущего блока кодирования может определяться посредством использования технологии amvp (усовершенствованного предсказания векторов движения). В частности, сначала, множество подходящих блоков текущего блока кодирования определяются из кодированных блоков, соседних вокруг текущего блока кодирования. Множество подходящих блоков может определяться согласно координатным местоположениям, и множество подходящих блоков являются смежными с текущим блоком кодирования. Например, как показано на фиг. 2, для текущего блока кодирования, в общем, a по g могут определяться в качестве множества подходящих блоков текущего блока кодирования. Затем, определяется значение ошибки согласованности между блоком предсказания, соответствующим вектору движения каждого подходящего блока, и текущим блоком кодирования. В частности, блок предсказания, соответствующий вектору движения подходящего блока, определяется в опорном кадре согласно вектору движения подходящего блока и текущему блоку кодирования; и затем, вычисляется значение ошибки согласованности между блоком предсказания и текущим блоком кодирования, и подходящий блок, соответствующий наименьшему значению ошибки согласованности, определяется в качестве целевого подходящего блока текущего блока кодирования. Далее, отдельно определяются номер порядка вывода (poc) опорного кадра текущего блока кодирования и номер порядка вывода (poc) опорного кадра целевого подходящего блока. Над вектором движения целевого подходящего блока выполняется масштабирование согласно отношению номера порядка вывода (poc) опорного кадра текущего блока кодирования к номеру порядка вывода (poc) опорного кадра целевого подходящего блока. Масштабированный вектор движения целевого подходящего блока определяется в качестве первого вектора движения в группе векторов движения текущего блока кодирования. Отношение первого вектора движения к вектору движения целевого подходящего блока является таким же как отношение номера порядка вывода опорного кадра текущего блока кодирования к номеру порядка вывода опорного кадра целевого подходящего блока.

[0072] в этом варианте осуществления настоящего изобретения, определенный вектор движения целевого подходящего блока может определяться в качестве точки начала поиска в последующей оценке движения. Устройство кодирования может кодировать значение индекса, соответствующее целевому подходящему блоку, и передавать кодированное значение индекса стороне декодера, чтобы сторона декодера выполняла декодирование и определяла целевой подходящий блок и вектор движения целевого подходящего блока.

[0073] в этом варианте осуществления настоящего изобретения, значение ошибки согласованности между блоком предсказания, соответствующим вектору движения каждого подходящего блока, и текущим блоком кодирования может определяться согласно следующему способу. В частности, для каждого пикселя в текущем блоке кодирования, значение ошибки согласованности каждого пикселя может определяться согласно следующим формулам (1) по (4):

(1)

(2)

(3)

(4)

Где является исходным значением пикселя для пикселя, является значением пикселя предсказания для пикселя в кадре, на который указывает подходящий блок, и являются координатными значениями пикселя, является горизонтальным градиентом местоположения пикселя, и является вертикальным градиентом местоположения пикселя. Эти градиенты могут получаться посредством вычисления посредством использования оператора собеля (sobel).

[0075] в этом варианте осуществления настоящего изобретения, согласно вышеизложенным формулам, может определяться значение ошибки согласованности каждого пикселя в текущем блоке кодирования по отношению к блоку предсказания, соответствующему вектору движения подходящего блока. Абсолютные значения для значений ошибки согласованности всех пикселей в текущем блоке кодирования складываются, и может получаться значение ошибки согласованности между текущим блоком кодирования и блоком предсказания, соответствующим подходящему блоку. Однако настоящее изобретение не ограничено этим. Согласно вышеизложенному способу, последовательно определяется значение ошибки согласованности между текущим блоком кодирования и блоком предсказания, соответствующим каждому подходящему блоку. Подходящий блок, соответствующий наименьшему значению ошибки согласованности, используется в качестве целевого подходящего блока текущего блока кодирования.

[0075] в необязательном порядке, в одном варианте осуществления, аффинное движение используется в качестве примера. Определяется группа векторов движения текущего блока кодирования. Группа векторов движения включает в себя три вектора движения. После того, как один вектор движения, именно, первый вектор движения, из группы векторов движения определяется согласно вышеизложенному способу, как показано на фиг. 2, первый вектор движения может быть вектором движения, соответствующим вершине текущего блока кодирования. Необязательно, векторы движения двух вершин, смежных с вершиной текущего блока кодирования, могут выбираться в качестве других векторов движения в группе векторов движения. Группа векторов движения может быть выражена как , и координаты векторов движения в группе векторов движения являются (0, 0), (w, 0), и (0, h), где w является шириной текущего блока кодирования, и h является высотой текущего блока кодирования.

[0076] в необязательном порядке, в одном варианте осуществления, аффинное движение используется в качестве примера. Группа векторов движения включает в себя три вектора движения, и определение группы векторов движения текущего блока кодирования может быть определением каждого вектора движения из группы векторов движения. В частности, сначала, множество кодированных блоков, соседних вокруг текущего блока кодирования, могут определяться в качестве множества подходящих блоков. Множество подходящих блоков соответствуют одному и тому же пикселю в текущем блоке кодирования. Необязательно, пиксель может быть вершиной текущего блока кодирования. Например, как показано на фиг. 2, a, b и c могут определяться в качестве множества подходящих блоков текущего блока кодирования. Согласно формулам (1) по (4), отдельно определяется значение ошибки согласованности каждого пикселя в текущем блоке кодирования по отношению к блоку предсказания, соответствующему вектору движения каждого подходящего блока. Затем, абсолютные значения для значений ошибки согласованности всех пикселей складываются. Определяется значение ошибки согласованности каждого подходящего блока по отношению к текущему блоку кодирования. Подходящий блок, соответствующий наименьшему значению ошибки согласованности, выбирается в качестве целевого подходящего блока текущего блока кодирования. Вектор движения целевого подходящего блока определяется в качестве первого вектора движения в группе векторов движения текущего блока кодирования. Опорный кадр целевого подходящего блока определяется в качестве опорного кадра текущего блока кодирования. Вектор движения целевого подходящего блока используется в качестве первого вектора движения текущего блока кодирования. Дополнительно, первый вектор движения может использоваться в качестве точки начала поиска в последующей оценке движения. Устройство кодирования может кодировать значение индекса, соответствующее целевому подходящему блоку, и передавать кодированное значение индекса стороне декодера, чтобы сторона декодера выполняла декодирование и определяла целевой подходящий блок и вектор движения целевого подходящего блока.

[0077] в этом варианте осуществления настоящего изобретения, после того, как определяется первый вектор движения в группе векторов движения текущего блока кодирования, второй вектор движения в группе векторов движения текущего блока кодирования определяется согласно первому вектору движения. Второй вектор движения является вектором движения в группе векторов движения, отличающимся от первого вектора движения. В частности, сначала, множество подходящих блоков текущего блока кодирования определяются из кодированных блоков, соседних вокруг текущего блока кодирования. Множество блоков кодирования соответствуют одному и тому же пикселю в текущем блоке кодирования. Необязательно, пиксель может быть вершиной текущего блока кодирования. Пиксель отличается от пикселей, соответствующих множеству подходящих блоков в определении первого вектора движения. Например, как показано на фиг. 2, подходящие блоки могут включать в себя d и e, и множество подходящих блоков не включают в себя подходящий блок в определении первого вектора движения. Затем, определяется опорный кадр каждого подходящего блока. Если опорный кадр подходящего блока не является таким же кадром как опорный кадр целевого подходящего блока, соответствующего первому вектору движения, то есть, опорным кадром текущего блока кодирования, над вектором движения подходящего блока выполняется масштабирование согласно отношению номера порядка вывода poc опорного кадра целевого подходящего блока текущего блока кодирования к номеру порядка вывода poc опорного кадра подходящего блока, чтобы отношение номера порядка вывода опорного кадра текущего блока к номеру порядка вывода опорного кадра подходящего блока было таким же как отношение между векторами движения. Масштабированный вектор движения каждого подходящего блока отдельно сравнивается с первым вектором движения. Когда масштабированный вектор движения подходящего блока отличается от первого вектора движения, и различие является наименьшим, этот подходящий блок определяется в качестве второго целевого подходящего блока текущего блока кодирования, и масштабированный вектор движения, соответствующий этому целевому подходящему блоку, определяется в качестве второго вектора движения в группе векторов движения текущего блока кодирования.

[0078] в этом варианте осуществления настоящего изобретения, множество вторых векторов движения может определяться согласно вышеизложенному способу. Например, когда группа векторов движения текущего блока кодирования включает в себя три вектора движения, после того, как определяется один первый вектор движения из группы векторов движения, другие два вторых вектора движения могут определяться согласно вышеизложенному способу. Однако настоящее изобретение не ограничено этим.

[0079] в необязательном порядке, в одном варианте осуществления, аффинное движение используется в качестве примера. Определяется группа векторов движения текущего блока кодирования. Группа векторов движения включает в себя три вектора движения, и каждый вектор движения из группы векторов движения может дополнительно определяться согласно следующему способу. В частности, определяются множество подходящих блоков текущего блока кодирования. Все из множества подходящих блоков являются кодированными блоками, смежными с текущим блоком кодирования. Например, как показано на фиг. 2, a по f являются множеством подходящих блоков текущего блока кодирования. Затем, множество групп подходящих векторов движения текущего блока кодирования определяются согласно множеству подходящих блоков. Каждая группа подходящих векторов движения включает в себя три вектора движения, и упомянутые три вектора движения соответствуют трем пикселям в текущем блоке кодирования. Необязательно, векторы движения нескольких подходящих блоков, которые выбираются из множества подходящих блоков, могут использоваться в качестве группы подходящих векторов движения. Например, как показано на фиг. 2, для множества подходящих блоков a по f, три вектора движения, включающие в себя вектор движения блока, произвольно выбираемого из подходящих блоков a, b, и c, которые соответствуют одному и тому же пикселю, вектор движения блока, произвольно выбираемого из d и e, которые соответствуют другому пикселю, и вектор движения блока, произвольно выбираемого из f и g, которые соответствуют другому пикселю, могут составлять группу подходящих векторов движения. Так как имеются разные выборы, эти подходящие блоки могут составлять 12 групп подходящих векторов движения. Определяется опорный кадр каждого вектора движения из первой группы подходящих векторов движения. Первая группа подходящих векторов движения является любой группой подходящих векторов движения из множества групп подходящих векторов движения. Пропорциональное масштабирование выполняется над индексным номером и номером порядка вывода опорного кадра подходящего блока, соответствующего каждому вектору движения из первой группы подходящих векторов движения, чтобы упомянутые три вектора движения из первой группы подходящих векторов движения соответствовали одному и тому же номеру порядка вывода и индексному номеру опорного кадра.

[0080] в этом варианте осуществления настоящего изобретения, местоположение предсказания, в опорном кадре первой группы подходящих векторов движения, каждого пикселя в текущем блоке кодирования может определяться согласно следующим формулам (5) и (6):

(5)

(6)

Где w является шириной текущего блока кодирования, h является высотой текущего блока кодирования, является x-направленной компонентой j-ого подходящего вектора движения в первой группе подходящих векторов движения, является y-направленной компонентой j-ого подходящего вектора движения в первой группе подходящих векторов движения, j=0, 1, 2, x и y являются координатными значениями каждого пикселя в текущем блоке кодирования, и и являются координатными значениями, в точке предсказания, соответствующей опорному кадру в первой группе подходящих векторов движения, пикселя.

[0081] согласно координатным значениям каждого пикселя в текущем блоке кодирования и координатным значениям пикселя, в точке предсказания, соответствующей опорному кадру, в текущем блоке кодирования, для первой группы подходящих векторов движения, значение ошибки согласованности между каждым пикселем в текущем блоке кодирования и точкой предсказания, соответствующей опорному кадру первой группы подходящих векторов движения, определяется согласно формуле (1), где . Вычисляется абсолютное значение значения ошибки согласованности каждого пикселя по отношению к первой группе подходящих векторов движения, и абсолютные значения складываются, чтобы определять значение ошибки согласованности текущего блока кодирования по отношению к первой группе подходящих векторов движения. Аналогично, определяется значение ошибки согласованности текущего блока кодирования по отношению к каждой группе подходящих векторов движения, и группа подходящих векторов движения, соответствующая наименьшему значению в множестве значений ошибки согласованности, соответствующих множеству групп подходящих векторов движения, определяется в качестве группы векторов движения текущего блока кодирования. Значение индекса вектора движения, включенного в группу векторов движения, кодируется и передается стороне декодера, чтобы сторона декодера определяла группу векторов движения согласно значению индекса.

[0082] в этом варианте осуществления настоящего изобретения, для определенной группы векторов движения, любой вектор движения из группы векторов движения может использоваться в качестве точки начала поиска в последующей оценке движения. Необязательно, как показано на фиг. 2, местоположение предсказания вершины в верхнем левом угле текущего блока кодирования может использоваться в качестве точки начала поиска в последующей оценке движения. Настоящее изобретение не ограничено этим.

[0083] на этапе s120, значения предсказания первого набора компонент вектора инициализации модели движения текущего блока кодирования определяются согласно упомянутому, по меньшей мере, одному вектору движения из группы векторов движения. Вектор инициализации модели движения включает в себя упомянутые, по меньшей мере, четыре компоненты. Первый набор компонент включает в себя, по меньшей мере, одну компоненту вектора инициализации модели движения. В частности, модель аффинного движения используется в качестве примера. Аффинная модель может представляться посредством использования шести параметров, и упомянутые шесть параметров могут быть выражены как . Местоположение, в опорном кадре, каждого пикселя в текущем блоке кодирования может определяться согласно следующей формуле (7):

(7)

Где x и y являются координатными значениями любого пикселя в текущем блоке кодирования, и являются координатными значениями, в соответствующей точке предсказания в опорном кадре, пикселя, и и являются векторами движения любого пикселя в текущем блоке кодирования. Может получаться следующая формула (8):

(8)

[0084] согласно группе векторов движения, определенной на этапе s110, группа векторов движения может быть выражена как . Целевые подходящие блоки, соответствующие группе векторов движения, являются блоками a по g, показанными на фиг. 2. Поэтому, координаты векторов движения в группе векторов движения могут быть выражены как (0, 0), (w, 0), и (0, h), где w является шириной текущего блока кодирования, и h является высотой текущего блока кодирования. Может получаться следующая формула (9) посредством подстановки группы векторов движения и координат в формулу (8):

(9)

Где является x-направленной компонентой j-ого подходящего вектора движения в первой группе подходящих векторов движения, является y-направленной компонентой j-ого подходящего вектора движения в первой группе подходящих векторов движения, и j=0, 1, 2. Соответственно, могут получаться все параметры в модели аффинного движения . Как показано в формуле (6), группа векторов движения текущего блока кодирования подставляется в формулу (6), и может определяться вектор инициализации модели движения текущего блока кодирования. Вектор инициализации модели движения является шестимерным вектором. Необязательно, для другой модели движения, вектор инициализации является вектором, включающим в себя, по меньшей мере, четыре размерности. Значения предсказания первого набора компонент могут определяться согласно вектору инициализации модели движения. Значения предсказания первого набора компонент могут включать в себя, по меньшей мере, одну компоненту вектора инициализации модели движения.

[0085] на этапе s130, подлежащие передаче значения первого набора компонент определяются согласно значениям предсказания первого набора компонент. В частности, точность квантования модели движения и вектор оптимизации модели движения могут определяться согласно текущему блоку кодирования. Вектор оптимизации модели движения квантуется согласно точности квантования модели движения. Подлежащие передаче значения первого набора компонент определяются согласно значениям предсказания первого набора компонент модели движения и квантованному вектору оптимизации модели движения.

[0086] в этом варианте осуществления настоящего изобретения, может сначала определяться вектор оптимизации модели движения. Необязательно, вектор оптимизации модели движения может определяться согласно предшествующему уровню техники. В частности, значение ошибки согласованности текущего блока кодирования может определяться согласно формулам (1) по (4). Подходящий блок текущего блока кодирования ищется градиентным итеративным способом внутри конкретного диапазона опорного кадра текущего блока кодирования. Подходящий блок, соответствующий наименьшему значению ошибки согласованности, определяется в качестве целевого подходящего блока текущего блока кодирования, и соответствующий параметр модели движения в этом случае определяется в качестве вектора оптимизации текущего блока кодирования согласно формуле (4).

[0087] в необязательном порядке, вектор инициализации модели движения текущего блока кодирования может дополнительно определяться согласно формуле (6), и вектор инициализации модели движения определяется в качестве вектора оптимизации модели движения.

[0088] в необязательном порядке, вектор инициализации модели движения текущего блока кодирования может дополнительно определяться согласно формуле (6). Соответствующее местоположение, в опорном кадре, каждого пикселя в текущем блоке кодирования получается посредством вычисления согласно формуле (7). Значение ошибки согласованности текущего блока кодирования вычисляется согласно формуле (1) и (6). Это значение ошибки согласованности сравнивается со значением ошибки согласованности, которое соответствует параметру модели движения и которое определяется согласно формулам (1) по (4) и предшествующему уровню техники. Параметр модели движения , соответствующий наименьшему значению ошибки согласованности, выбирается в качестве вектора оптимизации текущего блока кодирования. Настоящее изобретение не ограничено этим.

[0089] в этом варианте осуществления настоящего изобретения, должна дополнительно определяться точность квантования модели движения, чтобы квантовать вектор оптимизации модели движения. В частности, вектор оптимизации модели движения включает в себя два параметра поступательного движения и . Точность квантования упомянутых двух параметров поступательного движения может быть 1/16 или 1/4. Настоящее изобретение не ограничено этим. Точность квантования других параметров в векторе оптимизации модели движения может быть 1/512. Альтернативно, точность квантования может определяться согласно размеру текущего блока кодирования и информации точности. Размер текущего блока кодирования включает в себя ширину текущего блока кодирования и высоту текущего блока кодирования, и информация точности может включать в себя точность квантования группы векторов движения текущего блока кодирования. В частности, можно узнать, согласно формуле (6), что последние четыре параметра в модели движения относятся к ширине и высоте текущего блока кодирования. Поэтому, точность квантования может определяться согласно следующей формуле (10):

(10)

[0090] p может определяться согласно информации точности текущего блока кодирования. В частности, 1/p является точностью квантования группы векторов движения текущего блока кодирования. Необязательно, точность квантования группы векторов движения равняется, в общем, 1/4, таким образом, p=4. W является шириной текущего блока кодирования. H является высотой текущего блока кодирования. Например, если ширина текущего блока кодирования равняется 16 и высота равняется 32, точность квантования группы векторов движения равняется 1/(32×4)=1/128; если ширина блока кодирования равняется 16 и высота равняется 8, точность квантования равняется 1/(16×4)=1/64.

[0091] в этом варианте осуществления настоящего изобретения, вектор оптимизации модели движения квантуется согласно определенной точности квантования, чтобы получать квантованный вектор оптимизации модели движения .

[0092] в этом варианте осуществления настоящего изобретения, подлежащие передаче значения первого набора компонент определяются согласно значениям предсказания первого набора компонент и квантованному вектору оптимизации модели движения. В частности, определение может выполняться посредством использования следующего способа. Здесь, аффинное движение используется в качестве примера. Вектор инициализации модели движения определяется согласно формуле (6). В векторе инициализации модели движения, и являются параметрами поступательного движения, и относятся к первому вектору движения в группе векторов движения. Необязательно, и могут определяться в качестве первого набора компонент, и значения и , которые определяются согласно формуле (6), являются значениями предсказания первого набора компонент. Необязательно, точность квантования упомянутых двух параметров может быть 1/16 или 1/4. 1/16 используется в качестве примера. Сначала, масштабируется четырехкратно, чтобы точность увеличивалась с 1/4 на 1/16. Затем, квантованные и , чья точность также равняется 1/16, вычисляются посредством использования , чья точность равняется 1/16, чтобы получать и , то есть, и являются квантованными значениями предсказания первого набора компонент.

[0093] в этом варианте осуществления настоящего изобретения, подлежащие передаче значения первого набора компонент текущего блока кодирования определяются согласно квантованным значениям предсказания и первого набора компонент и определенному вектору оптимизации модели движения. Значения передачи модели движения текущего блока кодирования могут быть . Первый набор компонент может включать в себя две компоненты. Значения передачи первого набора компонент могут быть и , , и . Другие значения передачи являются , является квантованным вектором оптимизации модели движения, и и являются квантованными значениями значений предсказания и первого набора компонент. В этом случае, два параметра в параметрах передачи кодирования являются разностями между квантованным первым набором компонент и вектором оптимизации модели движения. Разности меньше, чем количество бит, занимаемых квантованным вектором оптимизации модели движения в прямой передаче кодирования. Это уменьшает объем передаваемых данных.

[0094] в необязательном порядке, в одном варианте осуществления, подлежащие передаче значения первого набора компонент определяются согласно значениям предсказания первого набора компонент и квантованному вектору оптимизации модели движения. В частности, определение может дополнительно выполняться посредством использования следующего способа. Согласно формуле (6), определяются шесть компонент вектора инициализации модели движения, где i=0, 1, 2, 3, 4, 5. Затем, определяется, что первый набор компонент также включает в себя шесть параметров, и могут определяться значения передачи модели движения текущего блока кодирования, то есть, значения передачи первого набора компонент являются , где , является квантованным вектором оптимизации модели движения, и является значением предсказания первого набора компонент.

[0095] на этапе s140, определенные подлежащие передаче значения первого набора компонент кодируются, и кодированные подлежащие передаче значения первого набора компонент передаются стороне декодера. В частности, определенный подлежащий передаче вектор модели движения текущего блока кодирования может кодироваться и передаваться стороне декодера. В дополнение, вектор оптимизации модели движения может дополнительно квантоваться согласно точности квантования модели движения, чтобы определять выборку пикселя предсказания каждой выборки пикселя текущего блока кодирования, дополнительно определяется остаток предсказания текущего блока кодирования, и остаток предсказания кодируется и передается стороне декодера. В частности, для вектора оптимизации модели движения , каждый параметр квантуется согласно точности квантования модели движения, определенной согласно формуле (10), чтобы получать квантованный вектор оптимизации модели движения . Квантованный вектор оптимизации модели движения подставляется в формулу (7), и может получаться опорное местоположение смещения каждого пикселя с точностью q в текущем блоке кодирования. Выборка пикселя предсказания каждой выборки пикселя в текущем блоке кодирования получается посредством вычисления в опорном местоположении смещения. Дополнительно, определяется остаток предсказания текущего блока кодирования, и остаток предсказания кодируется и передается стороне декодера. Необязательно, выборка пикселя может быть одним пикселем или малым блоком пикселей, включающим в себя множество пикселей. Настоящее изобретение не ограничено этим.

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

[0097] поэтому, согласно способу кодирования видеоизображения в этом варианте осуществления настоящего изобретения, определяется группа векторов движения текущего блока кодирования; вектор инициализации модели движения текущего блока кодирования определяется согласно группе векторов движения; подлежащие передаче значения модели движения определяются согласно вектору инициализации модели движения; и подлежащие передаче значения модели движения кодируются для передачи, чтобы сторона декодера выполняла декодирование согласно подлежащим передаче значениям модели движения. По такому принципу, объем данных и количество занятых бит в передаче кодирования и декодирования могут уменьшаться. В дополнение, когда вектор оптимизации модели движения определяется и вектор оптимизации квантуется, определенная точность квантования определяется согласно размеру текущего блока кодирования и точности квантования вектора движения текущего блока кодирования. Это также может уменьшать количество бит, требуемое для параметра кодирования.

[0098] фиг. 3 является схематической блок-схемой последовательности операций способа 200 декодирования видеоизображения согласно одному варианту осуществления настоящего изобретения. Способ, показанный на фиг. 3, может использоваться в обработке декодирования изображений или видео, и исполняется посредством устройства декодирования. Как показано на фиг. 3, способ включает в себя следующие этапы:

[0099] s210. Определение группы векторов движения и вектора передачи модели движения текущего блока декодирования согласно битовому потоку, где группа векторов движения включает в себя, по меньшей мере, один вектор движения текущего блока декодирования, и вектор передачи модели движения включает в себя, по меньшей мере, четыре компоненты.

[0100] s220. Определение значений предсказания первого набора компонент вектора инициализации модели движения текущего блока декодирования согласно упомянутому, по меньшей мере, одному вектору движения из группы векторов движения, где вектор инициализации модели движения включает в себя, по меньшей мере, четыре компоненты.

[0101] s230. Определение вектора оптимизации модели движения текущего блока декодирования согласно значениям предсказания первого набора компонент и вектору передачи модели движения для декодирования текущего блока декодирования согласно вектору оптимизации модели движения.

[0102] в частности, сторона декодера принимает битовый поток, передаваемый стороной кодера, выполняет декодирование согласно битовому потоку, и определяет группу векторов движения и вектор передачи модели движения текущего блока декодирования, где группа векторов движения включает в себя, по меньшей мере, один вектор движения, соответствующий пикселю в текущем блоке декодирования. Сторона декодера определяет значения предсказания первого набора компонент вектора инициализации модели движения текущего блока декодирования согласно упомянутому, по меньшей мере, одному вектору движения из группы векторов движения, где вектор инициализации модели движения включает в себя упомянутые, по меньшей мере, четыре компоненты, и первый набор компонент включает в себя, по меньшей мере, одну компоненту вектора инициализации модели движения. Сторона декодера определяет вектор оптимизации модели движения текущего блока декодирования согласно значениям предсказания первого набора компонент и вектору передачи модели движения. Затем, сторона декодера определяет выборку предсказания текущего блока декодирования согласно квантованному вектору оптимизации модели движения, и выполняет декодирование и восстановление над текущим блоком декодирования согласно выборке предсказания.

[0103] поэтому, согласно способу декодирования видеоизображения в этом варианте осуществления настоящего изобретения, группа векторов движения и вектор передачи модели движения текущего блока декодирования определяются согласно принятому битовому потоку; вектор инициализации модели движения текущего блока декодирования определяется согласно группе векторов движения; вектор оптимизации модели движения определяется согласно вектору инициализации модели движения и вектору передачи модели движения; и декодирование и восстановление выполняются над вектором оптимизации модели движения. По такому принципу, объем данных и количество занятых бит в передаче кодирования и декодирования могут уменьшаться.

[0104] на этапе s210, устройство декодирования определяет группу векторов движения и вектор передачи модели движения текущего блока декодирования согласно битовому потоку. Группа векторов движения включает в себя, по меньшей мере, один вектор движения текущего блока декодирования, и каждый вектор движения соответствует одному пикселю в текущем блоке декодирования. Необязательно, количество параметров, требуемых для описания модели движения, изменяется между моделями движения. Для модели движения, имеющей 2n параметров, вектор передачи модели движения, определяемый стороной декодера, является 2n-мерным вектором, и группа векторов движения текущего блока декодирования может, в общем, включать в себя n векторов движения. Например, для аффинного движения, когда все пиксели в текущем блоке декодирования представляются посредством использования модели аффинного движения, в общем, модель аффинного движения может быть выражена как . То есть, модель аффинного движения имеет шесть параметров, и группа векторов движения может включать в себя три вектора движения. Для модели полного движения, в общем, используются 12 параметров, и группа векторов движения может включать в себя шесть векторов движения. Необязательно, определение группы векторов движения может быть определением, по меньшей мере, одного вектора движения из группы векторов движения, или определением одного вектора движения из группы векторов движения, или определением n векторов движения или всех векторов движения из группы векторов движения. Например, для аффинного движения, группа векторов движения может включать в себя, по меньшей мере, три вектора движения, и определение группы векторов движения текущего блока декодирования может быть определением одного вектора движения, трех векторов движения, или всех векторов движения из группы векторов вычисления. Согласно количеству векторов движения, определенных стороной кодера, сторона декодера также соответственно определяет соответствующее количество векторов движения. Настоящее изобретение не ограничено этим.

[0105] в этом варианте осуществления настоящего изобретения, сторона декодера может определять вектор передачи модели движения и группу векторов движения текущего блока декодирования согласно принятому битовому потоку. В частности, сторона декодера может сначала определять вектор передачи модели движения текущего блока декодирования согласно принятому битовому потоку. Все компоненты вектора передачи модели движения могут быть разностями между вектором инициализации модели движения и вектором оптимизации модели движения. Альтернативно, некоторые компоненты вектора передачи модели движения являются разностями между вектором инициализации модели движения и вектором оптимизации модели движения, и некоторые компоненты являются компонентами в соответствующих местоположениях вектора оптимизации модели движения. Настоящее изобретение не ограничено этим.

[0106] в необязательном порядке, в одном варианте осуществления, аффинное движение используется в качестве примера. Когда определяется группа векторов движения текущего блока декодирования, и группа векторов движения включает в себя три вектора движения, по меньшей мере, один вектор движения из группы векторов вычисления может сначала определяться согласно битовому потоку. В частности, когда сторона декодера определяет, что некоторые компоненты вектора передачи модели движения являются разностями между вектором инициализации модели движения и вектором оптимизации модели движения, и что некоторые компоненты являются компонентами в соответствующих местоположениях вектора оптимизации модели движения, сторона декодера может определять упомянутый, по меньшей мере, один вектор движения из группы векторов вычисления согласно битовому потоку. Сторона декодера декодирует битовый поток видео, определяет целевой подходящий блок текущего блока декодирования, и определяет вектор движения целевого подходящего блока и опорный кадр целевого подходящего блока. Сторона декодера отдельно получает номер порядка вывода poc опорного кадра целевого подходящего блока и номер порядка вывода poc опорного кадра текущего блока декодирования, выполняет масштабирование над вектором движения целевого подходящего блока согласно отношению номера порядка вывода poc опорного кадра текущего блока декодирования к номеру порядка вывода poc опорного кадра целевого подходящего блока, и определяет масштабированный вектор движения в качестве первого вектора движения в группе векторов движения текущего блока декодирования. Отношение первого вектора движения к вектору движения целевого подходящего блока является таким же как отношение номера порядка вывода опорного кадра текущего блока декодирования к номеру порядка вывода опорного кадра целевого подходящего блока.

[0107] в необязательном порядке, в одном варианте осуществления, аффинное движение используется в качестве примера. Группа векторов движения включает в себя три вектора движения, и определение группы векторов движения текущего блока декодирования может быть определением каждого вектора движения из группы векторов движения согласно битовому потоку. В частности, при определении, что все компоненты вектора передачи модели движения могут быть разностями между вектором инициализации модели движения и вектором оптимизации модели движения, сторона декодера может определять каждый вектор движения из группы векторов движения согласно битовому потоку. Сторона декодера может сначала определять целевой подходящий блок текущего блока декодирования согласно значению индекса в битовом потоке, определять опорный кадр целевого подходящего блока в качестве опорного кадра текущего блока декодирования, и использовать вектор движения целевого подходящего блока в качестве первого вектора движения в группе векторов движения текущего блока декодирования.

[0108] в этом варианте осуществления настоящего изобретения, после того, как определяется первый вектор движения в группе векторов движения текущего блока декодирования, второй вектор движения в группе векторов движения текущего блока декодирования определяется согласно первому вектору движения. Второй вектор движения является вектором движения в группе векторов движения, отличающимся от первого вектора движения. В частности, множество подходящих блоков текущего блока декодирования сначала определяются из декодированных блоков, соседних вокруг текущего блока декодирования. Множество подходящих блоков соответствуют одному и тому же пикселю. Необязательно, пиксель может быть вершиной текущего блока декодирования. Например, как показано на фиг. 2, для текущего блока декодирования, подходящие блоки могут включать в себя d и e, и множество подходящих блоков не включают в себя целевой подходящий блок, соответствующий определенному первому вектору движения, текущего блока декодирования. Затем, определяется опорный кадр каждого подходящего блока. Если опорный кадр подходящего блока не является таким же кадром как опорный кадр целевого подходящего блока, соответствующего первому вектору движения, то есть, опорным кадром текущего блока декодирования, над вектором движения подходящего блока выполняется масштабирование согласно отношению номера порядка вывода poc опорного кадра целевого подходящего блока к номеру порядка вывода poc опорного кадра подходящего блока, чтобы отношение номера порядка вывода опорного кадра текущего блока к номеру порядка вывода опорного кадра подходящего блока было таким же как отношение между векторами движения. Масштабированный вектор движения каждого подходящего блока отдельно сравнивается с первым вектором движения. Когда масштабированный вектор движения подходящего блока отличается от первого вектора движения, и различие является наименьшим, этот подходящий блок определяется в качестве целевого подходящего блока текущего блока декодирования, и масштабированный вектор движения, соответствующий этому целевому подходящему блоку, определяется в качестве второго вектора движения в группе векторов движения текущего блока декодирования.

[0109] в этом варианте осуществления настоящего изобретения, согласно вышеизложенному способу, может определяться множество вторых векторов движения. Например, когда группа векторов движения текущего блока декодирования включает в себя три вектора движения, после того, как определяется первый вектор движения в группе векторов движения, другие два вторых вектора движения могут определяться согласно вышеизложенному способу, и дополнительно определяется каждый вектор движения из группы векторов движения. Однако настоящее изобретение не ограничено этим.

[0110] в необязательном порядке, в одном варианте осуществления, аффинное движение используется в качестве примера. Определяется группа векторов движения текущего блока декодирования. Группа векторов движения включает в себя три вектора движения, и каждый вектор движения из группы векторов движения может определяться посредством декодирования битового потока. В частности, при определении, что все компоненты вектора передачи модели движения могут быть разностями между вектором инициализации модели движения и вектором оптимизации модели движения, сторона декодера может определять каждый вектор движения из группы векторов движения согласно битовому потоку, и напрямую получать значение каждого вектора движения из группы векторов движения текущего блока декодирования согласно битовому потоку. В дополнение, целевые подходящие блоки, текущего блока декодирования, соответствующие всем векторам движения в группе векторов движения, имеют один и тот же опорный кадр, и опорный кадр является опорным кадром текущего блока декодирования.

[0111] на этапе s220, значения предсказания первого набора компонент вектора инициализации модели движения текущего блока декодирования определяются согласно упомянутому, по меньшей мере, одному вектору движения из группы векторов движения. Вектор инициализации модели движения включает в себя упомянутые, по меньшей мере, четыре компоненты. Первый набор компонент включает в себя, по меньшей мере, одну компоненту вектора инициализации модели движения. В частности, модель аффинного движения используется в качестве примера. Аффинная модель может представляться посредством использования шести параметров, и упомянутые шесть параметров могут быть выражены как . Местоположение, в опорном кадре, каждого пикселя в текущем блоке декодирования может определяться согласно формуле (7), где x и y являются координатными значениями любого пикселя в текущем блоке декодирования, и являются координатными значениями, в соответствующей точке предсказания в опорном кадре, пикселя, и и являются векторами движения любого пикселя в текущем блоке декодирования. Может получаться формула (8). Согласно группе векторов движения, определенной на этапе s210, группа векторов движения может быть выражена как , и координаты векторов движения в группе векторов движения могут быть (0, 0), (w, 0), и (0, h), где w является шириной текущего блока декодирования, и h является высотой текущего блока декодирования. Формула (9) может получаться посредством подстановки группы векторов движения и координат в формулу (8), где является x-направленной компонентой j-ого подходящего вектора движения в первой группе подходящих векторов движения, является y-направленной компонентой j-ого подходящего вектора движения в первой группе подходящих векторов движения, и j=0, 1, 2. Соответственно, могут получаться все параметры в модели аффинного движения . Как показано в формуле (6), группа векторов движения текущего блока декодирования подставляется в формулу (6), и может определяться вектор инициализации модели движения текущего блока декодирования. Вектор инициализации модели движения является шестимерным вектором. Необязательно, для другой модели движения, вектор инициализации является вектором, включающим в себя, по меньшей мере, четыре размерности. Значения предсказания первого набора компонент могут определяться согласно вектору инициализации модели движения. Значения предсказания первого набора компонент могут включать в себя, по меньшей мере, одну компоненту вектора инициализации модели движения.

[0112] на этапе s230, вектор оптимизации модели движения текущего блока декодирования определяется согласно значениям предсказания первого набора компонент и вектору передачи модели движения, чтобы сторона декодера выполняла декодирование согласно вектору оптимизации модели движения. В частности, вектор передачи модели движения текущего блока декодирования может быть выражен как . Значения передачи первого набора компонент могут представляться посредством и , , и , где и являются числовыми значениями, полученными после квантования значений предсказания и первого набора компонент. Другие значения передачи параметров текущего блока декодирования могут быть выражены как , и может определяться , где является вектором оптимизации модели движения текущего блока декодирования.

[0113] в этом варианте осуществления настоящего изобретения, значения предсказания и первого набора компонент могут квантоваться, чтобы определять квантованные значения предсказания и первого набора компонент. В частности, аффинное движение используется в качестве примера. Вектор инициализации модели движения определяется согласно формуле (6). В векторе инициализации модели движения, и являются параметрами поступательного движения, и относятся к первому вектору движения в группе векторов движения. и могут определяться в качестве первого набора компонент. Необязательно, точность квантования упомянутых двух параметров может быть 1/16 или 1/4. 1/16 используется в качестве примера. Сначала, масштабируется четырехкратно, чтобы точность увеличивалась с 1/4 на 1/16; и затем, квантованные и , чья точность также равняется 1/16, вычисляются посредством использования , чья точность равняется 1/16, чтобы получать и , то есть, и являются квантованными значениями предсказания первого набора компонент.

[0114] в необязательном порядке, в одном варианте осуществления, значение предсказания первого набора компонент вектора инициализации модели движения может определяться согласно формуле (6). Первый набор компонент включает в себя все компоненты вектора инициализации модели движения, то есть, первый набор компонент включает в себя шесть параметров, так что определяются значения передачи модели движения текущего блока декодирования, то есть, значения передачи первого набора компонент являются , где , и является вектором оптимизации модели движения текущего блока декодирования.

[0115] в одном варианте осуществления настоящего изобретения, фиг. 4 является другой схематической блок-схемой последовательности операций способа декодирования видеоизображения согласно этому варианту осуществления настоящего изобретения. Способ, показанный на фиг. 4, может исполняться посредством устройства декодирования, такого как декодер. В частности, как показано на фиг. 4, способ 200 дополнительно включает в себя следующие этапы:

[0116] s240. Определение точности квантования модели движения текущего блока декодирования.

[0117] s250. Квантование вектора оптимизации модели движения согласно точности квантования модели движения.

[0118] s260. Декодирование текущего блока декодирования согласно квантованному вектору оптимизации модели движения.

[0119] в частности, точность квантования модели движения может определяться согласно текущему блоку декодирования; вектор оптимизации модели движения квантуется согласно точности квантования модели движения; и синтаксический разбор, декодирование, и восстановление выполняются над текущим блоком декодирования согласно квантованному вектору оптимизации модели движения.

[0120] на этапе s240, определяется точность квантования модели движения текущего блока декодирования. В частности, точность квантования может определяться согласно размеру текущего блока декодирования и информации точности. Размер текущего блока декодирования включает в себя ширину текущего блока декодирования и высоту текущего блока декодирования, и информация точности включает в себя точность квантования группы векторов движения. В частности, можно узнать, согласно формуле (6), что параметры модели движения относятся к ширине и высоте текущего блока декодирования. Поэтому, точность квантования может определяться согласно формуле (10). 1/p является точностью квантования группы векторов движения текущего блока декодирования. Необязательно, точность квантования группы векторов движения равняется, в общем, 1/4, таким образом, p=4. W является шириной текущего блока декодирования, и h является высотой текущего блока декодирования. Например, если ширина текущего блока декодирования равняется 16 и высота равняется 32, точность квантования группы векторов движения равняется 1/(32×4)=1/128; если ширина текущего блока декодирования равняется 16 и высота равняется 8, точность квантования равняется 1/(16×4)=1/64.

[0121] на этапе s250, определенный вектор оптимизации модели движения квантуется согласно определенной точности квантования, чтобы получать квантованный вектор оптимизации модели движения .

[0122] на этапе s260, текущий блок декодирования декодируется согласно квантованному вектору оптимизации модели движения. В частности, вектор оптимизации модели движения подставляется в формулу (7), и затем может получаться опорное местоположение смещения каждого пикселя с точностью q в текущем блоке декодирования. Выборка пикселя предсказания каждой выборки пикселя в текущем блоке декодирования получается посредством вычисления в опорном местоположении смещения. Затем, декодирование и восстановление выполняются над выборкой пикселя предсказания согласно определенному остатку предсказания, в принятом битовом потоке, текущего блока декодирования. Необязательно, выборка пикселя может быть одним пикселем или малым блоком пикселей, включающим в себя множество пикселей. Настоящее изобретение не ограничено этим.

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

[0124] поэтому, согласно способу декодирования видеоизображения в этом варианте осуществления настоящего изобретения, группа векторов движения и вектор передачи модели движения текущего блока декодирования определяются согласно принятому битовому потоку; вектор инициализации модели движения текущего блока декодирования определяется согласно группе векторов движения; вектор оптимизации модели движения определяется согласно вектору инициализации модели движения и вектору передачи модели движения; и декодирование и восстановление выполняются над вектором оптимизации модели движения. По такому принципу, объем данных и количество занятых бит в передаче кодирования и декодирования могут уменьшаться. В дополнение, когда вектор оптимизации модели движения определяется и вектор оптимизации квантуется, определенная точность квантования определяется согласно размеру текущего блока декодирования и точности квантования вектора движения текущего блока декодирования. Это также может уменьшать количество бит, требуемое в передаче параметра.

[0125] чтобы более хорошо обосновать предпочтительные эффекты этого варианта осуществления настоящего изобретения по сравнению с предшествующим уровнем техники, этот вариант осуществления настоящего изобретения реализуется на кодере на основе самого последнего стандарта кодирования видео hevc. С использованием hm12.0 в качестве эталона, способы сравниваются посредством экспериментов, и обнаруживается, что эффекты, достигаемые посредством использования способа в этом варианте осуществления настоящего изобретения, очевидно лучше эффектов, достигаемых посредством использования способа hm12.0 в случае 1.

[0126] см. На таблицу 1.

Таблица 1

Класс Последовательность Случай 1 Случай 2 Случай 3 Случай 4 Случай 5
Ldp Дельфин 0,0% -0,5% -0,4% -0,6% -0,7%
Город -3,5% -5,8% -4,6% -5,8% -3,8%
Команда -0,1% -0,3% -0,1% -0,6% -0,6%
Реактивные самолеты -4,5% -9,7% -7,5% -11,4% -11,4%
Трактор -9,9% -19,4% -19,9% -20,7% -21,1%
Ваза для цветов -2,1% -2,8% -2,9% -3,2% -2,4%
Синее небо -2,2% -6,4% -6,1% -6,8% -6,3%
Настольная карточка -2,5% -5,7% -5,9% -6,1% -6,2%
Поворотный календарь -5,7% -15,2% -14,0% -15,6% -14,3%
Среднее Все -3,4% -7,3% -6,8% -7,9% -7,4%

[0127] случай 1: показывает опорный результат сравнения, где параметр не предсказывается, квантуются посредством использования точности, равной 1/16, и квантуются посредством использования точности, равной 1/512.

[0128] случай 2: показывает опорный результат сравнения, где предсказываются только параметры , квантуются посредством использования точности, равной 1/16, и квантуются посредством использования точности, равной 1/512.

[0129] случай 3: показывает опорный результат сравнения, где предсказываются параметры , квантуются посредством использования точности, равной 1/16, и квантуются посредством использования точности, равной 1/512.

[0130] случай 4: показывает опорный результат сравнения, где предсказываются только параметры , квантуются посредством использования точности, равной 1/16, и квантуются посредством использования точности, вычисленной согласно формуле (10).

[0131] случай 5: показывает опорный результат сравнения, где предсказываются только параметры , квантуются посредством использования точности, равной 1/4, и квантуются посредством использования точности, вычисленной согласно формуле (10).

[0132] поэтому, согласно способу кодирования видеоизображения и способу декодирования видеоизображения в вариантах осуществления настоящего изобретения, сторона кодера определяет группу векторов движения текущего блока кодирования, определяет вектор инициализации модели движения текущего блока кодирования согласно группе векторов движения, определяет подлежащие передаче значения модели движения согласно вектору инициализации модели движения, и кодирует подлежащие передаче значения модели движения для передачи; и сторона декодера определяет подлежащие передаче значения модели движения согласно принятому битовому потоку, и выполняет декодирование и восстановление согласно значениям передачи модели движения. По такому принципу, объем данных и количество занятых бит в передаче кодирования и декодирования могут уменьшаться.

[0133] в вышеизложенном, как показано на фиг. 1 по фиг. 4, способ кодирования видеоизображения и способ декодирования видеоизображения описаны подробно согласно вариантам осуществления настоящего изобретения. В последующем, как показано на фиг. 5 и фиг. 6, устройство кодирования и устройство декодирования описываются согласно вариантам осуществления настоящего изобретения.

[0134] фиг. 5 является схематической блок-схемой последовательности операций устройства кодирования 300 согласно одному варианту осуществления настоящего изобретения. Устройство кодирования может быть пользовательским оборудованием, таким как ue; или может быть сетевым устройством, таким как rnc или enb. Как показано на фиг. 5, устройство кодирования 300 включает в себя:

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

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

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

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

[013] в частности, первый модуль 310 определения определяет группу векторов движения текущего блока кодирования, где группа векторов движения включает в себя, по меньшей мере, один вектор движения, соответствующий пикселю в текущем блоке кодирования. Второй модуль 320 определения определяет значения предсказания первого набора компонент вектора инициализации модели движения текущего блока кодирования согласно упомянутому, по меньшей мере, одному вектору движения из группы векторов движения, где вектор инициализации модели движения включает в себя, по меньшей мере, четыре компоненты, и первый набор компонент включает в себя, по меньшей мере, одну компоненту вектора инициализации модели движения; и затем определяет точность квантования модели движения и вектор оптимизации модели движения согласно текущему блоку кодирования, и квантует вектор оптимизации модели движения согласно точности квантования. Третий модуль 330 определения может определять подлежащие передаче значения первого набора компонент согласно значениям предсказания первого набора компонент вектора инициализации модели движения и квантованному вектору оптимизации модели движения, кодировать подлежащие передаче значения первого набора компонент, и передавать кодированные подлежащие передаче значения стороне декодера, чтобы сторона декодера выполняла операцию декодирования. Третий модуль 330 определения может дополнительно определять выборку предсказания текущего блока кодирования согласно квантованному вектору оптимизации модели движения, и кодировать текущий блок кодирования согласно выборке предсказания для передачи.

[0136] поэтому, устройство кодирования в этом варианте осуществления настоящего изобретения определяет группу векторов движения текущего блока кодирования; определяет вектор инициализации модели движения текущего блока кодирования согласно группе векторов движения; определяет подлежащие передаче значения модели движения согласно вектору инициализации модели движения; и кодирует подлежащие передаче значения модели движения для передачи, чтобы сторона декодера выполняла декодирование согласно подлежащим передаче значениям модели движения. По такому принципу, объем данных и количество занятых бит в передаче кодирования и декодирования могут уменьшаться.

[0137] в этом варианте осуществления настоящего изобретения, для обработки кодирования видеоизображения во всех стандартах кодирования, по отношению к интер-предсказанию, множество моделей движения может использоваться в обработке вычисления компенсации движения, как, например, модель аффинного движения, модель полного движения, или модель перспективы. Здесь, модель аффинного движения используется в качестве примера для описания, но настоящее изобретение не ограничено этим.

[0138] в этом варианте осуществления настоящего изобретения, первый модуль 310 определения определяет группу векторов движения текущего блока кодирования, и группа векторов движения включает в себя, по меньшей мере, один вектор движения, соответствующий пикселю в текущем блоке кодирования. Количество параметров, требуемых для описания модели движения, изменяется между моделями движения. Для модели движения, имеющей 2n параметров, группа векторов движения текущего блока кодирования может, в общем, включать в себя n векторов движения. Например, для аффинного движения, когда все пиксели в текущем блоке кодирования представляются посредством использования модели аффинного движения, в общем, модель аффинного движения может быть выражена как . То есть, модель аффинного движения имеет шесть параметров, и группа векторов движения включает в себя, по меньшей мере, три вектора движения. Для модели полного движения, в общем, используются 12 параметров, и группа векторов движения включает в себя, по меньшей мере, шесть векторов движения. Необязательно, определение, по меньшей мере, одного вектора движения из группы векторов движения может быть определением одного вектора движения из группы векторов движения, или определением n векторов движения или всех векторов движения из группы векторов движения. Например, для аффинного движения, группа векторов движения может включать в себя, по меньшей мере, три вектора движения, и определение группы векторов движения текущего блока кодирования может быть определением одного вектора движения, трех векторов движения, или всех векторов движения из группы векторов вычисления. Настоящее изобретение не ограничено этим.

[0139] в необязательном порядке, в одном варианте осуществления, аффинное движение используется в качестве примера. Группа векторов движения включает в себя три вектора движения, и то, что первый модуль 310 определения определяет группу векторов движения текущего блока кодирования, может быть определением, по меньшей мере, одного вектора движения из группы векторов вычисления. Для стандарта hevc (высокоэффективного кодирования видео), первый вектор движения в группе векторов движения текущего блока кодирования может определяться посредством использования технологии amvp (усовершенствованного предсказания векторов движения). В частности, сначала, множество подходящих блоков текущего блока кодирования определяются из кодированных блоков, соседних вокруг текущего блока кодирования. Множество подходящих блоков может определяться согласно координатным местоположениям, и множество подходящих блоков являются смежными с текущим блоком кодирования. Например, как показано на фиг. 2, для текущего блока кодирования, в общем, a по g могут определяться в качестве множества подходящих блоков текущего блока кодирования. Затем, определяется значение ошибки согласованности между блоком предсказания, соответствующим вектору движения каждого подходящего блока, и текущим блоком кодирования. В частности, блок предсказания, соответствующий вектору движения подходящего блока, определяется в опорном кадре согласно вектору движения подходящего блока и текущему блоку кодирования; и затем, вычисляется значение ошибки согласованности между блоком предсказания и текущим блоком кодирования, и подходящий блок, соответствующий наименьшему значению ошибки согласованности, определяется в качестве целевого подходящего блока текущего блока кодирования. Далее, отдельно определяются номер порядка вывода (poc) опорного кадра текущего блока кодирования и номер порядка вывода (poc) опорного кадра целевого подходящего блока. Над вектором движения целевого подходящего блока выполняется масштабирование согласно отношению номера порядка вывода (poc) опорного кадра текущего блока кодирования к номеру порядка вывода (poc) опорного кадра целевого подходящего блока. Масштабированный вектор движения целевого подходящего блока определяется в качестве первого вектора движения в группе векторов движения текущего блока кодирования. Отношение первого вектора движения к вектору движения целевого подходящего блока является таким же как отношение номера порядка вывода опорного кадра текущего блока кодирования к номеру порядка вывода опорного кадра целевого подходящего блока.

[0140] в этом варианте осуществления настоящего изобретения, определенный вектор движения целевого подходящего блока может определяться в качестве точки начала поиска в последующей оценке движения. Устройство кодирования может кодировать значение индекса, соответствующее целевому подходящему блоку, и передавать кодированное значение индекса стороне декодера, чтобы сторона декодера выполняла декодирование и определяла целевой подходящий блок и вектор движения целевого подходящего блока.

[0141] в этом варианте осуществления настоящего изобретения, первый модуль 310 определения может определять, согласно следующему способу, значение ошибки согласованности между блоком предсказания, соответствующим вектору движения каждого подходящего блока, и текущим блоком кодирования. В частности, для каждого пикселя в текущем блоке кодирования, значение ошибки согласованности каждого пикселя может определяться согласно формулам (1) по (4), где является исходным значением пикселя для пикселя, является значением пикселя предсказания для пикселя в кадре, на который указывает вектор движения подходящего блока, и являются координатными значениями пикселя, является горизонтальным градиентом местоположения пикселя, и является вертикальным градиентом местоположения пикселя. Эти градиенты могут получаться посредством вычисления посредством использования оператора собеля (sobel).

[0142] в этом варианте осуществления настоящего изобретения, первый модуль 310 определения может определять, согласно формулам (1) по (4), значение ошибки согласованности каждого пикселя в текущем блоке кодирования по отношению к блоку предсказания, соответствующему вектору движения подходящего блока, и складывать абсолютные значения для значений ошибки согласованности всех пикселей в текущем блоке кодирования. Может получаться значение ошибки согласованности между текущим блоком кодирования и блоком предсказания, соответствующим подходящему блоку. Однако настоящее изобретение не ограничено этим. Согласно вышеизложенному способу, последовательно определяется значение ошибки согласованности между текущим блоком кодирования и блоком предсказания, соответствующим каждому подходящему блоку. Подходящий блок, соответствующий наименьшему значению ошибки согласованности, используется в качестве целевого подходящего блока текущего блока кодирования.

[0143] в необязательном порядке, в одном варианте осуществления, аффинное движение используется в качестве примера. Первый модуль 310 определения определяет группу векторов движения текущего блока кодирования. Группа векторов движения включает в себя три вектора движения. После того, как один вектор движения, именно, первый вектор движения, из группы векторов движения определяется согласно вышеизложенному способу, как показано на фиг. 2, первый вектор движения может быть вектором движения, соответствующим вершине текущего блока кодирования. Необязательно, векторы движения двух вершин, смежных с вершиной текущего блока кодирования, могут выбираться в качестве других векторов движения в группе векторов движения. Группа векторов движения может быть выражена как , и координаты векторов движения в группе векторов движения являются (0, 0), (w, 0), и (0, h), где w является шириной текущего блока кодирования, и h является высотой текущего блока кодирования.

[0144] в необязательном порядке, в одном варианте осуществления, аффинное движение используется в качестве примера. Группа векторов движения включает в себя три вектора движения, и то, что первый модуль 310 определения определяет группу векторов движения текущего блока кодирования, может быть определением каждого вектора движения из группы векторов движения. В частности, сначала, множество кодированных блоков, соседних вокруг текущего блока кодирования, могут определяться в качестве множества подходящих блоков. Множество подходящих блоков соответствуют одному и тому же пикселю в текущем блоке кодирования. Необязательно, пиксель может быть вершиной текущего блока кодирования. Например, как показано на фиг. 2, a, b, и c могут определяться в качестве множества подходящих блоков текущего блока кодирования. Согласно формулам (1) по (4), отдельно определяется значение ошибки согласованности каждого пикселя в текущем блоке кодирования по отношению к блоку предсказания, соответствующему вектору движения каждого подходящего блока. Затем, абсолютные значения для значений ошибки согласованности всех пикселей складываются. Определяется значение ошибки согласованности каждого подходящего блока относительно текущего блока кодирования. Подходящий блок, соответствующий наименьшему значению ошибки согласованности, выбирается в качестве целевого подходящего блока текущего блока кодирования. Вектор движения целевого подходящего блока определяется в качестве первого вектора движения в группе векторов движения текущего блока кодирования. Опорный кадр целевого подходящего блока определяется в качестве опорного кадра текущего блока кодирования. Вектор движения целевого подходящего блока используется в качестве первого вектора движения текущего блока кодирования, и первый вектор движения может использоваться в качестве точки начала поиска в последующей оценке движения. Устройство кодирования может кодировать значение индекса, соответствующее целевому подходящему блоку, и передавать кодированное значение индекса стороне декодера, чтобы сторона декодера выполняла декодирование и определяла целевой подходящий блок и вектор движения целевого подходящего блока.

[0145] в этом варианте осуществления настоящего изобретения, после определения первого вектора движения в группе векторов движения текущего блока кодирования, первый модуль 310 определения определяет второй вектор движения в группе векторов движения текущего блока кодирования согласно первому вектору движения. Второй вектор движения является вектором движения в группе векторов движения, отличающимся от первого вектора движения. В частности, сначала, множество подходящих блоков текущего блока кодирования определяются из кодированных блоков, соседних вокруг текущего блока кодирования. Множество блоков кодирования соответствуют одному и тому же пикселю в текущем блоке кодирования. Необязательно, пиксель может быть вершиной текущего блока кодирования. Пиксель отличается от пикселей, соответствующих множеству подходящих блоков в определении первого вектора движения. Например, как показано на фиг. 2, подходящие блоки могут включать в себя d и e, и множество подходящих блоков не включают в себя подходящий блок в определении первого вектора движения. Затем, определяется опорный кадр каждого подходящего блока. Если опорный кадр подходящего блока не является таким же кадром как опорный кадр целевого подходящего блока, соответствующего первому вектору движения, то есть, опорным кадром текущего блока кодирования, над вектором движения подходящего блока выполняется масштабирование согласно отношению номера порядка вывода poc опорного кадра целевого подходящего блока к номеру порядка вывода poc опорного кадра подходящего блока, чтобы отношение номера порядка вывода опорного кадра текущего блока к номеру порядка вывода опорного кадра подходящего блока было таким же как отношение между векторами движения. Масштабированный вектор движения каждого подходящего блока отдельно сравнивается с первым вектором движения. Когда масштабированный вектор движения подходящего блока отличается от первого вектора движения, и различие является наименьшим, этот подходящий блок определяется в качестве второго целевого подходящего блока текущего блока кодирования, и масштабированный вектор движения, соответствующий этому целевому подходящему блоку, определяется в качестве второго вектора движения в группе векторов движения текущего блока кодирования.

[0146] в этом варианте осуществления настоящего изобретения, первый модуль 310 определения может определять множество вторых векторов движения согласно вышеизложенному способу. Например, когда группа векторов движения текущего блока кодирования включает в себя три вектора движения, после того, как определяется один первый вектор движения из группы векторов движения, другие два вторых вектора движения могут определяться согласно вышеизложенному способу. Однако настоящее изобретение не ограничено этим.

[0147] в необязательном порядке, в одном варианте осуществления, аффинное движение используется в качестве примера. Первый модуль 310 определения определяет группу векторов движения текущего блока кодирования. Группа векторов движения включает в себя три вектора движения, и каждый вектор движения из группы векторов движения может дополнительно определяться согласно следующему способу. В частности, определяются множество подходящих блоков текущего блока кодирования. Все из множества подходящих блоков являются кодированными блоками, смежными с текущим блоком кодирования. Например, как показано на фиг. 2, a по f являются множеством подходящих блоков текущего блока кодирования. Затем, множество групп подходящих векторов движения текущего блока кодирования определяются согласно множеству подходящих блоков. Каждая группа подходящих векторов движения включает в себя три вектора движения, и упомянутые три вектора движения соответствуют трем пикселям в текущем блоке кодирования. Необязательно, векторы движения нескольких подходящих блоков, которые выбираются из множества подходящих блоков, могут использоваться в качестве группы подходящих векторов движения. Например, как показано на фиг. 2, для множества подходящих блоков a по f, три вектора движения, включающие в себя вектор движения блока, произвольно выбираемого из подходящих блоков a, b, и c, которые соответствуют одному и тому же пикселю, вектор движения блока, произвольно выбираемого из d и e, которые соответствуют другому пикселю, и вектор движения блока, произвольно выбираемого из f и g, которые соответствуют другому пикселю, могут составлять группу подходящих векторов движения. Так как имеются разные выборы, эти подходящие блоки могут составлять 12 групп подходящих векторов движения. Определяется опорный кадр каждого вектора движения из первой группы подходящих векторов движения. Первая группа подходящих векторов движения является любой группой подходящих векторов движения из множества групп подходящих векторов движения. Пропорциональное масштабирование выполняется над индексным номером и номером порядка вывода опорного кадра подходящего блока, соответствующего каждому вектору движения из первой группы подходящих векторов движения, чтобы упомянутые три вектора движения из первой группы подходящих векторов движения соответствовали одному и тому же номеру порядка вывода и индексному номеру опорного кадра.

[0148] в этом варианте осуществления настоящего изобретения, первый модуль 310 определения может определять местоположение предсказания, в опорном кадре первой группы подходящих векторов движения, каждого пикселя в текущем блоке кодирования согласно формулам (5) и (6), где w является шириной текущего блока кодирования, h является высотой текущего блока кодирования, является x-направленной компонентой j-ого подходящего вектора движения в первой группе подходящих векторов движения, является y-направленной компонентой j-ого подходящего вектора движения в первой группе подходящих векторов движения, j=0, 1, 2, x и y являются координатными значениями каждого пикселя в текущем блоке кодирования, и и являются координатными значениями, в точке предсказания, соответствующей опорному кадру в первой группе подходящих векторов движения, пикселя.

[0149] согласно координатным значениям каждого пикселя в текущем блоке кодирования и координатным значениям пикселя, в точке предсказания, соответствующей опорному кадру, в текущем блоке кодирования, для первой группы подходящих векторов движения, значение ошибки согласованности между каждым пикселем в текущем блоке кодирования и точкой предсказания, соответствующей опорному кадру первой группы подходящих векторов движения, определяется согласно формуле (1), где . Вычисляется абсолютное значение значения ошибки согласованности каждого пикселя по отношению к первой группе подходящих векторов движения, и абсолютные значения складываются, чтобы определять значение ошибки согласованности первой группы подходящих векторов движения, соответствующей текущему блоку кодирования. Аналогично, определяется значение ошибки согласованности текущего блока кодирования по отношению к каждой группе подходящих векторов движения, и группа подходящих векторов движения, соответствующая наименьшему значению в множестве значений ошибки согласованности, соответствующих множеству групп подходящих векторов движения, определяется в качестве группы векторов движения текущего блока кодирования. Значение индекса группы векторов движения кодируется и передается стороне декодера, чтобы сторона декодера определяла группу векторов движения согласно значению индекса.

[0150] в этом варианте осуществления настоящего изобретения, для группы векторов движения, определенной посредством первого модуля 310 определения, любой вектор движения из группы векторов движения может использоваться в качестве точки начала поиска в последующей оценке движения. Необязательно, как показано на фиг. 2, местоположение предсказания вершины в верхнем левом угле текущего блока кодирования может использоваться в качестве точки начала поиска в последующей оценке движения. Настоящее изобретение не ограничено этим.

[0151] в этом варианте осуществления настоящего изобретения, второй модуль 320 определения определяет значения предсказания первого набора компонент вектора инициализации модели движения текущего блока кодирования согласно упомянутому, по меньшей мере, одному вектору движения из группы векторов движения. Вектор инициализации модели движения включает в себя упомянутые, по меньшей мере, четыре компоненты. Первый набор компонент включает в себя, по меньшей мере, одну компоненту вектора инициализации модели движения. В частности, модель аффинного движения используется в качестве примера. Аффинная модель может представляться посредством использования шести параметров, и упомянутые шесть параметров могут быть выражены как . Местоположение, в опорном кадре, каждого пикселя в текущем блоке кодирования может определяться согласно формуле (7), где x и y являются координатными значениями любого пикселя в текущем блоке кодирования, и являются координатными значениями, в соответствующей точке предсказания в опорном кадре, пикселя, и и являются векторами движения любого пикселя в текущем блоке кодирования. Может получаться формула (8). Согласно группе векторов движения, определенной посредством первого модуля 310 определения, вектор движения может быть выражен как . Целевые подходящие блоки, соответствующие группе векторов движения, являются блоками a по g, показанными на фиг. 2. Поэтому, координаты векторов движения в группе векторов движения могут быть (0, 0), (w, 0), и (0, h), где w является шириной текущего блока кодирования, и h является высотой текущего блока кодирования. Формула (9) может получаться посредством подстановки группы векторов движения и координат в формулу (8), где является x-направленной компонентой j-ого подходящего вектора движения в первой группе подходящих векторов движения, является y-направленной компонентой j-ого подходящего вектора движения в первой группе подходящих векторов движения, и j=0, 1, 2. Соответственно, могут получаться все параметры в модели аффинного движения . Как показано в формуле (6), группа векторов движения текущего блока кодирования подставляется в формулу (6), и может определяться вектор инициализации модели движения текущего блока кодирования. Вектор инициализации модели движения является шестимерным вектором. Необязательно, для другой модели движения, вектор инициализации является вектором, включающим в себя, по меньшей мере, четыре размерности. Значения предсказания первого набора компонент могут определяться согласно вектору инициализации модели движения. Значения предсказания первого набора компонент могут быть, по меньшей мере, одной компонентой вектора инициализации модели движения.

[0152] в этом варианте осуществления настоящего изобретения, третий модуль 330 определения определяет подлежащие передаче значения первого набора компонент согласно значениям предсказания первого набора компонент. В частности, третий модуль 330 определения может определять точность квантования модели движения и вектор оптимизации модели движения согласно текущему блоку кодирования, квантовать вектор оптимизации модели движения согласно точности квантования модели движения, и определять подлежащие передаче значения первого набора компонент согласно значениям предсказания первого набора компонент модели движения и квантованному вектору оптимизации модели движения.

[0153] в этом варианте осуществления настоящего изобретения, третий модуль 330 определения может сначала определять вектор оптимизации модели движения. Необязательно, вектор оптимизации модели движения может определяться согласно предшествующему уровню техники. В частности, значение ошибки согласованности текущего блока кодирования может определяться согласно формулам (1) по (4). Блок предсказания текущего блока кодирования ищется градиентным итеративным способом внутри конкретного диапазона опорного кадра текущего блока кодирования. Блок предсказания, соответствующий наименьшему значению ошибки согласованности, определяется в качестве блока предсказания текущего блока кодирования, и соответствующий параметр модели движения в этом случае определяется в качестве вектора оптимизации текущего блока кодирования согласно формуле (4).

[0154] в необязательном порядке, третий модуль 330 определения может дополнительно определять вектор инициализации модели движения текущего блока кодирования согласно формуле (6), и определять вектор инициализации модели движения в качестве вектора оптимизации модели движения.

[0155] в необязательном порядке, вектор инициализации модели движения текущего блока кодирования может дополнительно определяться согласно формуле (6). Соответствующее местоположение, в опорном кадре, каждого пикселя в текущем блоке кодирования получается посредством вычисления согласно формуле (7). Значение ошибки согласованности текущего блока кодирования вычисляется согласно формуле (1) и (6). Это значение ошибки согласованности сравнивается со значением ошибки согласованности, которое соответствует параметру модели движения и которое определяется согласно формулам (1) по (4) и предшествующему уровню техники. Параметр модели движения , соответствующий наименьшему значению ошибки согласованности, выбирается в качестве вектора оптимизации текущего блока кодирования. Настоящее изобретение не ограничено этим.

[0156] в этом варианте осуществления настоящего изобретения, третий модуль 330 определения дополнительно должен определять точность квантования модели движения, чтобы квантовать вектор оптимизации модели движения. В частности, вектор оптимизации модели движения включает в себя два параметра поступательного движения и . Точность квантования упомянутых двух параметров поступательного движения может быть 1/16 или 1/4. Настоящее изобретение не ограничено этим. Точность квантования других параметров в векторе оптимизации модели движения может быть 1/512. Альтернативно, точность квантования может определяться согласно размеру текущего блока кодирования и информации точности. Размер текущего блока кодирования включает в себя ширину текущего блока кодирования и высоту текущего блока кодирования, и информация точности может включать в себя точность квантования группы векторов движения текущего блока кодирования. В частности, можно узнать, согласно формуле (6), что последние четыре параметра в модели движения относятся к ширине и высоте текущего блока кодирования. Поэтому, точность квантования может определяться согласно формуле (10). P может определяться согласно информации точности текущего блока кодирования. В частности, 1/p является точностью квантования группы векторов движения текущего блока кодирования. Необязательно, точность квантования группы векторов движения равняется, в общем, 1/4, таким образом, p=4. W является шириной текущего блока кодирования, и h является высотой текущего блока кодирования. Например, если ширина текущего блока кодирования равняется 16 и высота равняется 32, точность квантования группы векторов движения равняется 1/(32×4)=1/128; если ширина блока кодирования равняется 16 и высота равняется 8, точность квантования равняется 1/(16×4)=1/64.

[0157] в этом варианте осуществления настоящего изобретения, третий модуль 330 определения квантует вектор оптимизации модели движения согласно определенной точности квантования, чтобы получать квантованный вектор оптимизации модели движения .

[0158] в этом варианте осуществления настоящего изобретения, третий модуль 330 определения определяет подлежащие передаче значения первого набора компонент согласно значениям предсказания первого набора компонент и квантованному вектору оптимизации модели движения. В частности, определение может выполняться посредством использования следующего способа. Здесь, аффинное движение используется в качестве примера. Вектор инициализации модели движения определяется согласно формуле (6). В векторе инициализации модели движения, и являются параметрами поступательного движения, и относятся к первому вектору движения в группе векторов движения. и могут определяться в качестве первого набора компонент, и значения и , которые определяются согласно формуле (6), являются значениями предсказания первого набора компонент. Необязательно, точность квантования упомянутых двух параметров может быть 1/16 или 1/4. 1/16 используется в качестве примера. Сначала, масштабируется четырехкратно, чтобы точность увеличивалась с 1/4 на 1/16. Затем, квантованные и , чья точность также равняется 1/16, вычисляются посредством использования , чья точность равняется 1/16, чтобы получать и , то есть, и являются квантованными значениями предсказания первого набора компонент.

[0159] в этом варианте осуществления настоящего изобретения, третий модуль 330 определения определяет подлежащие передаче значения первого набора компонент текущего блока кодирования согласно квантованным значениям предсказания и первого набора компонент и определенному вектору оптимизации модели движения. Значения передачи модели движения текущего блока кодирования могут быть . Первый набор компонент может включать в себя две компоненты. Значения передачи первого набора компонент могут быть и , , и . Другие значения передачи являются , является квантованным вектором оптимизации модели движения, и и являются квантованными значениями значений предсказания и первого набора компонент. В этом случае, два параметра в параметрах передачи кодирования являются разностями между квантованным первым набором компонент и вектором оптимизации модели движения. Разности меньше, чем количество бит, занимаемых квантованным вектором оптимизации модели движения в прямой передаче кодирования. Это уменьшает объем передаваемых данных.

[0160] в необязательном порядке, в одном варианте осуществления, третий модуль 330 определения определяет подлежащие передаче значения первого набора компонент согласно значениям предсказания первого набора компонент и квантованному вектору оптимизации модели движения. В частности, определение может дополнительно выполняться согласно следующему способу. Согласно формуле (6), определяются шесть компонент вектора инициализации модели движения, где i=0, 1, 2, 3, 4, 5. Затем, определяется, что первый набор компонент также включает в себя шесть параметров, и могут определяться значения передачи модели движения текущего блока кодирования, то есть, значения передачи первого набора компонент являются , где , является квантованным вектором оптимизации модели движения, и является значением предсказания первого набора компонент.

[0161] в этом варианте осуществления настоящего изобретения, модуль 340 кодирования может кодировать подлежащие передаче значения первого набора компонент, определенные посредством третьего модуля 330 определения, и передавать кодированные подлежащие передаче значения первого набора компонент стороне декодера. В частности, модуль 340 кодирования может кодировать подлежащий передаче вектор модели движения текущего блока кодирования, и передавать кодированный подлежащий передаче вектор модели движения текущего блока кодирования стороне декодера. В дополнение, модуль 340 кодирования может дополнительно квантовать вектор оптимизации модели движения согласно точности квантования модели движения, определенной посредством третьего модуля 330 определения; определять выборку пикселя предсказания каждой выборки пикселя текущего блока кодирования; и дополнительно определять остаток предсказания текущего блока кодирования, кодировать остаток предсказания, и передавать кодированный остаток предсказания стороне декодера. В частности, для вектора оптимизации модели движения , каждый параметр квантуется согласно точности квантования модели движения, определенной согласно формуле (10), чтобы получать квантованный вектор оптимизации модели движения . Квантованный вектор оптимизации модели движения подставляется в формулу (7), и может получаться опорное местоположение смещения каждого пикселя с точностью q в текущем блоке кодирования. Выборка пикселя предсказания каждой выборки пикселя в текущем блоке кодирования получается посредством вычисления в опорном местоположении смещения. Дополнительно, определяется остаток предсказания текущего блока кодирования, и остаток предсказания кодируется и передается стороне декодера. Необязательно, выборка пикселя может быть одним пикселем или малым блоком пикселей, включающим в себя множество пикселей. Настоящее изобретение не ограничено этим.

[0162] следует понимать, что устройство кодирования 300 согласно этому варианту осуществления настоящего изобретения может быть соответствующим образом сконфигурировано с возможностью исполнять способ 100 кодирования видеоизображения в варианте осуществления настоящего изобретения. В дополнение, вышеизложенные и другие действия и/или функции модулей в устройстве 300 кодирования предназначены для реализации соответствующих обработок способов на фиг. 1 и фиг. 2. Для краткости, подробности дополнительно здесь не описываются.

[0163] поэтому, устройство кодирования в этом варианте осуществления настоящего изобретения определяет группу векторов движения текущего блока кодирования; определяет вектор инициализации модели движения текущего блока кодирования согласно группе векторов движения; определяет подлежащие передаче значения модели движения согласно вектору инициализации модели движения; и кодирует подлежащие передаче значения модели движения для передачи, чтобы сторона декодера выполняла декодирование согласно подлежащим передаче значениям модели движения. По такому принципу, объем данных и количество занятых бит в передаче кодирования и декодирования могут уменьшаться. В дополнение, когда вектор оптимизации модели движения определяется и вектор оптимизации квантуется, определенная точность квантования определяется согласно размеру текущего блока кодирования и точности квантования вектора движения текущего блока кодирования. Это также может уменьшать количество бит, требуемое для параметра кодирования.

[0164] фиг. 6 является схематической блок-схемой устройства 400 декодирования согласно одному варианту осуществления настоящего изобретения. Устройство декодирования может быть пользовательским оборудованием, таким как ue; или может быть сетевым устройством, таким как rnc или enb. Как показано на фиг. 6, устройство 400 декодирования включает в себя:

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

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

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

[0165] в частности, первый модуль 410 определения стороны декодера принимает битовый поток, передаваемый стороной кодера, выполняет декодирование согласно битовому потоку, и определяет группу векторов движения текущего блока декодирования и вектор передачи модели движения. Группа векторов движения включает в себя, по меньшей мере, один вектор движения, соответствующий пикселю в текущем блоке декодирования. Второй модуль 420 определения определяет значения предсказания первого набора компонент вектора инициализации модели движения текущего блока декодирования согласно упомянутому, по меньшей мере, одному вектору движения из группы векторов движения. Вектор инициализации модели движения включает в себя упомянутые, по меньшей мере, четыре компоненты. Первый набор компонент включает в себя, по меньшей мере, одну компоненту вектора инициализации модели движения. Третий модуль 430 определения определяет вектор оптимизации модели движения текущего блока декодирования согласно значениям предсказания первого набора компонент и вектору передачи модели движения. Затем, третий модуль 430 определения определяет выборку предсказания текущего блока декодирования согласно квантованному вектору оптимизации модели движения, и выполняет декодирование и восстановление над текущим блоком декодирования согласно выборке предсказания.

[0166] поэтому, устройство декодирования в этом варианте осуществления настоящего изобретения определяет группу векторов движения и вектор передачи модели движения текущего блока декодирования согласно принятому битовому потоку; определяет вектор инициализации модели движения текущего блока декодирования согласно группе векторов движения; определяет вектор оптимизации модели движения согласно вектору инициализации модели движения и вектору передачи модели движения; и декодирует и восстанавливает вектор оптимизации модели движения. По такому принципу, объем данных и количество занятых бит в передаче кодирования и декодирования могут уменьшаться.

[0167] в этом варианте осуществления настоящего изобретения, устройство декодирования выполняет декодирование согласно битовому потоку. Первый модуль 410 определения определяет группу векторов движения текущего блока декодирования и вектор передачи модели движения. Группа векторов движения включает в себя, по меньшей мере, один вектор движения текущего блока декодирования, и каждый вектор движения соответствует одному пикселю в текущем блоке декодирования. Необязательно, количество параметров, требуемых для описания модели движения, изменяется между моделями движения. Для модели движения, имеющей 2n параметров, вектор передачи модели движения, определяемый стороной декодера, является 2n-мерным вектором, и группа векторов движения текущего блока декодирования может, в общем, включать в себя n векторов движения. Например, для аффинного движения, когда все пиксели в текущем блоке декодирования представляются посредством использования модели аффинного движения, в общем, модель аффинного движения может быть выражена как . То есть, модель аффинного движения имеет шесть параметров, и группа векторов движения может включать в себя три вектора движения. Для модели полного движения, в общем, используются 12 параметров, и группа векторов движения может включать в себя шесть векторов движения. Необязательно, определение группы векторов движения может быть определением, по меньшей мере, одного вектора движения из группы векторов движения, или определением одного вектора движения из группы векторов движения, или определением n векторов движения или всех векторов движения из группы векторов движения. Например, для аффинного движения, группа векторов движения может включать в себя, по меньшей мере, три вектора движения, и определение группы векторов движения текущего блока декодирования может быть определением одного вектора движения, трех векторов движения, или всех векторов движения из группы векторов вычисления. Согласно количеству векторов движения, определенных стороной кодера, сторона декодера также соответственно определяет соответствующее количество векторов движения. Настоящее изобретение не ограничено этим.

[0168] в этом варианте осуществления настоящего изобретения, первый модуль 410 определения устройства декодирования может определять вектор передачи модели движения и группу векторов движения текущего блока декодирования согласно принятому битовому потоку. В частности, сторона декодера может сначала определять вектор передачи модели движения текущего блока декодирования согласно принятому битовому потоку. Все компоненты вектора передачи модели движения могут быть разностями между вектором инициализации модели движения и вектором оптимизации модели движения. Альтернативно, некоторые компоненты вектора передачи модели движения являются разностями между вектором инициализации модели движения и вектором оптимизации модели движения, и некоторые компоненты являются компонентами в соответствующих местоположениях вектора оптимизации модели движения. Настоящее изобретение не ограничено этим.

[0169] в необязательном порядке, в одном варианте осуществления, аффинное движение используется в качестве примера. Когда первый модуль 410 определения определяет группу векторов движения текущего блока декодирования, и группа векторов движения включает в себя три вектора движения, по меньшей мере, один вектор движения из группы векторов вычисления может сначала определяться согласно битовому потоку. В частности, когда первый модуль 410 определения устройства декодирования определяет, что некоторые компоненты вектора передачи модели движения являются разностями между вектором инициализации модели движения и вектором оптимизации модели движения, и что некоторые компоненты являются компонентами в соответствующих местоположениях вектора оптимизации модели движения, сторона декодера может определять упомянутый, по меньшей мере, один вектор движения из группы векторов вычисления согласно битовому потоку. Сторона декодера декодирует битовый поток видео, определяет целевой подходящий блок текущего блока декодирования, и определяет вектор движения целевого подходящего блока и опорный кадр целевого подходящего блока. Сторона декодера отдельно получает номер порядка вывода poc опорного кадра целевого подходящего блока и номер порядка вывода poc опорного кадра текущего блока декодирования; выполняет масштабирование над вектором движения целевого подходящего блока согласно отношению номера порядка вывода poc опорного кадра текущего блока декодирования к номеру порядка вывода poc опорного кадра целевого подходящего блока, чтобы отношение номера порядка вывода poc опорного кадра целевого подходящего блока к номеру порядка вывода poc опорного кадра текущего блока декодирования было таким же как отношение вектора движения до масштабирования к вектору движения после масштабирования; и затем определяет масштабированный вектор движения в качестве первого вектора движения в группе векторов движения текущего блока декодирования. Отношение первого вектора движения к вектору движения целевого подходящего блока является таким же как отношение номера порядка вывода опорного кадра текущего блока декодирования к номеру порядка вывода опорного кадра целевого подходящего блока.

[0170] в необязательном порядке, в одном варианте осуществления, аффинное движение используется в качестве примера. Первый модуль 410 определения определяет группу векторов движения текущего блока декодирования. Группа векторов движения включает в себя три вектора движения, и каждый вектор движения из группы векторов движения может определяться согласно битовому потоку. В частности, при определении, что все компоненты вектора передачи модели движения могут быть разностями между вектором инициализации модели движения и вектором оптимизации модели движения, первый модуль 410 определения стороны декодера может определять каждый вектор движения из группы векторов движения согласно битовому потоку. Целевой подходящий блок текущего блока декодирования может сначала определяться согласно значению индекса в битовом потоке. Опорный кадр целевого подходящего блока определяется в качестве опорного кадра текущего блока декодирования. Вектор движения целевого подходящего блока определяется в качестве первого вектора движения в группе векторов движения текущего блока декодирования.

[0171] в этом варианте осуществления настоящего изобретения, после определения первого вектора движения в группе векторов движения текущего блока декодирования, первый модуль 410 определения определяет второй вектор движения в группе векторов движения текущего блока декодирования согласно первому вектору движения. Второй вектор движения является вектором движения в группе векторов движения, отличающимся от первого вектора движения. В частности, множество подходящих блоков текущего блока декодирования сначала определяются из декодированных блоков, соседних вокруг текущего блока декодирования. Множество подходящих блоков соответствуют одному и тому же пикселю. Необязательно, пиксель может быть вершиной текущего блока декодирования. Например, как показано на фиг. 2, для текущего блока декодирования, подходящие блоки могут включать в себя d и e, и множество подходящих блоков не включают в себя целевой подходящий блок определенного первого вектора движения. Затем, определяется опорный кадр каждого подходящего блока. Если опорный кадр подходящего блока не является таким же кадром как опорный кадр целевого подходящего блока, соответствующего первому вектору движения, то есть, опорным кадром текущего блока декодирования, над вектором движения подходящего блока выполняется масштабирование согласно отношению номера порядка вывода poc опорного кадра целевого подходящего блока к номеру порядка вывода poc опорного кадра подходящего блока, чтобы отношение номера порядка вывода опорного кадра текущего блока к номеру порядка вывода опорного кадра подходящего блока было таким же как отношение между векторами движения. Масштабированный вектор движения каждого подходящего блока отдельно сравнивается с первым вектором движения. Когда масштабированный вектор движения подходящего блока отличается от первого вектора движения, и различие является наименьшим, этот подходящий блок определяется в качестве целевого подходящего блока текущего блока декодирования, и масштабированный вектор движения, соответствующий этому целевому подходящему блоку, определяется в качестве второго вектора движения в группе векторов движения текущего блока декодирования.

[0172] в этом варианте осуществления настоящего изобретения, согласно вышеизложенному способу, первый модуль 410 определения может определять множество вторых векторов движения. Например, когда группа векторов движения текущего блока декодирования включает в себя три вектора движения, после того, как определяется первый вектор движения в группе векторов движения, другие два вторых вектора движения могут определяться согласно вышеизложенному способу, и дополнительно определяется каждый вектор движения из группы векторов движения. Однако настоящее изобретение не ограничено этим.

[0173] в необязательном порядке, в одном варианте осуществления настоящего изобретения, в одном варианте осуществления, аффинное движение используется в качестве примера. Первый модуль 410 определения определяет группу векторов движения текущего блока декодирования. Группа векторов движения включает в себя три вектора движения, и каждый вектор движения из группы векторов движения может дополнительно определяться согласно битовому потоку. В частности, при определении, что все компоненты вектора передачи модели движения могут быть разностями между вектором инициализации модели движения и вектором оптимизации модели движения, сторона декодера может определять каждый вектор движения из группы векторов движения согласно битовому потоку, и напрямую получать значение каждого вектора движения из группы векторов движения текущего блока декодирования согласно битовому потоку. В дополнение, целевые подходящие блоки, текущего блока декодирования, соответствующие всем векторам движения в группе векторов движения, имеют один и тот же опорный кадр, и опорный кадр является опорным кадром текущего блока декодирования.

[0174] в этом варианте осуществления настоящего изобретения, второй модуль 420 определения определяет значения предсказания первого набора компонент вектора инициализации модели движения текущего блока декодирования согласно упомянутому, по меньшей мере, одному вектору движения из группы векторов движения. Вектор инициализации модели движения включает в себя упомянутые, по меньшей мере, четыре компоненты. Первый набор компонент включает в себя, по меньшей мере, одну компоненту вектора инициализации модели движения. В частности, модель аффинного движения используется в качестве примера. Аффинная модель может представляться посредством использования шести параметров, и упомянутые шесть параметров могут быть выражены как . Местоположение, в опорном кадре, каждого пикселя в текущем блоке декодирования может определяться согласно формуле (7), где x и y являются координатными значениями любого пикселя в текущем блоке декодирования, и являются координатными значениями, в соответствующей точке предсказания в опорном кадре, пикселя, и и являются векторами движения любого пикселя в текущем блоке декодирования. Может получаться формула (8). Согласно группе векторов движения, определенной на этапе s210, группа векторов движения может быть выражена как , и координаты векторов движения в группе векторов движения могут быть (0, 0), (w, 0), и (0, h), где w является шириной текущего блока декодирования, и h является высотой текущего блока декодирования. Формула (9) может получаться посредством подстановки группы векторов движения и координат в формулу (8), где является x-направленной компонентой j-ого подходящего вектора движения в первой группе подходящих векторов движения, является y-направленной компонентой j-ого подходящего вектора движения в первой группе подходящих векторов движения, и j=0, 1, 2. Соответственно, могут получаться все параметры в модели аффинного движения . Как показано в формуле (6), группа векторов движения текущего блока декодирования подставляется в формулу (6), и может определяться вектор инициализации модели движения текущего блока декодирования. Вектор инициализации модели движения является шестимерным вектором. Необязательно, для другой модели движения, вектор инициализации является вектором, включающим в себя, по меньшей мере, четыре размерности. Значения предсказания первого набора компонент могут определяться согласно вектору инициализации модели движения. Значения предсказания первого набора компонент могут быть, по меньшей мере, одной компонентой вектора инициализации модели движения.

[0175] в этом варианте осуществления настоящего изобретения, третий модуль 430 определения определяет вектор оптимизации модели движения текущего блока декодирования согласно значениям предсказания первого набора компонент и вектору передачи модели движения, чтобы сторона декодера выполняла декодирование согласно вектору оптимизации модели движения. В частности, значения передачи модели движения текущего блока декодирования могут быть выражены как . Значения передачи первого набора компонент могут представляться посредством и , , и , где и являются числовыми значениями, полученными после квантования значений предсказания и первого набора компонент. Другие значения передачи параметров текущего блока декодирования могут быть выражены как , и может определяться , где является вектором оптимизации модели движения текущего блока декодирования.

[0176] в этом варианте осуществления настоящего изобретения, третий модуль 430 определения может квантовать значения предсказания и первого набора компонент, чтобы определять квантованные значения предсказания и первого набора компонент. В частности, аффинное движение используется в качестве примера. Вектор инициализации модели движения определяется согласно формуле (6). В векторе инициализации модели движения, и являются параметрами поступательного движения, и относятся к первому вектору движения в группе векторов движения. и могут определяться в качестве первого набора компонент. Необязательно, точность квантования упомянутых двух параметров может быть 1/16 или 1/4. 1/16 используется в качестве примера. Сначала, масштабируется четырехкратно, чтобы точность увеличивалась с 1/4 на 1/16; и затем, квантованные и , чья точность также равняется 1/16, вычисляются посредством использования , чья точность равняется 1/16, чтобы получать и , то есть, и являются квантованными значениями предсказания первого набора компонент.

[0177] в необязательном порядке, в одном варианте осуществления, третий модуль 430 определения может определять значения предсказания первого набора компонент вектора инициализации модели движения согласно формуле (6). Первый набор компонент включает в себя все компоненты вектора инициализации модели движения, то есть, первый набор компонент включает в себя шесть параметров, так что определяются значения передачи модели движения текущего блока декодирования, то есть, значения передачи первого набора компонент являются , где , и является вектором оптимизации модели движения текущего блока декодирования.

[0178] в этом варианте осуществления настоящего изобретения, третий модуль 430 определения может определять точность квантования модели движения согласно текущему блоку декодирования; квантовать вектор оптимизации модели движения согласно точности квантования модели движения; и выполнять синтаксический разбор, декодирование и восстановление над текущим блоком декодирования согласно квантованному вектору оптимизации модели движения.

[0179] в частности, третий модуль 430 определения определяет точность квантования модели движения текущего блока декодирования. В частности, точность квантования может определяться согласно размеру текущего блока декодирования и информации точности. Размер текущего блока декодирования включает в себя ширину текущего блока декодирования и высоту текущего блока декодирования, и информация точности включает в себя точность квантования группы векторов движения. В частности, можно узнать, согласно формуле (6), что параметры модели движения относятся к ширине и высоте текущего блока декодирования. Поэтому, точность квантования может определяться согласно формуле (10). 1/p является точностью квантования группы векторов движения текущего блока декодирования. Необязательно, точность квантования группы векторов движения равняется, в общем, 1/4, таким образом, p=4. W является шириной текущего блока декодирования, и h является высотой текущего блока декодирования. Например, если ширина текущего блока декодирования равняется 16 и высота равняется 32, точность квантования группы векторов движения равняется 1/(32×4)=1/128; если ширина текущего блока декодирования равняется 16 и высота равняется 8, точность квантования равняется 1/(16×4)=1/64.

[0180] в частности, в этом варианте осуществления настоящего изобретения, третий модуль 430 определения квантует определенный вектор оптимизации модели движения согласно определенной точности квантования, чтобы получать квантованный вектор оптимизации модели движения .

[0181] в частности, в этом варианте осуществления настоящего изобретения, третий модуль 430 определения декодирует текущий блок декодирования согласно квантованному вектору оптимизации модели движения. В частности, вектор оптимизации модели движения подставляется в формулу (7), и затем может получаться опорное местоположение смещения каждого пикселя с точностью q в текущем блоке декодирования. Выборка пикселя предсказания каждой выборки пикселя в текущем блоке декодирования получается посредством вычисления в опорном местоположении смещения. Затем, декодирование и восстановление выполняются над выборкой пикселя предсказания согласно определенному остатку предсказания, в принятом битовом потоке, текущего блока декодирования. Необязательно, выборка пикселя может быть одним пикселем или малым блоком пикселей, включающим в себя множество пикселей. Настоящее изобретение не ограничено этим.

[0182] следует понимать, что устройство 400 декодирования согласно этому варианту осуществления настоящего изобретения может быть соответствующим образом сконфигурировано с возможностью исполнять способ 200 декодирования видеоизображения в варианте осуществления настоящего изобретения. В дополнение, вышеизложенные и другие действия и/или функции модулей в устройстве 400 декодирования предназначены для реализации соответствующих обработок способов на фиг. 3 и фиг. 4. Для краткости, подробности дополнительно здесь не описываются.

[0183] поэтому, устройство декодирования в этом варианте осуществления настоящего изобретения определяет группу векторов движения и вектор передачи модели движения текущего блока декодирования согласно принятому битовому потоку; определяет вектор инициализации модели движения текущего блока декодирования согласно группе векторов движения; определяет вектор оптимизации модели движения согласно вектору инициализации модели движения и вектору передачи модели движения; и декодирует и восстанавливает вектор оптимизации модели движения. По такому принципу, объем данных и количество занятых бит в передаче кодирования и декодирования могут уменьшаться. В дополнение, когда вектор оптимизации модели движения определяется и вектор оптимизации квантуется, определенная точность квантования определяется согласно размеру текущего блока декодирования и точности квантования вектора движения текущего блока декодирования. Это также может уменьшать количество бит, требуемое в передаче параметра.

[0184] как показано на фиг. 7, один вариант осуществления настоящего изобретения дополнительно обеспечивает устройство 500 кодирования, включающее в себя процессор 510, запоминающее устройство 520, и шинную систему 530. Процессор 510 и запоминающее устройство 520 соединены посредством использования шинной системы 530. Запоминающее устройство 520 сконфигурировано с возможностью хранить команду. Процессор 510 сконфигурирован с возможностью исполнять команду, сохраненную в запоминающем устройстве 520. Запоминающее устройство 520 устройства 500 кодирования хранит программный код, и процессор 510 может вызывать программный код, сохраненный в запоминающем устройстве 520, чтобы выполнять следующие действия: определение группы векторов движения текущего блока кодирования, где группа векторов движения включает в себя, по меньшей мере, один вектор движения текущего блока кодирования; определение значений предсказания первого набора компонент вектора инициализации модели движения текущего блока кодирования согласно упомянутому, по меньшей мере, одному вектору движения из группы векторов движения, где вектор инициализации модели движения включает в себя, по меньшей мере, четыре компоненты; определение подлежащих передаче значений первого набора компонент согласно значениям предсказания первого набора компонент; и кодирование подлежащих передаче значений первого набора компонент, и передачу кодированных подлежащих передаче значений первого набора компонент стороне декодера.

[0185] поэтому, устройство кодирования в этом варианте осуществления настоящего изобретения определяет группу векторов движения текущего блока кодирования; определяет вектор инициализации модели движения текущего блока кодирования согласно группе векторов движения; определяет подлежащие передаче значения модели движения согласно вектору инициализации модели движения; и кодирует подлежащие передаче значения модели движения для передачи, чтобы сторона декодера выполняла декодирование согласно подлежащим передаче значениям модели движения. По такому принципу, объем данных и количество занятых бит в передаче кодирования и декодирования могут уменьшаться.

[0186] следует понимать, что, в этом варианте осуществления настоящего изобретения, процессор 510 может быть центральным блоком обработки (central processing unit, "cpu" для краткости), или процессор 510 может быть другим процессором общего назначения, цифровым сигнальным процессором (dsp), специализированной интегральной схемой (asic), программируемой пользователем вентильной матрицей (fpga) или другим программируемым логическим устройством, дискретным логическим элементом или транзисторным логическим устройством, дискретным аппаратным узлом, или подобным. Процессор общего назначения может быть микропроцессором, или процессор может быть любым стандартным процессором или подобным.

[0187] запоминающее устройство 520 может включать в себя запоминающее устройство только для чтения и запоминающее устройство с произвольным доступом, и обеспечивать команды и данные для процессора 510. Часть запоминающего устройства 520 может дополнительно включать в себя энергонезависимую запоминающее устройство с произвольным доступом. Например, запоминающее устройство 520 может дополнительно хранить информацию типа устройства.

[0188] в дополнение к шине данных, шинная система 530 может дополнительно включать в себя шину источника питания, шину управления, шину сигнала состояния, и подобное. Однако для ясного описания, различные шины представлены посредством шинной системы 530 на фигуре.

[0189] в обработке реализации, этапы вышеизложенных способов могут осуществляться с использованием интегрированной логической схемы аппаратного обеспечения в процессоре 510 или посредством использования инструкции в форме программного обеспечения. Этапы способов, раскрытых со ссылкой на варианты осуществления настоящего изобретения, могут напрямую осуществляться посредством аппаратного процессора, или могут осуществляться посредством комбинации аппаратного обеспечения и программного модуля в процессоре. Программный модуль может располагаться в зрелом запоминающем носителе в данной области техники, таком как запоминающее устройство с произвольным доступом, флэш-память, запоминающее устройство только для чтения, программируемая запоминающее устройство только для чтения, электрически-стираемая программируемая запоминающее устройство, или регистр. Запоминающий носитель располагается в запоминающем устройстве 520, и процессор 510 считывает информацию из запоминающего устройства 520 и осуществляет этапы в вышеизложенных способах в комбинации с аппаратным обеспечением процессора 501. Чтобы избегать повторения, подробности дополнительно здесь не описываются.

[0190] в необязательном порядке, в одном варианте осуществления, процессор 510 может вызывать программный код, сохраненный в запоминающем устройстве 520, чтобы выполнять следующие действия: определение вектора оптимизации модели движения текущего блока кодирования; и определение подлежащих передаче значений первого набора компонент согласно значениям предсказания первого набора компонент и вектору оптимизации модели движения.

[0191] в необязательном порядке, в одном варианте осуществления, процессор 510 может вызывать программный код, сохраненный в запоминающем устройстве 520, чтобы выполнять следующие действия: определение точности квантования модели движения согласно размеру текущего блока кодирования и информации точности; квантование вектора оптимизации модели движения согласно точности квантования модели движения; и определение подлежащих передаче значений первого набора компонент согласно значениям предсказания первого набора компонент и квантованному вектору оптимизации модели движения.

[0192] в необязательном порядке, в одном варианте осуществления, размер текущего блока кодирования включает в себя ширину текущего блока кодирования и высоту текущего блока кодирования, и информация точности включает в себя точность квантования группы векторов движения. Процессор 510 может вызывать программный код, сохраненный в запоминающем устройстве 520, чтобы выполнять следующую операцию: определение точности квантования модели движения q согласно формуле (10), где p является точностью квантования группы векторов движения, w является шириной текущего блока кодирования, и h является высотой текущего блока кодирования.

[0193] в необязательном порядке, в одном варианте осуществления, первый набор компонент включает в себя, по меньшей мере, одну компоненту из шести компонент вектора инициализации модели движения, и процессор 510 может вызывать программный код, сохраненный в запоминающем устройстве 520, чтобы выполнять следующую команду: определение упомянутых шести компонент вектора инициализации модели движения согласно формуле (6), где i=0, 1, 2, 3, 4, 5, w является шириной текущего блока кодирования, h является высотой текущего блока кодирования, является x-направленной компонентой вектора движения , является y-направленной компонентой вектора движения , и j=0, 1, 2.

[0194] в необязательном порядке, в одном варианте осуществления, первый набор компонент включает в себя две компоненты вектора инициализации модели движения, и процессор 510 может вызывать программный код, сохраненный в запоминающем устройстве 520, чтобы выполнять следующую операцию: определение подлежащих передаче значений первого набора компонент, где подлежащие передаче значения первого набора компонент включают в себя и , , , и являются квантованными векторами оптимизации модели движения, соответствующими первому набору компонент, и и являются числовыми значениями, полученными после квантования значений предсказания и первого набора компонент.

[0195] в необязательном порядке, в одном варианте осуществления, первый набор компонент включает в себя упомянутые шесть компонент вектора инициализации модели движения, и процессор 510 может вызывать программный код, сохраненный в запоминающем устройстве 520, чтобы выполнять следующую операцию: определение подлежащих передаче значений первого набора компонент, где подлежащие передаче значения первого набора компонент включают в себя , и i=0, 1, 2, 3, 4, 5, где , является квантованным вектором оптимизации модели движения, и является значением предсказания первого набора компонент.

[0196] в необязательном порядке, в одном варианте осуществления, процессор 510 может вызывать программный код, сохраненный в запоминающем устройстве 520, чтобы выполнять следующие операции: определение множества подходящих блоков текущего блока кодирования, где каждый подходящий блок из множества подходящих блоков является кодированным блоком, смежным с текущим блоком кодирования; определение значения ошибки согласованности между блоком предсказания, соответствующим вектору движения каждого подходящего блока из множества подходящих блоков, и текущим блоком кодирования; определение, в качестве целевого подходящего блока текущего блока кодирования, подходящего блока, соответствующего наименьшему значению ошибки согласованности в множестве значений ошибки согласованности, соответствующих множеству подходящих блоков; получение номера порядка вывода опорного кадра текущего блока кодирования и номера порядка вывода опорного кадра целевого подходящего блока; определение первого вектора движения в группе векторов движения согласно отношению номера порядка вывода опорного кадра текущего блока кодирования к номеру порядка вывода опорного кадра целевого подходящего блока, где отношение первого вектора движения к вектору движения целевого подходящего блока является таким же как отношение номера порядка вывода опорного кадра текущего блока кодирования к номеру порядка вывода опорного кадра целевого подходящего блока; и определение группы векторов движения согласно первому вектору движения.

[0197] в необязательном порядке, в одном варианте осуществления, процессор 510 может вызывать программный код, сохраненный в запоминающем устройстве 520, чтобы выполнять следующие действия: определение множества подходящих блоков, соответствующих одному и тому же пикселю в текущем блоке кодирования, где каждый подходящий блок из множества подходящих блоков является кодированным блоком, смежным с текущим блоком кодирования; определение значения ошибки согласованности между блоком предсказания, соответствующим вектору движения каждого подходящего блока из множества подходящих блоков, и текущим блоком кодирования; определение, в качестве целевого подходящего блока текущего блока кодирования, подходящего блока, соответствующего наименьшему значению ошибки согласованности в множестве значений ошибки согласованности, соответствующих множеству подходящих блоков; определение вектора движения целевого подходящего блока в качестве первого вектора движения в группе векторов движения; определение второго вектора движения в группе векторов движения согласно первому вектору движения; и определение группы векторов движения согласно первому вектору движения и второму вектору движения.

[0198] в необязательном порядке, в одном варианте осуществления, процессор 510 может вызывать программный код, сохраненный в запоминающем устройстве 520, чтобы выполнять следующие действия: определение множества групп подходящих векторов движения текущего блока кодирования, где каждая группа подходящих векторов движения из множества групп подходящих векторов движения включает в себя три подходящих вектора движения; определение подходящего опорного кадра, соответствующего каждой группе подходящих векторов движения из множества групп подходящих векторов движения; для каждой группы подходящих векторов движения, определение координатных значений каждого пикселя, в соответствующей точке предсказания в подходящем опорном кадре, в текущем блоке кодирования; для каждой группы подходящих векторов движения, определение значения ошибки согласованности текущего блока кодирования согласно координатным значениям каждого пикселя в текущем блоке кодирования и координатным значениям каждого пикселя, в соответствующей точке предсказания в подходящем опорном кадре, в текущем блоке кодирования; и определение, в качестве группы векторов движения текущего блока кодирования, группы подходящих векторов движения, соответствующей наименьшему значению ошибки согласованности текущего блока кодирования. Необязательно, в одном варианте осуществления, процессор 510 может вызывать программный код, сохраненный в запоминающем устройстве 520, чтобы выполнять следующие действия: определение первого блока предсказания текущего блока кодирования согласно вектору инициализации модели движения; определение первого значения ошибки согласованности между текущим блоком кодирования и первым блоком предсказания; определение, из множества блоков предсказания, включенных в опорный кадр текущего блока кодирования, второго блока предсказания с наименьшим значением ошибки согласованности относительно текущего блока кодирования; определение второго значения ошибки согласованности между текущим блоком кодирования и вторым блоком предсказания; и определение вектора оптимизации модели движения текущего блока кодирования согласно первому значению ошибки согласованности и второму значению ошибки согласованности.

[0199] в необязательном порядке, в одном варианте осуществления, процессор 510 может вызывать программный код, сохраненный в запоминающем устройстве 520, чтобы выполнять следующую операцию: когда первое значение ошибки согласованности меньше второго значения ошибки согласованности, определение вектора инициализации модели движения в качестве вектора оптимизации модели движения; или когда первое значение ошибки согласованности больше второго значения ошибки согласованности, определение вектора оптимизации модели движения согласно пикселю второго блока предсказания и пикселю текущего блока кодирования.

[0200] следует понимать, что устройство кодирования 500 согласно этому варианту осуществления настоящего изобретения может соответствовать устройству 300 кодирования в варианте осуществления настоящего изобретения, и может соответствовать соответствующему средству, которое исполняет способ 100 в варианте осуществления настоящего изобретения. В дополнение, вышеизложенные и другие действия и/или функции модулей в устройстве 500 кодирования предназначены для реализации соответствующих обработок способов на фиг. 1 и фиг. 2. Для краткости, подробности дополнительно здесь не описываются.

[0201] поэтому, устройство кодирования в этом варианте осуществления настоящего изобретения определяет группу векторов движения текущего блока кодирования; определяет вектор инициализации модели движения текущего блока кодирования согласно группе векторов движения; определяет подлежащие передаче значения модели движения согласно вектору инициализации модели движения; и кодирует подлежащие передаче значения модели движения для передачи, чтобы сторона декодера выполняла декодирование согласно подлежащим передаче значениям модели движения. По такому принципу, объем данных и количество занятых бит в передаче кодирования и декодирования могут уменьшаться. В дополнение, когда вектор оптимизации модели движения определяется и вектор оптимизации квантуется, определенная точность квантования определяется согласно размеру текущего блока кодирования и точности квантования вектора движения текущего блока кодирования. Это также может уменьшать количество бит, требуемое для параметра кодирования.

[0202] как показано на фиг. 8, один вариант осуществления настоящего изобретения дополнительно обеспечивает устройство 600 декодирования, включающее в себя процессор 610, запоминающее устройство 620, и шинную систему 630. Процессор 610 и запоминающее устройство 620 соединены посредством использования шинной системы 630. Запоминающее устройство 620 сконфигурировано с возможностью хранить инструкцию. Процессор 610 сконфигурирован с возможностью исполнять инструкцию, сохраненную в запоминающем устройстве 620. Запоминающее устройство 620 устройства 600 декодирования хранит программный код, и процессор 610 может вызывать программный код, сохраненный в запоминающем устройстве 620, чтобы выполнять следующие операции: определение группы векторов движения и вектора передачи модели движения текущего блока декодирования согласно битовому потоку, где группа векторов движения включает в себя, по меньшей мере, один вектор движения текущего блока декодирования, и вектор передачи модели движения включает в себя, по меньшей мере, четыре компоненты; определение значений предсказания первого набора компонент вектора инициализации модели движения текущего блока декодирования согласно упомянутому, по меньшей мере, одному вектору движения из группы векторов движения, где вектор инициализации модели движения включает в себя, по меньшей мере, четыре компоненты; и определение вектора оптимизации модели движения текущего блока декодирования согласно значениям предсказания первого набора компонент и вектору передачи модели движения, чтобы декодировать текущий блок декодирования согласно вектору оптимизации модели движения.

[0203] поэтому, устройство декодирования в этом варианте осуществления настоящего изобретения определяет группу векторов движения и вектор передачи модели движения текущего блока декодирования согласно принятому битовому потоку; определяет вектор инициализации модели движения текущего блока декодирования согласно группе векторов движения; определяет вектор оптимизации модели движения согласно вектору инициализации модели движения и вектору передачи модели движения; и декодирует и восстанавливает вектор оптимизации модели движения. По такому принципу, объем данных и количество занятых бит в передаче кодирования и декодирования могут уменьшаться.

[0204] следует понимать, что, в этом варианте осуществления настоящего изобретения, процессор 610 может быть центральным блоком обработки (central processing unit, "cpu" для краткости), или процессор 610 может быть другим процессором общего назначения, цифровым сигнальным процессором (dsp), специализированной интегральной схемой (asic), программируемой пользователем вентильной матрицей (fpga) или другим программируемым логическим устройством, дискретным логическим элементом или транзисторным логическим устройством, дискретным аппаратным узлом, или подобным. Процессор общего назначения может быть микропроцессором, или процессор может быть любым стандартным процессором или подобным.

[0203] запоминающее устройство 620 может включать в себя запоминающее устройство только для чтения и запоминающее устройство с произвольным доступом, и обеспечивать команды и данные для процессора 610. Часть запоминающего устройства 620 может дополнительно включать в себя энергонезависимую запоминающее устройство с произвольным доступом. Например, запоминающее устройство 620 может дополнительно хранить информацию типа устройства.

[0206] в дополнение к шине данных, шинная система 630 может дополнительно включать в себя шину источника питания, шину управления, шину сигнала состояния, и подобное. Однако для ясного описания, различные шины представлены посредством шинной системы 630 на фигуре.

[0207] в обработке реализации, этапы вышеизложенных способов могут осуществляться с использованием интегрированной логической схемы аппаратного обеспечения в процессоре 610 или посредством использования инструкции в форме программного обеспечения. Этапы способов, раскрытых со ссылкой на варианты осуществления настоящего изобретения, могут напрямую осуществляться посредством аппаратного процессора, или могут осуществляться посредством комбинации аппаратного обеспечения и программного модуля в процессоре. Программный модуль может располагаться в зрелом запоминающем носителе в данной области техники, таком как запоминающее устройство с произвольным доступом, флэш-память, запоминающее устройство только для чтения, программируемая запоминающее устройство только для чтения, электрически-стираемая программируемая запоминающее устройство, или регистр. Запоминающий носитель располагается в запоминающем устройстве 620, и процессор 610 считывает информацию из запоминающего устройства 620 и осуществляет этапы в вышеизложенных способах в комбинации с аппаратным обеспечением процессора 610. Чтобы избегать повторения, подробности дополнительно здесь не описываются.

[0208] в необязательном порядке, в одном варианте осуществления, процессор 610 может вызывать программный код, сохраненный в запоминающем устройстве 620, чтобы выполнять следующие действия: определение точности квантования модели движения текущего блока декодирования; квантование вектора оптимизации модели движения согласно точности квантования модели движения; и декодирование текущего блока декодирования согласно квантованному вектору оптимизации модели движения.

[0209] в необязательном порядке, в одном варианте осуществления, процессор 610 может вызывать программный код, сохраненный в запоминающем устройстве 620, чтобы выполнять следующую операцию: определение точности квантования модели движения согласно размеру текущего блока декодирования и информации точности.

[0210] в необязательном порядке, в одном варианте осуществления, размер текущего блока декодирования включает в себя ширину текущего блока декодирования и высоту текущего блока декодирования, и информация точности включает в себя точность квантования группы векторов движения. Процессор 610 может вызывать программный код, сохраненный в запоминающем устройстве 620, чтобы выполнять следующую операцию: определение точности квантования модели движения q согласно формуле (10), где p является точностью квантования группы векторов движения, w является шириной текущего блока декодирования, и h является высотой текущего блока декодирования.

[0211] в необязательном порядке, в одном варианте осуществления, первый набор компонент включает в себя, по меньшей мере, одну компоненту из шести компонент вектора инициализации модели движения, и процессор 610 может вызывать программный код, сохраненный в запоминающем устройстве 620, чтобы выполнять следующую операцию: определение упомянутых шести компонент вектора инициализации модели движения согласно формуле (6), где i=0, 1, 2, 3, 4, 5, w является шириной текущего блока декодирования, h является высотой текущего блока декодирования, является x-направленной компонентой вектора движения , является y-направленной компонентой вектора движения , и j=0, 1, 2.

[0212] в необязательном порядке, в одном варианте осуществления, первый набор компонент включает в себя две компоненты вектора инициализации модели движения, и процессор 610 может вызывать программный код, сохраненный в запоминающем устройстве 620, чтобы выполнять следующую операцию: определение, что вектор оптимизации модели движения текущего блока декодирования является , , и , где является вектором передачи модели движения, и являются числовыми значениями, полученными посредством квантования значений предсказания и первого набора компонент.

[0213] в необязательном порядке, в одном варианте осуществления, первый набор компонент включает в себя упомянутые шесть компонент вектора инициализации модели движения, и процессор 610 может вызывать программный код, сохраненный в запоминающем устройстве 620, чтобы выполнять следующую операцию: определение, что вектор оптимизации модели движения текущего блока декодирования является , где , является вектором передачи модели движения, является значением предсказания первого набора компонент, и i=0, 1, 2, 3, 4, 5.

[0214] в необязательном порядке, в одном варианте осуществления, процессор 610 может вызывать программный код, сохраненный в запоминающем устройстве 620, чтобы выполнять следующие действия: определение целевого подходящего блока текущего блока декодирования и вектора движения целевого подходящего блока согласно битовому потоку; получение номера порядка вывода опорного кадра текущего блока декодирования и номера порядка вывода опорного кадра целевого подходящего блока; определение первого вектора движения в группе векторов движения согласно отношению номера порядка вывода опорного кадра текущего блока декодирования к номеру порядка вывода опорного кадра целевого подходящего блока, где отношение первого вектора движения к вектору движения целевого подходящего блока является таким же как отношение номера порядка вывода опорного кадра текущего блока декодирования к номеру порядка вывода опорного кадра целевого подходящего блока; и определение группы векторов движения согласно первому вектору движения.

[0215] в необязательном порядке, в одном варианте осуществления, процессор 610 может вызывать программный код, сохраненный в запоминающем устройстве 620, чтобы выполнять следующие действия: определение вектора движения целевого подходящего блока текущего блока декодирования согласно битовому потоку; определение вектора движения целевого подходящего блока текущего блока декодирования в качестве первого вектора движения в группе векторов движения; определение второго вектора движения в группе векторов движения согласно первому вектору движения; и определение группы векторов движения согласно первому вектору движения и второму вектору движения.

[0216] следует понимать, что устройство 600 декодирования согласно этому варианту осуществления настоящего изобретения может соответствовать устройству 400 декодирования в варианте осуществления настоящего изобретения, и может соответствовать соответствующему средству, которое исполняет способ 200 в варианте осуществления настоящего изобретения. В дополнение, вышеизложенные и другие действия и/или функции модулей в устройстве 600 декодирования предназначены для реализации соответствующих обработок способов на фиг. 3 и фиг. 4. Для краткости, подробности дополнительно здесь не описываются.

[0217] поэтому, устройство декодирования в этом варианте осуществления настоящего изобретения определяет группу векторов движения и вектор передачи модели движения текущего блока декодирования согласно принятому битовому потоку; определяет вектор инициализации модели движения текущего блока декодирования согласно группе векторов движения; определяет вектор оптимизации модели движения согласно вектору инициализации модели движения и вектору передачи модели движения; и декодирует и восстанавливает вектор оптимизации модели движения. По такому принципу, объем данных и количество занятых бит в передаче кодирования и декодирования могут уменьшаться. В дополнение, когда вектор оптимизации модели движения определяется и вектор оптимизации квантуется, определенная точность квантования определяется согласно размеру текущего блока декодирования и точности квантования вектора движения текущего блока декодирования. Это также может уменьшать количество бит, требуемое в передаче параметра.

[0218] специалист в данной области техники должен знать, что, блоки и этапы алгоритмов в примерах, описанных со ссылкой на варианты осуществления, раскрытые в этом описании, могут осуществляться посредством электронного аппаратного обеспечения или комбинации компьютерного программного обеспечения и электронного аппаратного обеспечения. То, выполняются ли функции посредством аппаратного обеспечения или программного обеспечения, зависит от конкретных применений и ограничивающих условий вариантов осуществления технических решений. Специалист в данной области техники может использовать разные способы, чтобы осуществлять описанные функции для каждого конкретного применения, но это не должно трактоваться, что осуществление выходит за объем настоящего изобретения.

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

[0220] в нескольких вариантах осуществления, обеспеченных в этой заявке, следует понимать, что раскрытые система, устройство, и способ могут осуществляться другими способами. Например, описанный вариант осуществления для устройства является всего лишь примером. Например, разделение на блоки является всего лишь логическим разделением на функции и может быть другое разделение в фактическом варианте осуществления. Например, множество блоков или компонентов могут комбинироваться или интегрироваться в другую систему, или некоторые признаки могут игнорироваться или не выполняться. В дополнение, отображенные или описанные взаимные соединения или прямые соединения или соединения передачи данных могут быть непрямыми соединениями или соединениями передачи данных между некоторыми интерфейсами, устройствами, или блоками, и могут осуществляться в электронных, механических, или других формах.

[0221] блоки, описанные как отдельные части, могут быть или могут не быть физически отдельными. Части, отображенные как блоки, могут быть или могут не быть физическими блоками, и могут располагаться в одном положении или могут быть распределенными по множеству сетевых блоков. Некоторые или все из блоков могут выбираться согласно фактическим потребностям, чтобы достигать целей решений вариантов осуществления.

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

[0223] когда функции осуществляются в форме программного функционального блока и продаются или используются как независимый продукт, функции могут храниться в считываемом компьютером запоминающем носителе. На основе такого понимания, технические решения настоящего изобретения, по существу, или часть, вносящая вклад в предшествующий уровень техники, или некоторые из технических решений могут осуществляться в форме программного продукта. Программный продукт хранится в запоминающем носителе, и включает в себя несколько инструкций для предписания компьютерному устройству (которое может быть персональным компьютером, сервером, сетевым устройством, или подобным) выполнять все или некоторые из этапов способов, описанных в вариантах осуществления настоящего изобретения. Вышеизложенный запоминающий носитель включает в себя: любой носитель, который может хранить программный код, такой как флэш-устройство usb, съемный жесткий диск, запоминающее устройство только для чтения (rom, read-only memory), запоминающее устройство с произвольным доступом (ram, random access memory), магнитный диск, или оптический диск.

[0225] вышеизложенное описание является всего лишь конкретными вариантами осуществления настоящего изобретения, но не предназначено, чтобы ограничивать объем защиты настоящего изобретения. Любое изменение или замена, непосредственно понимаемые специалистом в данной области техники в пределах технического объема, раскрытого в настоящем изобретении, должно попадать в пределы объема охраны настоящего изобретения. Поэтому, объем охраны настоящего изобретения должен зависеть от объема охраны, определяемого формулой изобретения.

1. Способ декодирования видеоизображения, содержащий этапы, на которых:

определяют группу векторов движения и вектор передачи модели движения текущего блока декодирования согласно битовому потоку, при этом группа векторов движения содержит по меньшей мере один вектор движения текущего блока декодирования и вектор передачи модели движения содержит по меньшей мере четыре компоненты,

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

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

при этом способ дополнительно содержит этапы, на которых:

определяют точность квантования модели движения текущего блока декодирования,

квантуют вектор оптимизации модели движения согласно точности квантования модели движения и

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

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

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

где P - точность квантования группы векторов движения, W - ширина текущего блока декодирования и H - высота текущего блока декодирования.

2. Способ по п. 1, отличающийся тем, что каждый из вектора инициализации модели движения, вектора передачи модели движения и вектора оптимизации модели движения содержит шесть компонент, группа векторов движения содержит три вектора движения и эти три вектора движения находятся во взаимно-однозначном соответствии с тремя пикселями в текущем блоке декодирования.

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

где i = 0, 1, 2, 3, 4, 5, W - ширина текущего блока декодирования, H - высота текущего блока декодирования, - x-направленная компонента вектора движения , - y-направленная компонента вектора движения и j = 0, 1, 2.

4. Способ по п. 3, отличающийся тем, что первый набор компонент содержит две компоненты вектора инициализации модели движения; и

этап определения вектора оптимизации модели движения текущего блока декодирования согласно значениям предсказания первого набора компонент и вектору передачи модели движения содержит этап, на котором определяют то, что вектор оптимизации модели движения текущего блока декодирования является , где , , - вектор передачи модели движения и и числовые значения, полученные после квантования значений предсказания и первого набора компонент.

5. Способ по п. 3, отличающийся тем, что первый набор компонент содержит шесть компонент вектора инициализации модели движения; и

этап определения оптимального параметра модели движения текущего блока декодирования согласно параметру предсказания модели движения и параметру декодирования модели движения содержит этап, на котором определяют, что вектор оптимизации модели движения текущего блока декодирования является , где , - вектор передачи модели движения, - значение предсказания первого набора компонент и i = 0, 1, 2, 3, 4, 5.

6. Способ по п. 1, отличающийся тем, что этап определения группы векторов движения и вектора передачи модели движения текущего блока декодирования содержит этапы, на которых:

определяют целевой подходящий блок текущего блока декодирования и вектор движения целевого подходящего блока согласно битовому потоку;

получают номер порядка вывода опорного кадра текущего блока декодирования и номер порядка вывода опорного кадра целевого подходящего блока;

определяют первый вектор движения в группе векторов движения согласно отношению номера порядка вывода опорного кадра текущего блока декодирования к номеру порядка вывода опорного кадра целевого подходящего блока, при этом отношение первого вектора движения к вектору движения целевого подходящего блока является таким же, как отношение номера порядка вывода опорного кадра текущего блока декодирования к номеру порядка вывода опорного кадра целевого подходящего блока; и

определяют группу векторов движения согласно первому вектору движения.

7. Способ по п. 1, отличающийся тем, что этап определения группы векторов движения и вектора передачи модели движения текущего блока декодирования согласно битовому потоку содержит этапы, на которых:

определяют вектор движения целевого подходящего блока текущего блока декодирования согласно битовому потоку;

определяют вектор движения целевого подходящего блока текущего блока декодирования в качестве первого вектора движения в группе векторов движения;

определяют второй вектор движения в группе векторов движения согласно первому вектору движения; и

определяют группу векторов движения согласно первому вектору движения и второму вектору движения.

8. Устройство декодирования для декодирования видеоизображения, содержащее:

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

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

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

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

определять точность квантования модели движения текущего блока декодирования,

квантовать вектор оптимизации модели движения согласно точности квантования модели движения и

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

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

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

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

где P - точность квантования группы векторов движения, W - ширина текущего блока декодирования и H - высота текущего блока декодирования.

9. Устройство декодирования по п. 8, отличающееся тем, что каждый из вектора инициализации модели движения, вектора передачи модели движения и вектора оптимизации модели движения содержит шесть компонент, группа векторов движения содержит три вектора движения и эти три вектора движения находятся во взаимно-однозначном соответствии с тремя пикселями в текущем блоке декодирования.

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

где i = 0, 1, 2, 3, 4, 5, W - ширина текущего блока декодирования, H - высота текущего блока декодирования, - x-направленная компонента вектора движения , - y-направленная компонента вектора движения и j = 0, 1, 2.

11. Устройство декодирования по п. 10, отличающееся тем, что первый набор компонент содержит две компоненты вектора инициализации модели движения; и

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

12. Устройство декодирования по п. 10, отличающееся тем, что первый набор компонент содержит шесть компонент вектора инициализации модели движения; и

второй модуль определения специально сконфигурирован определять, что вектор оптимизации модели движения текущего блока декодирования является , где , - вектор передачи модели движения, - значение предсказания первого набора компонент и i = 0, 1, 2, 3, 4, 5.

13. Устройство декодирования по п. 11, отличающееся тем, что первый модуль определения специально сконфигурирован:

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

получать номер порядка вывода опорного кадра текущего блока декодирования и номер порядка вывода опорного кадра целевого подходящего блока;

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

определять группу векторов движения согласно первому вектору движения.

14. Устройство декодирования по п. 11, отличающееся тем, что первый модуль определения специально сконфигурирован:

определять вектор движения целевого подходящего блока текущего блока декодирования согласно битовому потоку;

определять вектор движения целевого подходящего блока текущего блока декодирования в качестве первого вектора движения в группе векторов движения;

определять второй вектор движения в группе векторов движения согласно первому вектору движения; и

определять группу векторов движения согласно первому вектору движения и второму вектору движения.



 

Похожие патенты:

Изобретение относится к вычислительной технике. Технический результат заключается в улучшении эффективности и точности предсказания текущих блоков видео.

Изобретение относится к технологиям кодирования/декодирования видео, которые осуществляют прогнозирование в отношении восстановленного изображения и выполняют сжатие данных посредством квантования.

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

Изобретение относится к области видеокодирования. Технический результат – повышение эффективности обработки видеоданных.

Изобретение относится к области кодирования/декодирования изображений. Технический результат – повышение коэффициента сжатия при декодировании изображений.

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

Изобретение относится к вычислительной технике. Технический результат заключается в повышении качества изображений за счет реализации высокоточного прогнозирования.

Изобретение относится к области приема/передачи иерархически кодированных данных изображения. Технический результат – обеспечение возможности декодирования данных изображения в соответствии с функциональными возможностями воспроизведения на приемной стороне.

Изобретение относится к области кодирования/декодирования видеоданных на основе палитры. Технический результат – повышение эффективности кодирования/декодирования видео за счет использования полученной палитры.

Изобретение относится к вычислительной технике. Технический результат заключается в ускорении кодирования при использовании режима внутреннего копирования для текущего изображения. Способ кодирования изображения, используемый в вычислительной системе, в котором кодируют изображение при активированной волновой параллельной обработке (WPP), при этом кодирование формирует закодированные данные, что включает в себя, для прогнозирования с внутренним блочным копированием, этап, на котором принудительно активируют одно или более ограничений, совместимых с WPP, причем одно или более ограничений включает в себя ограничение, что значение горизонтального сдвига от опорной области до текущей области меньше или равно значению вертикального сдвига от текущей области до опорной области; и выводят закодированные данные в качестве части потока битов. 6 н. и 10 з.п. ф-лы, 22 ил.

Изобретение относится к области кодирования изображений. Технический результат - повышение эффективности кодирования изображений. Устройство кодирования изображения, осуществляющее разделение разностной информации между изображением, являющимся объектом кодирования, и изображением, являющимся объектом предсказания, на множество субблоков и кодирование разделенного субблока в заданном порядке, содержит: блок кодирования информации о значимом субблоке, указывающей на равенство 0 всех или не всех значений разностных коэффициентов, относящихся к субблоку, являющемуся объектом кодирования; блок кодирования информации о значимом разностном коэффициенте, указывающей на равенство или неравенство 0 значения разностного коэффициента; блок кодирования значения разностного коэффициента и блок извлечения контекста, который извлекает контекст для кодирования информации о значимом разностном коэффициенте, являющемся объектом кодирования, на основе суммы горизонтального положения и вертикального положения разностного коэффициента в субблоке, являющемся объектом кодирования, и по меньшей мере одного из: (1) информации о значимом субблоке кодированных субблоков, смежных с субблоком, являющимся объектом кодирования, (2) информации о значимых разностных коэффициентах, относящихся к кодированным субблокам, смежным с субблоком, являющимся объектом кодирования, и (3) значений разностных коэффициентов, относящихся к кодированным субблокам, смежным с субблоком, являющимся объектом кодирования. 3 н.п. ф-лы, 20 ил.

Изобретение относится к области декодирования изображений. Технический результат - повышение эффективности декодирования изображений. Устройство декодирования изображения, осуществляющее декодирование битового потока, полученного в результате разделения разностной информации между изображением, являющимся объектом декодирования, и изображением, являющимся объектом предсказания, на множество субблоков и кодирования разделенных субблоков в заданном порядке, содержит: блок декодирования информации о значимом субблоке, указывающей на равенство 0 всех или не всех значений разностных коэффициентов, относящихся к субблоку, являющемуся объектом декодирования; блок декодирования информации о значимом разностном коэффициенте, указывающей на равенство или неравенство 0 значения разностного коэффициента; блок декодирования значения разностного коэффициента и блок извлечения контекста, который извлекает контекст для декодирования информации о значимом разностном коэффициенте, являющемся объектом декодирования, на основе суммы горизонтального положения и вертикального положения разностного коэффициента в субблоке, являющемся объектом декодирования и, по меньшей мере, одного из: (1) информации о значимом субблоке декодированных субблоков, смежных с субблоком, являющимся объектом декодирования, (2) информации о значимых разностных коэффициентах, относящихся к декодированным субблокам, смежным с субблоком, являющимся объектом декодирования, и (3) значений разностных коэффициентов, относящихся к декодированным субблокам, смежным с субблоком, являющимся объектом декодирования. 3 н.п. ф-лы, 20 ил.

Изобретение относится к вычислительной технике. Технический результат заключается в снижении объема передаваемых служебных данных. Устройство декодирования содержит схему, выполненную с возможностью приема кодированных данных и информации преобразования, причем кодированные данные относятся к изображению, имеющему яркость в первом динамическом диапазоне, а информация преобразования относится к преобразованию динамического диапазона яркости изображения из первого динамического диапазона во второй динамический диапазон; и декодирования принятых кодированных данных для генерирования изображения, в котором при указанном преобразовании используется коленчатая функция, определяемая точкой перелома, причем информация преобразования включает в себя флаг постоянства преобразования, указывающий, применяется ли информация преобразования к множеству непрерывных изображений. 4 н. и 8 з.п. ф-лы, 93 ил.

Изобретение относится к области предобработки и кодирования пикселей в картинке. Технический результат заключается в обеспечении предобработки пикселей для подавления артефактов. Технический результат достигается за счет получения исходного значения линейной яркостной компоненты упомянутого пикселя в третьем цветовом пространстве, причем третье цветовое пространство содержит линейное цветовое пространство XYZ, при этом исходное значение линейной яркостной компоненты определено на основании линейного цвета упомянутого пикселя в перовом линейном цветовом пространстве, вывода значения нелинейной яркостной компоненты во втором нелинейном цветовом пространстве для упомянутого пикселя на основании первого значения нелинейной цветностной компоненты в упомянутом втором цветовом пространстве, второго значения нелинейной цветностной компоненты в упомянутом втором цветовом пространстве и упомянутого исходного значения линейной яркостной компоненты в упомянутом третьем цветовом пространстве. 6 н. и 10 з.п. ф-лы, 26 ил., 13 табл.

Изобретение относится к вычислительной технике. Технический результат заключается в повышении качества изображения. Устройство кодирования изображения содержит модуль предсказания, сконфигурированный, чтобы выполнять предсказание для данных изображения, чтобы генерировать ошибки предсказания на основе предсказания; модуль преобразования, сконфигурированный, чтобы выполнять преобразование в отношении ошибок предсказания, чтобы генерировать коэффициенты преобразования; модуль квантования, сконфигурированный, чтобы выполнять квантование в отношении упомянутых коэффициентов преобразования, чтобы генерировать квантованные коэффициенты, первый модуль кодирования, сконфигурированный, чтобы закодировать квантованные коэффициенты; второй модуль кодирования, сконфигурированный, чтобы закодировать информацию, указывающую определяется ли диапазон значений, которые берутся в преобразовании и квантовании, в соответствии с битовой глубиной, или постоянный независимо от битовой глубины. 6 н. и 32 з.п. ф-лы, 25 ил.

Изобретение относится к области технологий взаимодействия «человек-машина» и, в частности, к устройству для воспроизведения видеоконтента с любого местоположения и с любого времени. Техническим результатом является обеспечение воспроизведения видеоконтента с любого местоположения или времени, так что наблюдатель может адаптированно и произвольно наблюдать объект или сцену в видеоконтенте с каждого местоположения. Предложен способ воспроизведения, включающий этапы: получают сигнал управления, вводимый пользователем, который отражает намерение пользователя выполнить действие; определяют способ отображения видеоконтента согласно сигналу управления, введенному пользователем; определяют инструкции управления воспроизведением видео в соответствии с характеристической информацией видеоконтента и способом отображения видеоконтента, при этом инструкция управления воспроизведением видео включает в себя начальную позицию воспроизведения и способ воспроизведения; и воспроизводят видеоконтент под управлением инструкции управления воспроизведением видео. Поскольку инструкцию управления определяют в соответствии со способом отображения воспроизводимого видео, видео может воспроизводиться с любого местоположения и с любого момента времени. 2 н. и 13 з.п. ф-лы, 7 ил.

Изобретение относится к кодеру и машиночитаемому носителю для обработки изображений. Технический результат заключается в повышении эффективности предсказания движения движущихся изображений. Кодер содержит ввод для приема данных движущихся изображений, модуль предсказания движения для использования при кодировании данных движущихся изображений посредством кодирования каждого блока относительно соответствующей опорной части другого кадра последовательности, при этом данные движущихся изображений упомянутого множества кадров содержат поток захвата экрана, модуль предсказания движения выполнен с возможностью ограничивать каждый из векторов движения потока захвата экрана единицами целопиксельных смещений в одном из упомянутых измерений, контроллер, выполненный с возможностью переключать модуль предсказания движения между первым режимом, в котором вектор движения не ограничивается единицами целопиксельных смещений, и вторым режимом, в котором вектор движения ограничивается единицами целопиксельных смещений в одном из упомянутых измерений, причем контроллер выполнен с возможностью переключать модуль предсказания движения на второй режим в зависимости от определения, что данные движущихся изображений, кодируемые в данный момент, содержат поток захвата экрана. 2 н. и 11 з.п. ф-лы, 7 ил.

Изобретение относится к вычислительной технике. Технический результат заключается в улучшении обработки мультимедийного сигнала, содержащего метаданные или управляющие данные. Кодер для кодирования вторичных мультимедийных данных, содержащих метаданные или управляющие данные для первичных мультимедийных данных, содержит модуль группировки для группировки потока битов вторичных мультимедийных данных, чтобы формировать сгруппированные вторичные мультимедийные данные, представляющие слова данных; формирователь опорных сигналов для формирования опорного шаблона, указывающего опорную амплитуду или предварительно определенный момент времени в первичных мультимедийных данных; и компоновщик потоков, содержащий фильтр формирования импульсов, чтобы подвергать фильтрации нижних частот слова данных или опорный шаблон, чтобы получать импульсы данных, содержащие длину более чем в одну выборку предварительно определенной частоты дискретизации, при этом кодер сконфигурирован с возможностью выводить поток цифровых слов в качестве вторичных мультимедийных данных. 8 н. и 34 з.п. ф-лы, 27 ил.
Наверх