Способ компенсации движения в цифровых динамических видеоизображениях

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

Реферат

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

Известен аналогичный способ компенсации движения в цифровых динамических видеоизображениях на основе стандарта кодирования MPEG-4 базового профиля, описанный в книге Яна Ричардсона «Видеокодирование Н.264 и MPEG-4 - стандарты нового поколения», Москва: Техносфера, 2005. - 368 с. и состоящий в следующем: перед обработкой видеопотока все его кадры логически разделяют на опорные и прогнозируемые, причем опорные кадры располагают с периодичностью в один или несколько прогнозируемых кадров, а саму периодичность следования опорных кадров задают предварительно, далее в плоскости кадрового изображения выбирают прямоугольную декартову систему координат, оси которой направляют параллельно или вдоль сторон кадрового прямоугольника, а в качестве единиц измерения по осям выбирают пикселы, в процессе обработки кадрового потока для получения каждого очередного кадра кодером опрашивают датчик изображения, затем полученное изображение переводят в требуемые для обработки формат и цветовую систему, после чего сохраняют в памяти кодера в качестве текущего кадра, далее текущий кадр логически разбивают на одинаковые по размерам фрагменты прямоугольной формы, называемые макроблоками, причем размеры макроблоков задают предварительно, а сразу после разделения очередного кадра на макроблоки за каждым макроблоком координатами одной из его точек закрепляют координаты положения макроблока в используемой системе координат, причем для координатных точек макроблоков задают одинаковое расположение внутри своих соответствующих макроблоков, в ходе обработки видеопотока отслеживают индексы его кадров, в процессе обработки каждого текущего кадра сначала по индексу кадра определяют его принадлежность к опорным или прогнозируемым кадрам, в случае принадлежности текущего кадра к опорным кадрам к нему не применяют компенсацию движения в изображении, но после обработки сохраняют данный кадр как в памяти кодера, так и в памяти декодера, в случае принадлежности текущего кадра к прогнозируемым кадрам к нему применяют компенсацию движения в изображении, при этом кодером формируют кадровый прогноз компенсации движения, а декодером проводят реконструкцию компенсации движения, для проведения компенсации движения каждого прогнозируемого кадра в качестве ссылочного кадра, и в кодере, и в декодере выбирают предыдущий кадр видеопоследовательности, в процессе формирования кодером прогноза компенсации движения сначала для каждого макроблока строят бинарную маску движения, затем по маскам движения за всеми макроблоками закрепляют признаки движения, согласно которым все макроблоки, по отношению к движению, классифицируют на внешние, граничные и внутренние, при этом признак движения внешнего макроблока присваивают тем макроблокам, которые содержат только неподвижные пикселы, признак движения граничного макроблока присваивают тем макроблокам, которые содержат и подвижные, и неподвижные пикселы, а признак движения внутреннего макроблока присваивают тем макроблокам, которые содержат только подвижные пикселы, далее для внутренних и граничных макроблоков проводят поиск их целочисленных векторов смещений к лучшим макроблочным прогнозам в поисковых областях ссылочного экстраполированного кадра, причем перед проведением поиска макроблочных прогнозов осуществляют сначала подгонку макроблоков ссылочного кадра с применением интерполяции значений сигналов неподвижных пикселов этого кадра по значениям сигналов его подвижных пикселов, а затем экстраполяцию ссылочного кадра по его окаймляющим пикселам до размеров, достаточных для проведения компенсации движения с применением заграничных векторов смещений, при этом для проведения подгонки используют признаки движения всех макроблоков и маски движения граничных макроблоков ссылочного кадра, а размеры экстраполированного кадра задают предварительно, алгоритм поиска прогнозовых векторов смещений и критерий качества поисковых макроблочных прогнозов выбирают предварительно, при задании положений областей поиска центры этих областей совмещают с центрами соответствующих макроблоков, при этом размеры областей поиска задают предварительно, во время поиска лучших макроблочных совпадений проверяют только те возможные макроблочные прогнозы, которые полностью попадают в формат ссылочного экстраполированного кадра, после окончания поиска макроблочных прогнозов для внутренних и граничных макроблоков определяют их макроблочные остатки, при этом для нахождения матриц макроблочного остатка какого-либо из указанных макроблоков из исходных матриц изображения этого макроблока вычитают соответствующие матрицы его найденного макроблочного прогноза, далее в памяти кодера сохраняют текущий кодируемый кадр, а также признаки движения всех его макроблоков и маски движения его граничных макроблоков, после чего подготавливают для дальнейшего кодирования признаки движения всех макроблоков, разностные макроблочные остатки, целочисленные векторы прогнозовых смещений и маски движения граничных макроблоков текущего кадра, в процессе проведения декодером реконструкции компенсации движения по декодированным прогнозовым векторам смещений определяют положение макроблочных прогнозов внутренних и граничных макроблоков в ссылочном экстраполированном кадре, причем перед определением положения макроблочных прогнозов к ссылочному кадру по тем же правилам и с использованием тех же параметров, что и в кодере, применяют сначала подгонку его макроблоков, а затем экстраполяцию кадра, после определения положений макроблочных прогнозов восстанавливают текущий кадр, при этом для нахождения исходных матриц изображения каждого внутреннего макроблока складывают соответствующие матрицы изображения его определенного макроблочного прогноза и матрицы изображения его декодированного макроблочного остатка, для нахождения исходных матриц изображения каждого граничного макроблока складывают соответствующие матрицы изображения его определенного макроблочного прогноза и матрицы изображения его декодированного макроблочного остатка, после чего значения неподвижных пикселов граничного макроблока загружают значениями соответствующих пикселов ссылочного экстраполированного кадра без смещения, для нахождения исходных матриц изображения каждого внешнего макроблока их значения загружают значениями соответствующих матриц ссылочного экстраполированного кадра без смещения, далее в памяти декодера сохраняют текущий восстановленный кадр, а также признаки движения всех его макроблоков и маски движения его граничных макроблоков, после чего текущий кадр переводят в требуемые для показа формат и цветовую систему и затем выводят на экран устройства воспроизведения изображений. Недостатком данного аналога является низкое среднее значение пропускной кадровой способности при обработке кадрового видеопотока в режиме реального времени, обусловленное применением поискового алгоритма компенсации движения для прогнозируемых кадров видеопотока.

В качестве прототипа выбран способ компенсации движения в цифровых динамических видеоизображениях на основе стандарта кодирования MPEG-4 базового профиля, описанный в книге Яна Ричардсона «Видеокодирование Н.264 и MPEG-4 - стандарты нового поколения», Москва: Техносфера, 2005. - 368 с. и состоящий в следующем: перед обработкой видеопотока все его кадры логически разделяют на опорные и прогнозируемые, причем опорные кадры располагают с периодичностью в один или несколько прогнозируемых кадров, а саму периодичность следования опорных кадров задают предварительно, далее в плоскости кадрового изображения выбирают прямоугольную декартову систему координат, оси которой направляют параллельно или вдоль сторон кадрового прямоугольника, а в качестве единиц измерения по осям выбирают пикселы, в процессе обработки кадрового потока для получения каждого очередного кадра кодером опрашивают датчик изображения, затем полученное изображение переводят в требуемые для обработки формат и цветовую систему, после чего сохраняют в памяти кодера в качестве текущего кадра, далее текущий кадр логически разбивают на одинаковые по размерам фрагменты прямоугольной формы, называемые макроблоками, причем размеры макроблоков задают предварительно, а сразу после разделения очередного кадра на макроблоки за каждым макроблоком координатами одной из его точек закрепляют координаты положения макроблока в используемой системе координат, причем для координатных точек макроблоков задают одинаковое расположение внутри своих соответствующих макроблоков, в ходе обработки видеопотока отслеживают индексы его кадров, в процессе обработки каждого текущего кадра сначала по индексу кадра определяют его принадлежность к опорным или прогнозируемым кадрам, в случае принадлежности текущего кадра к опорным кадрам, к нему не применяют компенсацию движения в изображении, но после обработки сохраняют данный кадр как в памяти кодера, так и в памяти декодера, в случае принадлежности текущего кадра к прогнозируемым кадрам к нему применяют компенсацию движения в изображении, при этом кодером формируют кадровый прогноз компенсации движения, а декодером проводят реконструкцию компенсации движения, для проведения компенсации движения каждого прогнозируемого кадра в качестве ссылочного кадра, и в кодере, и в декодере, выбирают предыдущий кадр видеопоследовательности, в процессе формирования кодером прогноза компенсации движения сначала для каждого макроблока строят бинарную маску движения, затем по маскам движения за всеми макроблоками закрепляют признаки движения, согласно которым все макроблоки, по отношению к движению, классифицируют на внешние, граничные и внутренние, при этом признак движения внешнего макроблока присваивают тем макроблокам, которые содержат только неподвижные пикселы, признак движения граничного макроблока присваивают тем макроблокам, которые содержат и подвижные, и неподвижные пикселы, а признак движения внутреннего макроблока присваивают тем макроблокам, которые содержат только подвижные пикселы, далее для внутренних и граничных макроблоков проводят поиск их целочисленных векторов смещений к лучшим макроблочным прогнозам в поисковых областях ссылочного экстраполированного кадра, причем перед проведением поиска макроблочных прогнозов осуществляют сначала подгонку макроблоков ссылочного кадра с применением интерполяции значений сигналов неподвижных пикселов этого кадра по значениям сигналов его подвижных пикселов, а затем экстраполяцию ссылочного кадра по его окаймляющим пикселам до размеров, достаточных для проведения компенсации движения с применением заграничных векторов смещений, при этом для проведения подгонки используют признаки движения всех макроблоков и маски движения граничных макроблоков ссылочного кадра, а размеры экстраполированного кадра задают предварительно, алгоритм поиска прогнозовых векторов смещений и критерий качества поисковых макроблочных прогнозов выбирают предварительно, при задании положений областей поиска центры этих областей совмещают с центрами соответствующих макроблоков, при этом размеры областей поиска задают предварительно, во время поиска лучших макроблочных совпадений проверяют только те возможные макроблочные прогнозы, которые полностью попадают в формат ссылочного экстраполированного кадра, после окончания поиска макроблочных прогнозов для внутренних и граничных макроблоков определяют их макроблочные остатки, при этом для нахождения матриц макроблочного остатка какого-либо из указанных макроблоков из исходных матриц изображения этого макроблока вычитают соответствующие матрицы его найденного макроблочного прогноза, далее в памяти кодера сохраняют текущий кодируемый кадр, а также признаки движения всех его макроблоков и маски движения его граничных макроблоков, после чего подготавливают для дальнейшего кодирования признаки движения всех макроблоков, разностные макроблочные остатки, целочисленные векторы прогнозовых смещений и маски движения граничных макроблоков текущего кадра, в процессе проведения декодером реконструкции компенсации движения по декодированным прогнозовым векторам смещений определяют положение макроблочных прогнозов внутренних и граничных макроблоков в ссылочном экстраполированном кадре, причем перед определением положения макроблочных прогнозов к ссылочному кадру по тем же правилам и с использованием тех же параметров, что и в кодере, применяют сначала подгонку его макроблоков, а затем экстраполяцию кадра, после определения положений макроблочных прогнозов восстанавливают текущий кадр, при этом для нахождения исходных матриц изображения каждого внутреннего макроблока складывают соответствующие матрицы изображения его определенного макроблочного прогноза и матрицы изображения его декодированного макроблочного остатка, для нахождения исходных матриц изображения каждого граничного макроблока складывают соответствующие матрицы изображения его определенного макроблочного прогноза и матрицы изображения его декодированного макроблочного остатка, после чего значения неподвижных пикселов граничного макроблока загружают значениями соответствующих пикселов ссылочного экстраполированного кадра без смещения, для нахождения исходных матриц изображения каждого внешнего макроблока их значения загружают значениями соответствующих матриц ссылочного экстраполированного кадра без смещения, далее в памяти декодера сохраняют текущий восстановленный кадр, а также признаки движения всех его макроблоков и маски движения его граничных макроблоков, после чего текущий кадр переводят в требуемые для показа формат и цветовую систему и затем выводят на экран устройства воспроизведения изображений. Недостатком прототипа является низкое среднее значение пропускной кадровой способности при обработке кадрового видеопотока в режиме реального времени, обусловленное применением поискового алгоритма компенсации движения для прогнозируемых кадров видеопотока.

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

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

u - скорость макроблоков текущего системного блока по текущей координатной оси;

t - время;

x - абсцисса макроблоков в заданной системе координат;

y - ордината макроблоков в заданной системе координат;

a1, a2, a3 - коэффициенты системной аппроксимации движения макроблоков в рамках текущего системного блока по текущей координатной оси,

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

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

t - время;

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

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

Объяснение необходимости введения совокупности отличительных признаков заявленного способа от прототипного способа, рассматриваемых в контексте способов компенсации движения в цифровых динамических видеоизображениях и предназначенных для построения телесистем на базах видеокодеков, одни из возможных вариантов исполнения которых со структурными схемами телесистем и архитектурами видеокодеков представлены на фигурах (ФИГ.1.) и (ФИГ.2.) для прототипного способа, а также на фигурах (ФИГ.3.) и (ФИГ.4.) для заявляемого способа, заключается в следующем. В основе достижения требуемого технического результата, в частности для существенного увеличения среднего значения пропускной кадровой способности при незначительном снижении средних значений объема кода и качества декодируемого изображения видеокодеков, использующих компенсацию движения в цифровых динамических видеоизображениях при обработке кадрового видеопотока в режиме реального времени, лежит фундаментальная идея сочетания поискового алгоритма компенсации движения кадровых фрагментов с аппроксимацией движения кадровых фрагментальных проекций приближенными физическими законами движения реальных запечатленных подвижных объектов, соответствующих данным проекциям. Фрагментальная аппроксимация движения в изображении позволяет приближенно определять положения прогнозов части подвижных фрагментов кадра, и, далее, для уточнения положений найденных предварительных аппроксимационных прогнозов, использовать поисковый алгоритм компенсации движения, но уже с уменьшенными размерами областей поиска прогнозов и смещением центров этих областей на найденные векторы аппроксимационных смещений. Вследствие этого, с одной стороны сокращается среднее время обработки кадра за счет аппроксимации движения части фрагментов, а с другой стороны остаются приблизительно на том же уровне объем кадрового кода и качество декодируемого изображения, так как положение аппроксимационных прогнозов дополнительно уточняется поисковым алгоритмом. Особенно данный подход эффективен при съемке и обработке видеосцен с реальными объектами, обладающими существенными линейными скоростями и движущимися параллельно плоскости датчика изображения. Аппроксимация движения характеризуется дискретным представлением формул и проводится для третьего и всех последующих кадров и с использованием скоростей движения макроблоков. Переход от векторов смещений к скоростям движения макроблоков и обратно осуществляется при использовании временных кадровых отметок, получаемых от таймерного устройства в режиме реального времени. Для повышения достоверности результатов аппроксимации движения используются дробные векторы смещений макроблоков и дробные векторы скоростей их движения. Используется два вида аппроксимации движения фрагментов кадра: системная и индивидуальная. Причем для текущего кадра сначала проводится системная, а затем индивидуальная аппроксимация движения. Принципы двухуровневой блочной компенсации движения в цифровых динамических видеоизображениях, используемые в заявляемом способе, представлены на фигурах (ФИГ.5.), (ФИГ.6.), (ФИГ.7.). Основной задачей системной аппроксимации движения является выявление характера движения макроблоков в рамках, так называемых системных блоков, на которые дополнительно изначально логически разбивается каждый кадр, и которые содержат внутри себя достаточное количество подвижных макроблоков, координаты каждого из которых, в свою очередь, задаются координатами одной из точек макроблока, а внутри каждого системного блока выбирается тройка расчетных макроблоков с условием наличия их ближайших соседей по координатным осям. При этом системная аппроксимация движения оперирует пространственно-временными параметрами движения макроблоков и охватывает динамические данные множества вложенных макроблоков в рамках системных блоков, что существенно влияет на достоверность системного прогноза. Индивидуальная аппроксимация, в свою очередь, оперирует только временными параметрами движения макроблоков и подразумевает предсказание положений макроблоков в текущем кадре исключительно по их собственным предыдущим значениям динамических данных движения. Процесс проведения аппроксимаций движения регулируется признаками обработки системных блоков, а также признаками аппроксимации движения макроблоков. Все представленные далее теоретические формулы подразумевают фиксацию одной из координатных осей, а также одного из системных блоков или одного из макроблоков, без указания в формулах индексов фиксированных объектов. Поскольку нет возможности работать с частями поверхностей реальных движущихся объектов, уравнения аппроксимации движения применяются к объектным проекциям, движущимся в плоскости кадрового изображения.

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

u - скорость макроблоков для текущей координатной оси и текущего системного блока;

t - время;

x - абсцисса макроблоков;

y - ордината макроблоков;

a1, a2, a3 - коэффициенты системной аппроксимации движения макроблоков для текущей координатной оси и текущего системного блока;

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