СПОСОБ КОМПЕНСАЦИИ ДВИЖЕНИЯ В ЦИФРОВЫХ ДИНАМИЧЕСКИХ ВИДЕОИЗОБРАЖЕНИЯХ Российский патент 2015 года по МПК H04N19/56 

Описание патента на изобретение RU2552139C1

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

Известен аналогичный способ компенсации движения в цифровых динамических видеоизображениях на основе стандарта кодирования 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 - коэффициенты системной аппроксимации движения макроблоков для текущей координатной оси и текущего системного блока;

его можно получить из уравнения математической физики, известного под названием уравнения колебания мембраны, если предварительно условиться, что входное воздействие постоянно на протяжении определенного короткого отрезка времени и на всей рабочей поверхности, далее обе части этого уравнения разделить на постоянное входное воздействие, и, затем, ввести новые обозначения, обозначив дроби перед производными в качестве новых коэффициентов, а сами производные второго порядка заменить производными первого порядка, используя вместо положений скорости. Предполагается, что при проведении системной аппроксимации движения в текущем кадре для каждого системного блока по текущей координатной оси входные воздействия на макроблоки текущего системного блока считаются постоянными для всех вложенных макроблоков и на протяжении временного отрезка, охватывающего три последовательных кадра, включая текущий и два предыдущих. Условно назовем a1 корпускулярным коэффициентом, а а2 и а3 волновыми коэффициентами теоретического уравнения системной аппроксимации движения. Тогда задача системной аппроксимации движения состоит в том, чтобы выявить те фрагменты проекций запечатленных объектов или их частей, которые в гораздо большей степени обладают корпускулярным свойством, нежели чем волновым, то есть при движении ведут себя как монолитные объекты, не меняющие свою геометрическую форму. При проведении системной аппроксимации движения кадра для каждого системного блока по каждой из координатных осей сначала по данным двух предыдущих кадров рассчитываются коэффициенты системной аппроксимации движения, далее проверяются условия для значений найденных коэффициентов, а затем по данным текущего и предыдущего кадров рассчитываются текущие скорости движения макроблоков обрабатываемых системных блоков. Для расчета коэффициентов системной аппроксимации движения изначально составляется и решается в дискретной форме система из трех уравнений указанного вида, в которой коэффициенты системной аппроксимации движения принимают в качестве неизвестных величин, а производные вычисляются предварительно по данным двух предыдущих кадров с привлечением значений временных отметок этих кадров, а также с привлечением значений скоростей движения и координат положения трех расчетных макроблоков текущего системного блока и их ближайших соседей по координатным осям для указанных кадров. При этом значения порядков производных системы можно регулировать выбором единицы измерения времени. С математической точки зрения предпочтение в пользу корпускулярных коэффициентов означает преобладание их абсолютных значений над абсолютными значениями волновых коэффициентов, поэтому на практике удобно использовать конъюнктивное условие преобладания абсолютного значения коэффициента при временной производной над абсолютными значениями коэффициентов при пространственных производных, причем степень преобладания и математическую формулу проверки коэффициентов задавать предварительно. При этом важно подчеркнуть, что данное конъюнктивное условие должно выполняться сразу для всех координатных осей для признания системного блока обрабатываемым с аппроксимацией движения в нем. Единицы измерения времени можно подобрать опытным путем и выбрать таким образом, чтобы все производные конечных теоретических уравнений имели бы приблизительно одинаковый порядок. Алгоритм решения систем уравнений можно выбрать таким, чтобы обеспечить скорейшее решение систем в совокупности с высокой точностью решений. Малость абсолютных значений волновых коэффициентов по сравнению со значением корпускулярного коэффициента конечного теоретического уравнения системной аппроксимации движения, при приблизительно одинаковом порядке всех производных, означает, что двумя слагаемыми, в указанном уравнении при этих коэффициентах, можно пренебречь. По этой причине текущие скорости движения макроблока по координатным осям рассчитываются с помощью представленной формулы системной аппроксимации движения в дискретном виде, в которой текущая скорость движения макроблока принимается в качестве неизвестной величины, при этом из указанной формулы предварительно исключаются слагаемые с пространственными производными при втором и третьем коэффициентах, а для решения оставшегося уравнения используют данные текущего и предыдущего кадров с привлечением значений временных отметок этих кадров, а также с привлечением значений скоростей движения текущего макроблока для указанных кадров.

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

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

t - время;

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

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

Устройство для реализации предложенного способа компенсации движения в цифровых динамических изображениях состоит из ноутбука «SAMSUNG R530», цифровой web-камеры «hama AC-150», подставки для web-камеры, маятника, соединительной нити, штатива, источника освещения, разветвителя, источника электричества, съемочной площадки. К ноутбуку 1 подключена цифровая web-камера 2, находящаяся на подставке 3, предназначенная для съемки маятника 4, прикрепленного соединительной нитью 5 к штативу 6. Маятник освещается источником освещения 7. К разветвителю 8 подключены ноутбук и источник освещения, а сам он подключен к источнику электричества 9. Все перечисленные выше элементы расположены на съемочной площадке 10. Ноутбук и источник освещения находятся во включенном состоянии, причем на ноутбуке загружено программное обеспечение для проведения сравнительного анализа прототипного и заявляемого способов компенсации движения в цифровых динамических видеоизображениях. Все параметры и технические характеристики перечисленных выше конструктивных элементов, параметры модели видеокодека на базе заявляемого способа, а также параметры сравниваемых моделей видеокодеков, реализующих прототипный и заявляемый способы компенсации движения в цифровых динамических видеоизображениях, при прочих равных условиях и параметрах, представлены на (ФИГ.8.) и (ФИГ.9.), а также в таблицах (Таблица 1) и (Таблица 2). Разрешение экрана ноутбука позволяет выводить на экран графические результаты экспериментов, а его тактовая частота позволяет сравнивать модели видеокодеков с учетом работы в режиме реального времени, а также в процессе обработки кадрового видеопотока сохранять и впоследствии выводить на экран результаты сравнительного анализа моделей видеокодеков. Ноутбук снабжен программным обеспечением, позволяющим осуществлять заявляемый способ в отдельности, а также осуществлять эксперимент по проведению сравнительного анализа моделей видеокодеков на базах прототипного и заявляемого способов. В эксперименте по сравнению моделей видеокодеков обрабатывается видеопоследовательность из ста кадров. При этом модель видеокодека на базе прототипного способа обрабатывает экспериментальную кадровую видеопоследовательность без привлечения временных кадровых отметок, а модель видеокодека на базе заявляемого способа обрабатывает экспериментальную кадровую видеопоследовательность с привлечением временных кадровых отметок. Эксперимент устроен следующим образом: сначала записывается и обрабатывается кадровая видеопоследовательность в режиме on-line моделью видеокодека на базе прототипного способа, при этом в памяти ноутбука сохраняются обрабатываемая кадровая видеопоследовательность и временные отметки кадров, после чего сохраненная видеопоследовательность обрабатывается в режиме off-line моделью видеокодека на базе заявляемого способа.

Таблица 1 Параметры оборудования экспериментальной установки № поз. Наименование Основные характеристики 1 Ноутбук «SAMSUNG R530» Разрешение 1024×768 пикселов, тактовая частота 2,0 ГГц, наличие программного обеспечения для проведения сравнительного анализа моделей видеокодеков на базах прототипного и заявляемого способов 2 Цифровая web-камера «hamaAC-150» Разрешение 640х480 пикселов, объектив расположен параллельно плоскости O2, O3 на расстоянии b=0,6 м до центра тяжести маятника при нахождении маятника в свободном положении и на высоте от верхней поверхности подставки d=0,05 м. 3 Подставка для web-камеры Высота е=0,1 м 4 Маятник Масса 0,350 кг, диаметр 0,2 м 5 Соединительная нить Длина 1,5 м, диаметр 0,001 м, начальный угол отклонения от оси O2 a=15° 6 Штатив Ограничивает все линейные перемещения и угловые вращения маятника, кроме вращения вокруг оси O1 7 Источник освещения Мощность 100 Вт, стабильное освещение, расположен на съемочной площадке таким образом, чтобы поток освещения был направлен на маятник 8 Разветвитель 3 разъема 9 Источник электричества Напряжение 220 В, частота 50 Гц 10 Съемочная площадка Размер и форма достаточны для установки оборудования, цветовые свойства фона отличаются от цветовых свойств маятника

Таблица 2 Параметры сравниваемых моделей видеокодеков Структурная схема цифровой телевизионной системы на базе видеокодека с использованием прототипного способа (см. ФИГ.1) Архитектура видеокодека с использованием прототипного способа (см. ФИГ.2) Структурная схема цифровой телевизионной системы на базе видеокодека с использованием заявляемого способа (см. ФИГ.3) Архитектура видеокодека с использованием заявляемого способа (см. ФИГ.4) Количество сравниваемых моделей видеокодеков 2 модели Количество экспериментов 1 эксперимент Количество экспериментальных кадров 100 кадров Период следования опорных кадров 10 кадров Входной формат кадров 640×480 пикселов

Цветовая система входных кадров R, G, B Рабочий формат кадров 80×64 пикселов Формат экстраполированного кадра 88×72 пикселов Цветовая система рабочих кадров Y, Cr, Cb Формат сэмплирования 4:4:4 Выходной формат кадров 400×300 пикселов Цветовая система входных кадров R, G, B Время обработки любого из кадров 0,15 с (не более) Единица измерения времени 0,1 с Коррекционное значение временных меток 0,01 с Размерность системных блоков 4×4 макроблоков Размерность макроблоков 4×4 пикселов Алгоритм поиска целочисленных макроблочных прогнозов Полный перебор Алгоритм рассчета дробных макроблочных прогнозов По соседним положениям относительно лучшего прогноза Размер стандартной области поиска макроблочного прогноза 16×16 пикселов Размер аппроксимационной области поиска макроблочного прогноза 6×6 пикселов Критерий поиска лучших блочных прогнозов Минимум МАЕ (ср-е абс-е откл-е) (отн. ед. яркости) ([0…255]) Инструмент измерения времени Счетчик монитора (временная разрешающая способность << 1 мс) Система координат (см. ФИГ.5) Координатные точки макроблоков (см. ФИГ.6) Положение расчетных макроблоков в системных блоках (см. ФИГ.7) Условие отношений абсолютных значений коэффициентов системной аппроксимации движения (|a2|/|a1|<arg)&(|a3|/|a1|<arg) a1, a2, а3 - коэффициенты, arg - регулятор отношений коэффициентов Пороговый уровень отношения коэффициентов аппроксимации движения 0,1 (не более) Пороговый уровень критерия качества аппроксимационного прогноза 4 ед. МАЕ, (не более) Шаг квантования-деквантования коэффициентов 4 Принцип выделения числовых серий переменной длины «Серия, значение, конец» Принцип энтропийного кодирования - декодирования числовых серий и векторов смещений Табличный Принцип арифметического кодирования маски движения Контекстно-зависимое

Алгоритм решения системы линейных алгебраических уравнений основан на поиске базисного минора, составлении, при необходимости, новой системы уравнений меньшего порядка на основе найденного базисного минора, и решении конечной системы по формулам Крамера. Коэффициентам, множители при которых не участвуют в формировании базисного минора, присваиваются нулевые значения. Формирование дробных составляющих векторов смещений макроблоков проводится для каждой координатной оси по существующим в рамках предыдущего экстраполированного кадра и соседним, относительно найденного наилучшего целочисленного прогноза, положениям с различными значениями критерия качества прогноза, при этом знак дробной части определяется необходимостью смещения в сторону соседнего положения с меньшим значением качества прогноза, а абсолютное значение дробной части определяется как разность единицы и отношения меньшего значения критерия качества одного их соседних прогнозов к большему значению критерия качества другого соседнего прогноза. Для входного кадрового видеопотока используется одно из стандартных разрешений web-камеры. Взаимное расположение web-камеры и маятника, с учетом высоты подставки для web-камеры и расстояния от нее до маятника, выбрано таким образом, чтобы в процессе проведения экспериментов изображение маятника занимало значительную часть кадра. Длина соединительной нити выбрана так, чтобы обеспечить период колебания маятника, при котором положения изображений маятника на двух соседних кадрах различаются слабо, то есть на несколько пикселов, а движение маятника на коротких участках траектории можно рассматривать как прямолинейное движение с ускорениями, что в свою очередь позволяет проводить аппроксимацию движения фрагментов изображения маятника с применением математической модели заявляемого способа. Мощность источника освещения достаточна для обнаружения различий цветовых свойств маятника и фона видеосцены. Описанный выше способ компенсации движения в цифровых динамических видеоизображениях осуществляется следующим образом: маятник отклоняют на угол a=15° от свободной оси вращения, после чего его отпускают. Через 5-10 секунд на ноутбуке запускают программный вариант по осуществлению заявляемого способа в отдельности или эксперимент по проведению сравнительного анализа моделей видеокодеков на базах прототипного и заявляемого способов нажатием соответствующей кнопки. После этого ожидают окончания обработки кадрового видеопотока и вывода на экран результатов осуществления заявляемого способа в отдельности, либо результатов эксперимента по сравнению моделей видеокодеков, использующих прототипный и заявляемый способы. После этого маятник останавливают, то есть приводят в начальное исходное свободное положение.

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

Таблица 3 Причинно-следственная связь между совокупностью существенных признаков заявляемого объекта и достигаемым техническим результатом. Виды технического результата и их размерность Показатели способа, фактические или расчетные прототипа заявляемого Пропускная кадровая способность модели видеокодека на базе способа, Ф, кадр/с 8,7 10,1 Общее время обработки видеопотока, затраченное моделью видеокодека на базе способа, Т, с 11,5 9,9 Общий объем кода видеопотока, полученный моделью видеокодека на базе способа, V, бит 1043536 1060233 Ошибка качества изображения, определяемая как среднее абсолютное отклонение сигналов кодируемого и декодированного видеопотоков из числового диапазона [0…255], накопленная моделью видеокодека на базе способа, Е, отн. ед. яркости 2,870 2,873 Качество аппроксимации движения, определяемое суммарным количеством подвижных макроблоков с признаками отсутствия аппроксимации движения при обработке видеопотока моделью видеокодека на базе способа, А, шт. 11703 6963

Более подробно результаты сравнительного анализа двух моделей видеокодеков на базах прототипного и заявляемого способов представлены на фигурах (ФИГ.10.), (ФИГ.11.), (ФИГ.12.), (ФИГ.13.), а также на фигурах (ФИГ.14.), (ФИГ.15.), (ФИГ.16.), (ФИГ.17.). Проводились также эксперименты со сменой режимов off-line и on-line для моделей видеокодеков, а также эксперименты с применением в моделях видеокодеков алгоритмов укороченного поиска макроблочных прогнозов, таких как «алгоритм поиска в три шага» и «алгоритм поиска по ближайшим соседям». Результаты этих экспериментов в целом идентичны результатам экспериментов с использованием алгоритма полного перебора, но с менее выраженным эффектом улучшения пропускной кадровой способности. Согласно экспериментальным данным, использование алгоритма полного перебора дает улучшение пропускной кадровой способности видеокодека на 10-15%, а использование укороченных алгоритмов поиска дает улучшение пропускной кадровой способности видеокодека на 5-10%. Учитывая результаты экспериментальных данных по сравнению моделей видеокодеков на базах прототипного и заявляемого способов компенсации движения в цифровых динамических видеоизображениях, можно сделать относительно заявляемого способа следующий вывод: предложенное техническое решение обеспечивает существенное увеличение среднего значения пропускной кадровой способности видеокодека при обработке кадрового видеопотока в режиме реального времени при незначительном снижении значений среднего объема кода и качества декодируемого изображения.

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

ФИГ.1. Структурная схема цифровой телевизионной системы на базе видеокодека, реализующего прототипный способ.

ФИГ.2. Принципы организации структуры видеокодека и процесса обработки кадрового потока с применением прототипного способа.

ФИГ.3. Структурная схема цифровой телевизионной системы на базе видеокодека, реализующего заявляемый способ.

ФИГ.4. Принципы организации структуры видеокодека и процесса обработки кадрового потока с применением заявляемого способа.

ФИГ.5. Логическое разбиение кадра на системные блоки и макроблоки в заявляемом способе.

ФИГ.6. Принцип назначения координат макроблоков в заявляемом способе.

ФИГ.7. Один из вариантов выбора расчетных макроблоков в рамках системного блока в заявляемом способе.

ФИГ.8. Снимок экспериментальной установки для сравнения эффективностей работы видеодеков на базах прототипного и заявляемого способов.

ФИГ.9. Схема экспериментальной установки для сравнения эффективностей работы видеодеков на базах прототипного и заявляемого способов.

ФИГ.10. Снимок кодируемого кадра с применением заявляемого способа.

ФИГ.11. Снимок декодированного кадра с применением заявляемого способа.

ФИГ.12. Снимок бинарной маски движения кадра с применением заявляемого способа.

ФИГ.13. Снимок цветовой градации макроблоков кадра с применением заявляемого способа по признакам аппроксимации движения с обозначениями: синий - отсутствие аппроксимации движения, зеленый - наличие системной аппроксимации движения, красный - наличие индивидуальной аппроксимации движения.

ФИГ.14. График зависимости отношения времени кадровой обработки с применением заявляемого способа ко времени кадровой обработки с применением прототипного способа от номера кадра.

ФИГ.15. График зависимости отношения объема кадрового кода с применением заявляемого способа к объему кадрового кода с применением прототипного способа от номера кадра.

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

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

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

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

название год авторы номер документа
СПОСОБ КОМПЕНСАЦИИ ДВИЖЕНИЯ В ЦИФРОВЫХ ДИНАМИЧЕСКИХ СТЕРЕОВИДЕОИЗОБРАЖЕНИЯХ 2013
  • Минаков Евгений Иванович
  • Калистратов Дмитрий Сергеевич
RU2550544C1
Способ кодирования-декодирования цифровых статических видеоизображений 2016
  • Калистратов Дмитрий Сергеевич
  • Минаков Евгений Иванович
RU2616178C1
СПОСОБ ИНТЕРПОЛЯЦИИ ЗНАЧЕНИЙ ПОД-ПИКСЕЛОВ 2007
  • Карчевич Марта
  • Халлапуро Антти
RU2477575C2
СПОСОБ ИНТЕРПОЛЯЦИИ ЗНАЧЕНИЙ ПОДПИКСЕЛОВ 2002
  • Карчевич Марта
  • Халлапуро Антти
RU2317654C2
КОДИРУЮЩИЕ ДИНАМИЧЕСКИЕ ФИЛЬТРЫ 2003
  • Лайнема Яни
RU2302707C2
СИСТЕМЫ И СПОСОБЫ ДЛЯ ВЕКТОРОВ ДВИЖЕНИЯ, ГЕНЕРИРУЕМЫХ ВО ВРЕМЯ ИГРЫ 2018
  • Копьец, Микаэль
RU2760974C2
СИСТЕМЫ И СПОСОБЫ ДЛЯ ВЕКТОРОВ ДВИЖЕНИЯ, ГЕНЕРИРУЕМЫХ ВО ВРЕМЯ ИГРЫ 2018
  • Копьец, Микаэль
RU2735241C1
МЕТОДИКИ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ ЦИФРОВОГО ВИДЕО С ПЕРЕМЕННЫМ РАЗРЕШЕНИЕМ 2007
  • Баркли Уоррен В.
  • Чоу Филип А.
  • Крайнон Риджис Дж.
  • Мур Тим
RU2497302C2
КОДИРОВАНИЕ ДАННЫХ ЗАХВАТА ЭКРАНА 2014
  • Силкин Сергей
  • Саблин Сергей
  • Чжоу Ю
  • Лин Чих-Лунг
  • Ли Мин-Чиех
RU2679349C1
КОДИРОВАНИЕ КОЭФФИЦИЕНТОВ ПРЕОБРАЗОВАНИЯ В КОДЕРАХ И/ИЛИ ДЕКОДЕРАХ ИЗОБРАЖЕНИЯ/ВИДЕОСИГНАЛА 2003
  • Курсерен Рагип
  • Карчевич Марта
RU2335845C2

Иллюстрации к изобретению RU 2 552 139 C1

Реферат патента 2015 года СПОСОБ КОМПЕНСАЦИИ ДВИЖЕНИЯ В ЦИФРОВЫХ ДИНАМИЧЕСКИХ ВИДЕОИЗОБРАЖЕНИЯХ

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

Формула изобретения RU 2 552 139 C1

1. Способ компенсации движения в цифровых динамических видеоизображениях, состоящий в следующем, перед обработкой видеопотока все его кадры логически разделяют на опорные и прогнозируемые, причем опорные кадры располагают с периодичностью в один или несколько прогнозируемых кадров, а саму периодичность следования опорных кадров задают предварительно, далее в плоскости кадрового изображения выбирают прямоугольную декартову систему координат, оси которой направляют параллельно или вдоль сторон кадрового прямоугольника, а в качестве единиц измерения по осям выбирают пикселы, в процессе обработки кадрового потока для получения каждого очередного кадра кодером опрашивают датчик изображения, затем полученное изображение переводят в требуемые для обработки формат и цветовую систему, после чего сохраняют в памяти кодера в качестве текущего кадра, далее текущий кадр логически разбивают на одинаковые по размерам фрагменты прямоугольной формы, называемые макроблоками, причем размеры макроблоков задают предварительно, а сразу после разделения очередного кадра на макроблоки за каждым макроблоком координатами одной из его точек закрепляют координаты положения макроблока в используемой системе координат, причем для координатных точек макроблоков задают одинаковое расположение внутри своих соответствующих макроблоков, в ходе обработки видеопотока отслеживают индексы его кадров, в процессе обработки каждого текущего кадра сначала по индексу кадра определяют его принадлежность к опорным или прогнозируемым кадрам, в случае принадлежности текущего кадра к опорным кадрам, к нему не применяют компенсацию движения в изображении, но после обработки сохраняют данный кадр как в памяти кодера, так и в памяти декодера, в случае принадлежности текущего кадра к прогнозируемым кадрам к нему применяют компенсацию движения в изображении, при этом кодером формируют кадровый прогноз компенсации движения, а декодером проводят реконструкцию компенсации движения, для проведения компенсации движения каждого прогнозируемого кадра в качестве ссылочного кадра, и в кодере, и в декодере, выбирают предыдущий кадр видеопоследовательности, в процессе формирования кодером прогноза компенсации движения сначала для каждого макроблока прогнозируемого кадра строят бинарную маску движения, затем по маскам движения за всеми макроблоками закрепляют признаки движения, согласно которым все макроблоки, по отношению к движению, классифицируют на внешние, граничные и внутренние, при этом признак движения внешнего макроблока присваивают тем макроблокам, которые содержат только неподвижные пикселы, признак движения граничного макроблока присваивают тем макроблокам, которые содержат и подвижные, и неподвижные пикселы, а признак движения внутреннего макроблока присваивают тем макроблокам, которые содержат только подвижные пикселы, далее для внутренних и граничных макроблоков проводят поиск их целочисленных векторов смещений к лучшим макроблочным прогнозам в поисковых областях ссылочного экстраполированного кадра, причем перед проведением поиска макроблочных прогнозов осуществляют экстраполяцию ссылочного кадра по его окаймляющим пикселам до размеров, достаточных для проведения компенсации движения с применением заграничных векторов смещений, при этом размеры экстраполированного кадра задают предварительно, алгоритм поиска прогнозовых векторов смещений и критерий качества поисковых макроблочных прогнозов выбирают предварительно, при задании положений областей поиска центры этих областей совмещают с центрами соответствующих макроблоков, при этом размеры областей поиска задают предварительно, во время поиска лучших макроблочных совпадений проверяют только те возможные макроблочные прогнозы, которые полностью попадают в формат ссылочного экстраполированного кадра, после окончания поиска макроблочных прогнозов для внутренних и граничных макроблоков определяют их макроблочные остатки, при этом для нахождения матриц макроблочного остатка какого-либо из указанных макроблоков из исходных матриц изображения этого макроблока вычитают соответствующие матрицы его найденного макроблочного прогноза, далее в памяти кодера сохраняют текущий кодируемый кадр, после чего подготавливают для дальнейшего кодирования признаки движения всех макроблоков, разностные макроблочные остатки, целочисленные векторы прогнозовых смещений и маски движения граничных макроблоков текущего кадра, в процессе проведения декодером реконструкции компенсации движения по декодированным прогнозовым векторам смещений определяют положение макроблочных прогнозов внутренних и граничных макроблоков в ссылочном экстраполированном кадре, причем перед определением положения макроблочных прогнозов к ссылочному кадру по тем же правилам и с использованием тех же параметров, что и в кодере, применяют экстраполяцию кадра, после определения положений макроблочных прогнозов восстанавливают текущий кадр, при этом для нахождения исходных матриц изображения каждого внутреннего макроблока складывают соответствующие матрицы изображения его определенного макроблочного прогноза и матрицы изображения его декодированного макроблочного остатка, для нахождения исходных матриц изображения каждого граничного макроблока складывают соответствующие матрицы изображения его определенного макроблочного прогноза и матрицы изображения его декодированного макроблочного остатка, после чего значения неподвижных пикселов граничного макроблока загружают значениями соответствующих пикселов ссылочного экстраполированного кадра без смещения, для нахождения исходных матриц изображения каждого внешнего макроблока их значения загружают значениями соответствующих матриц ссылочного экстраполированного кадра без смещения, далее в памяти декодера сохраняют текущий восстановленный кадр, после чего текущий кадр переводят в требуемые для показа формат и цветовую систему и затем выводят на экран устройства воспроизведения изображений, отличающийся тем, что в процессе проведения видеокодеком компенсации движения в кадрах видеопотока, используют сочетание поискового алгоритма компенсации движения кадровых фрагментов с аппроксимацией движения кадровых фрагментальных проекций приближенными физическими законами движения реальных запечатленных подвижных объектов, соответствующих данным проекциям, для этого, перед эксплуатацией видеокодека, проверяют наличие таймера в составе кодера, причем, в случае его изначального отсутствия, в состав кодера дополнительно вводят таймер, в процессе обработки кадрового потока, сразу после получения каждого очередного кадра, кодером опрашивают таймер, после чего, по данным опроса таймера, за кадром закрепляют отметку реального времени, при этом единицы измерения времени задают предварительно, а после получения временной отметки текущего кадра ее значение сравнивают со значением временной отметки предыдущего кадра, причем в случае равенства, по результатам сравнения значений этих временных отметок к значению временной отметки текущего кадра, добавляют коррекционное значение временных кадровых отметок, величину которого устанавливают предварительно положительным числом, меньшим или равным выбранной единице измерения времени, в процессе обработки кадрового потока для каждого опорного кадра кодером осуществляют прогноз компенсации движения по тем же правилам и с использованием тех же параметров, что и при обработке прогнозируемого кадра, но данные результата этого прогноза не используют для кодирования и передачи декодеру, каждый текущий кадр, сразу после его макроблочной фрагментации, дополнительно логически разбивают на системные блоки, при этом за каждым системным блоком закрепляют признак обработки системного блока с двумя возможными состояниями, соответствующими отсутствию обработки и наличию обработки, а форму и размер системных блоков выбирают такими, чтобы внутри системного блока содержалось целое число макроблоков и чтобы внутри системного блока имелись, как минимум, три макроблока вместе с их ближайшими предыдущими соседями по координатным осям, далее внутри каждого системного блока выбирают по три расчетных макроблока с условием наличия в текущем системном блоке ближайших предыдущих соседей выбранных расчетных макроблоков по координатным осям, затем за каждым макроблоком закрепляют признак аппроксимации движения с тремя возможными состояниями, соответствующими отсутствию аппроксимации движения, наличию системной аппроксимации движения и наличию индивидуальной аппроксимации движения, для третьего и всех последующих кадров видеопотока перед применением алгоритма поиска целочисленных векторов смещений макроблоков к лучшим прогнозам, но после экстраполяции ссылочного кадра, проводят сначала системную, а затем индивидуальную аппроксимацию движения макроблоков, причем непосредственно перед проведением аппроксимаций признаки обработки системных блоков сбрасывают в состояние отсутствия обработки, признаки аппроксимации движения макроблоков сбрасывают в состояние отсутствия аппроксимации, а целочисленные векторы смещений внешних макроблоков текущего кадра принудительно заполняют нулевыми значениями, при проведении системной аппроксимации движения сначала выявляют системные блоки, не содержащие внешних макроблоков, после чего признаки обработки данных системных блоков устанавливают в состояние наличия обработки и, далее, для каждого такого системного блока по каждой из координатных осей проводят аппроксимацию движения, при этом для проведения системной аппроксимации движения используют уравнение системной аппроксимации движения вида
a 1 d u d t + a 2 d u d x + a 3 d u d y = 1
u - скорость макроблоков текущего системного блока по текущей координатной оси;
t - время;
x - абсцисса макроблоков в заданной системе координат;
y - ордината макроблоков в заданной системе координат;
a1, а2, а3 - коэффициенты системной аппроксимации движения макроблоков в рамках текущего системного блока по текущей координатной оси.
в котором каждый параметр представляют либо целочисленным, либо дробным значением, а для расчетов используют дискретное представление данного уравнения, при этом сначала при использовании данных двух предыдущих кадров рассчитывают коэффициенты системной аппроксимации движения, для чего по каждой координатной оси составляют и решают в дискретной форме систему из трех таких уравнений в соответствии с тремя выбранными расчетными макроблоками, далее по каждой координатной оси проверяют конъюнктивное условие преобладания абсолютного значения коэффициента при временной производной над абсолютными значениями коэффициентов при пространственных производных, причем степень преобладания и математическую формулу проверки коэффициентов задают предварительно, далее признаки аппроксимации движения вложенных макроблоков системных блоков, прошедших указанную проверку положительно, переводят в состояние системной аппроксимации движения, а затем по данным текущего и предыдущего кадров для макроблоков с признаками системной аппроксимации движения рассчитывают текущие скорости движения макроблоков с применением укороченного уравнения системной аппроксимации движения без слагаемых с пространственными производными, далее рассчитывают аппроксимационные значения целочисленных векторов смещений макроблоков к лучшим прогнозам в рамках ссылочного экстраполированного кадра, затем проверяют условие попадания найденных аппроксимационных прогнозов в формат ссылочного экстраполированного кадра, а также условие удовлетворения прогноза аппроксимационному значению критерия качества прогноза, значение которого устанавливают предварительно, при этом в случае выполнения данных условий организуют укороченный поиск их макроблочных прогнозов в рамках ссылочного экстраполированного кадра, при этом центры соответствующих макроблокам областей поиска смещают по координатным осям на значения соответствующих найденных аппроксимационых векторов смещений, а геометрические размеры областей поиска уменьшают до значений, которые задают предварительно, в противном случае признак аппроксимации движения макроблока сбрасывают в состояние отсутствия аппроксимации, при проведении индивидуальной аппроксимации движения сначала для внутренних и граничных макроблоков с признаками отсутствия аппроксимации движения осуществляют перевод данных признаков в состояние индивидуальной аппроксимации движения, далее для каждого макроблока с признаком индивидуальной аппроксимации движения по каждой из координатных осей проводят аппроксимацию движения с использованием уравнения индивидуальной аппроксимации движения вида
k d u d t = 1
u - скорость движения текущего макроблока по текущей координатной оси;
t - время;
k - коэффициент индивидуальной аппроксимации движения текущего макроблока по текущей координатной оси;
в котором каждый параметр представляют либо целочисленным, либо дробным значением, а для расчетов используют дискретное представление данного уравнения, при этом сначала по данным двух предыдущих кадров рассчитывают коэффициенты аппроксимации, а затем, по данным текущего и предыдущего кадров текущие скорости и целочисленные векторы смещения макроблоков к аппрокисмационным прогнозам, далее для каждого макроблока с признаком индивидуальной аппроксимации движения проводят обработку, абсолютно аналогичную обработке макроблока с признаком системной аппроксимации при проведении системной аппроксимации движения, начиная с нахождения положения аппроксимационного прогноза текущего макроблока в ссылочном экстраполированном кадре, при проведении аппроксимаций движения макроблоков исключают возникновение ошибок деления на ноль, при поиске макроблочных прогнозов используют исходные значения сигналов неподвижных пикселов ссылочного экстраполированного сохраненного кадра, при организации алгоритма поиска целочисленных векторов смещений к лучшим прогнозам обрабатывают только внутренние и граничные макроблоки с признаками отсутствия аппроксимации движения, сразу после вычисления макроблочного остатка граничного макроблока значения сигналов пикселов макроблочного остатка его неподвижных пикселов заполняют нулевыми значениями, после проведения поиска целочисленных векторов смещений формируют дробные векторы смещений всех макроблоков по координатным осям, при этом значения дробных векторов смещений внешних макроблоков принудительно заполняют нулевыми значениями, а способ расчета значений дробных векторов смещений для внутренних и граничных макроблоков выбирают предварительно, после формирования дробных векторов смещений всех макроблоков для каждого макроблока перерасчитывают текущие значения скоростей движения макроблока по координатным осям, после чего в памяти кодера дополнительно сохраняют временные отметки текущего и предыдущего кадров и значения скоростей движения всех макроблоков текущего и предыдущего кадров, декодером при восстановлении исходных матриц изображения макроблоков текущего кадра используют исходные значения сигналов неподвижных пикселов предыдущего сохраненного кадра.

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

Документы, цитированные в отчете о поиске Патент 2015 года RU2552139C1

Многоступенчатая активно-реактивная турбина 1924
  • Ф. Лезель
SU2013A1
US 6876703 B2, 05.04.2005
Многоступенчатая активно-реактивная турбина 1924
  • Ф. Лезель
SU2013A1
УСОВЕРШЕНСТВОВАННЫЕ ТЕХНОЛОГИИ ИНТЕРПОЛЯЦИИ ДЛЯ КОМПЕНСАЦИИ ДВИЖЕНИЯ ПРИ КОДИРОВАНИИ ВИДЕО 2009
  • Е Янь
  • Чэнь Пэйсун
  • Карчевич Марта
RU2481727C2
КОМПЕНСАЦИЯ ДВИЖЕНИЯ В ЧУВСТВИТЕЛЬНОЙ К ИЗМЕНЕНИЮ ЭНЕРГИИ КОМПЬЮТЕРНОЙ ТОМОГРАФИИ 2007
  • Рессль Эвальд
  • Ван Стевендал Удо
RU2443020C2

RU 2 552 139 C1

Авторы

Минаков Евгений Иванович

Калистратов Дмитрий Сергеевич

Даты

2015-06-10Публикация

2013-12-16Подача