способ адаптивного определения диапазона поиска вектора движения

Классы МПК:H04N7/32 включающие кодовое прогнозирование
H03M7/38 адаптивное
Автор(ы):
Патентообладатель(и):Эл Джи Электроникс Инк. (KR)
Приоритеты:
подача заявки:
2003-01-09
публикация патента:

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

способ адаптивного определения диапазона поиска вектора движения, патент № 2277761 способ адаптивного определения диапазона поиска вектора движения, патент № 2277761

Формула изобретения

1. Способ адаптивного определения диапазона поиска вектора движения блока, включающий

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

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

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

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

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

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

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

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

max_MV Ex=max(abs(MVAx), abs(MVBx), abs(MV Cx));

max_MVEy=max(abs(MVAy ), abs(MVBy), abs(MVCy)),

где max_MV Eyx - максимальная величина диапазона указанного локального вектора движения в горизонтальном направлении, max_MVЕу - максимальная величина диапазона указанного локального вектора движения в вертикальном направлении, MVАх, MV Ау, MVBx, МУВу и MVCx, MVCy - величины векторов движения смежных блоков в горизонтальном и вертикальном направлениях, max(...) - максимальная из указанных в скобках величин и abs(...) - функция абсолютной величины, указанной в скобках.

4. Способ по п.2, в котором минимальную величину диапазона вектора движения блока, в котором должен быть установлен вектор движения, определяют по формуле

способ адаптивного определения диапазона поиска вектора движения, патент № 2277761

способ адаптивного определения диапазона поиска вектора движения, патент № 2277761 i=abs(MVAi)+abs(MVBi)+abs(MV Ci),

где 'i' - горизонтальное (х) и вертикальное (у) направления блока;

input_search_range - диапазон поиска, предварительно определенный пользователем;

MVAi , MVBi, и MVCi - величины векторов движения смежных блоков;

abs(...) - функция абсолютной величины, указанной в скобках.

5. Способ по п.2, в котором постоянная величина равна 1.

6. Способ по п.2, в котором постоянная величина равна 2.

7. Способ по п.1, в котором смежный блок представляет собой блок 4×4, расположенный рядом с блоком, в котором должен быть установлен вектор движения.

Описание изобретения к патенту

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

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

Описание уровня техники

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

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

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

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

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

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

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

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

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

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

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

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

Краткое описание графических материалов

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

На фиг.1 показан блок, в котором должен быть установлен вектор движения, и смежные блоки в соответствии с настоящим изобретением;

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

Подробное описание предпочтительных примеров осуществления изобретения

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

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

Согласно стандарту сжатия видеоинформации H.26L сначала информация, сжатая во времени и пространстве, и дополнительная информация, необходимая для декодирования, передаются с использованием способа, при котором кодер удаляет избыточную пространственно-временную информацию. В способе сжатия видеоинформации декодер выполнен таким образом, что может осуществлять операцию, обратную операции кодера.

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

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

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

Как показано на фиг.1, предполагается, что 'Е' - текущий блок, т.е. блок, в котором должен быть установлен вектор движения, а 'А', В' и 'С' - блоки 4х4, смежные с блоком (Е). Величины векторов движения в горизонтальном (х) и вертикальном (у) направлениях для смежного блока (А) представлены как MV Ax, MVAy, величины векторов движения в горизонтальном (х) и вертикальном (у) направлениях для смежного блока (В) представлены как MVBx, MVBy и величины векторов движения в горизонтальном (х) и вертикальном (у) направлениях для смежного блока (С) представлены как MVCx, MVCy.

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

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

Как показано на фиг.2, способ определения диапазона поиска вектора движения включает первый шаг (S21) - определение величин векторов движения (MVAx , MVAy), (MVBx, MVВу) и (MV Cx, MVCy) в горизонтальном (х) и вертикальном (у) направлениях для блоков (А, В, С), смежных с конкретным блоком (Е), в котором должен быть установлен вектор движения; второй шаг (S22) - определение максимальной величины диапазона (max_MV Ex max_ MVEy) локального вектора движения в горизонтальном (х) и вертикальном (у) направлениях по величинам векторов движения смежных блоков (А, В, С) в горизонтальном (х) и вертикальном (у) направлениях; третий шаг (S23) - определение минимальной величины диапазона вектора движения блока (Е) в горизонтальном (х) и вертикальном (у) направлениях; четвертый шаг (S24) - выбор максимальной из полученных величин - минимальной величины вектора движения и максимальной величины диапазона локального вектора движения, в качестве максимальной величины диапазона поиска вектора движения блока (Е) в горизонтальном и вертикальном направлениях; пятый шаг (S25) - окончательный выбор минимальной из двух величин - полученной максимальной величины диапазона поиска вектора движения и величины диапазона поиска, ранее определенной пользователем, в качестве окончательной максимальной величины диапазона поиска вектора движения блока (Е). В этом отношении определенная пользователем величина диапазона поиска является величиной диапазона поиска, определенной в кодере пользователя.

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

Прежде всего определяют величины векторов движения (MVAx, MVАу), (MVBx, MV Ву) и (MVCx, MVCy) блоков (А, В, С) в горизонтальном (х) и вертикальном (у) направлениях, смежных с конкретным блоком (Е), в котором должен быть установлен вектор движения.

То есть, как и в случае общего способа сжатия, векторы движения (MVAx, MVAy), (MV Bx, MVВу) и (MVCx, MVCy ) в горизонтальном (х) и вертикальном (у) направлениях блоков 4х4 (А, В, С), смежных с блоком (Е), в стандарте сжатия H.26L определяют до оценки вектора движения блока (Е). Векторы движения (MVAx, MVAy), (MVBx, MV Ву) и (MVCx, MVCy) в горизонтальном (х) и вертикальном (у) направлениях для блоков (А, В, С) могут быть получены путем использования оценки движения, которая общеизвестна для способов сжатия видеоинформации (шаг S21), поэтому подробное описание ее не приведено.

Затем по величинам векторов движения смежных блоков (А, В, С) в горизонтальном (х) и вертикальном (у) направлениях определяют максимальную величину диапазона (max_MV Ex, max_ MVЕу) локального вектора движения блока (Е) в горизонтальном (х) и вертикальном (у) направлениях. То есть максимальный диапазон (max_MVEx, max_ MV Ey) локального вектора движения блока (Е) в горизонтальном (х) и вертикальном (у) направлениях определяют как максимальную из абсолютных величин каждого вектора движения смежных блоков (А, В, С) в горизонтальном (х) и вертикальном (у) направлениях, вычисленную по формуле (1):

способ адаптивного определения диапазона поиска вектора движения, патент № 2277761

где max(...) означает максимальную из указанных в скобках величин и abs(...) - функция абсолютной величины вектора движения смежного блока в горизонтальном и вертикальном направлениях (шаг S22).

Однако в отношении максимального диапазона локального вектора движения блока (Е), полученного по формуле (1), может произойти серьезная ошибка при определении вектора движения, если движение блока (Е) намного отличается от движения смежного блока. С целью предупреждения такой ошибки определяют минимальную величину диапазона (ki; (kx, ky )) вектора движения блока (Е) в горизонтальном (х) и вертикальном (у) направлениях по формуле (2) с использованием статистических характеристик локального движения (шаг S23):

способ адаптивного определения диапазона поиска вектора движения, патент № 2277761

ai = abs(MVAi) + abs(MV Bi) = abs(MVCi)

где 'i' - горизонтальное (х) и вертикальное (у) направления блока и input_search_range означает диапазон поиска, определенный пользователем.

Затем по формуле (3) определяют максимальный диапазон поиска вектора движения блока (Е), в котором должен быть установлен вектор движения, в горизонтальном и вертикальном направлениях. То есть величину (2×max_MVEi), полученную умножением на 2 максимальной величины диапазона локального вектора движения блока (Е), вычисленной по формуле (1), сравнивают с минимальной величиной диапазона (ki), полученной вычислением по формуле (2). В качестве максимального диапазона поиска (local_search_rangei ) вектора движения блока (Е) в горизонтальном и вертикальном направлениях принимают максимальную из упомянутых величин (шаг S24).

способ адаптивного определения диапазона поиска вектора движения, патент № 2277761

При этом может произойти ошибка, заключающаяся в том, что диапазон поиска вектора движения (local_search_range i), полученный путем вычисления по формуле (3), будет больше, чем диапазон поиска, определенный пользователем (input_search_range). Поэтому, чтобы предотвратить такую ошибку, максимальную величину диапазона поиска (new_search_range) для блока (Е) окончательно определяют по формуле (4):

способ адаптивного определения диапазона поиска вектора движения, патент № 2277761

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

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

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

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

Несмотря на то, что настоящее изобретение описано применительно к случаю использования способа определения диапазона поиска вектора движения для стандарта сжатия видеоинформации H.26L, способ определения диапазона поиска вектора движения по настоящему изобретению может быть использован с достижением того же результата и в отношении любого стандарта сжатия видеоинформации, например, MPEG-4 и Н.263.

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

Класс H04N7/32 включающие кодовое прогнозирование

способ и устройство для транскодирования видеосигнала -  патент 2504105 (10.01.2014)
устройство обработки изображения, способ обработки изображения и программа -  патент 2504104 (10.01.2014)
устройство обработки изображения, способ обработки изображения и программа -  патент 2502217 (20.12.2013)
кодер изображения и декодер изображения, способ кодирования изображения и способ декодирования изображения -  патент 2502216 (20.12.2013)
способ кодирования многоракурсных изображений, способ декодирования многоракурсных изображений, устройство кодирования многоракурсных изображений, устройство декодирования многоракурсных изображений, компьютерно-читаемый носитель, содержащий программу кодирования многоракурсных изображений, и компьютерно-читаемый носитель, содержащий программу декодирования многоракурсных изображений -  патент 2498522 (10.11.2013)
устройство кодирования изображения, способ кодирования изображения, устройство декодирования изображения, способ декодирования изображения, программа и запоминающий носитель -  патент 2496252 (20.10.2013)
способ и устройство обработки изображения -  патент 2494568 (27.09.2013)
способ блочной межкадровой компенсации движения для видеокодеков -  патент 2493670 (20.09.2013)
способ и устройство для кодирования остаточного блока, способ и устройство для декодирования остаточного блока -  патент 2493669 (20.09.2013)
способ кодирования/декодирования многоракурсной видеопоследовательности на основе локальной коррекции яркости и контрастности опорных кадров без передачи дополнительных служебных данных -  патент 2493668 (20.09.2013)

Класс H03M7/38 адаптивное

Наверх