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

Иллюстрации

Показать все

Изобретение относится к кодированию видеосигналов. Техническим результатом является снижение объема вычислений, требуемых для многоуровневого алгоритма прогрессивной точной масштабируемости по качеству (PFGS). Предложен способ видеокодирования, поддерживающий алгоритм точной масштабируемости по качеству (FGS), включающий: получение прогнозированного изображения для текущего кадра, используя вектор движения, оцененный с заранее определенной точностью, квантование разности между текущим кадром и прогнозированным изображением, инверсное квантование квантованной разности и создание восстановленного изображения текущего кадра, выполнение компенсации движения на опорном кадре уровня FGS и на опорном кадре основного уровня, используя оцененный вектор движения, вычисление разности между опорным кадром уровня FGS с компенсированным движением и опорным кадром основного уровня с компенсированным движением, вычитание восстановленного изображения из текущего кадра и вычисленного остатка из текущего кадра и кодирование результата вычитания. 14 н. и 35 з.п. ф-лы, 12 ил.

Реферат

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

Способы и устройства, соответствующие настоящему изобретению, относятся к кодированию видеосигналов и, более конкретно, к кодированию видеоинформации, которое уменьшает объем вычислений, требуемых для основанного на многоуровневости алгоритма прогрессивной точной масштабируемости по качеству (Progressive Fine Granular Scalability, PFGS).

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

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

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

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

Масштабируемость указывает на способность частично декодировать единый сжатый поток битов. Масштабируемость содержит пространственную масштабируемость, указывающую видеоразрешение, масштабируемость по отношению "сигнал/шум" (SNR), указывающую уровень качества видеоинформации, и временную масштабируемость, указывающую скорость передачи кадров.

Работа по стандартизации для реализации многоуровневой масштабируемости, основанной на технологии Scalable Extension H.264 (в дальнейшем, будет упоминаться как "H.264 SE"), ведется в настоящее время совместной видеогруппой (JVT) MPEG (группа экспертов по кинематографии) и ITU (Международное Телекоммуникационное Общество). Для поддержки масштабируемости по отношению "сигнал/шум" (SNR) группой JVT внедряются существующие технологии точной масштабируемости по качеству (Fine Granular Scalability, FGS).

На фиг.1 показана схема для объяснения традиционного способа FGS. Кодек на основе FGS выполняет кодирование путем деления потока битов видеоинформации на основной уровень и уровень FGS. В настоящем описании знак верхнего штриха (') используется для обозначения восстановленного изображения, полученного после квантования/инверсного квантования. Более конкретно, блок PB, спрогнозированный заранее из блока MB' в восстановленном левом кадре 11 основного уровня, и блока NB' в восстановленном правом кадре 12 основного уровня, используя вектор движения, вычитается из блока О в исходном текущем кадре 12, для получения разностного блока RB. Таким образом, разностный блок RB может быть определен уравнением (1):

RB = О - PB = O - (MB' + NB')/2(1)

Разностный блок RВ квантуется с помощью шага квантования QPВ (RBQ) основного уровня и затем инверсно квантуется, чтобы получить восстановленный разностный блок RВ'. Разность между неквантованным разностным блоком RВ и восстановленным разностным блоком RВ', блок Δ, соответствующий разности, квантуется с размером шага квантования QPF, по размеру меньшим, чем шаг квантования основного уровня QPВ (коэффициент сжатия уменьшается по мере уменьшения размера шага квантования). Квантованный блок Δ обозначается как ΔQ. Квантованный разностный блок RBQ разности на основном уровне и квантованный блок ΔQ на уровне FGS, в конечном счете, передаются в декодер.

На фиг.2 показана схема для объяснения работы традиционного способа прогрессивной точной масштабируемости по качеству (PFGS). Обычный способ FGS использует восстановленную разность RВ' квантованного основного уровня для уменьшения объема данных на уровне FGS. Со ссылкой на фиг.2, способ PFGS использует тот факт, что качество левого и правого опорных кадров на уровне FGS также улучшается с помощью способа FGS. То есть, способ PFGS содержит вычисление нового разностного RF, использующего заново обновленные левый опорный кадр 21 и правый опорный кадр 23 и квантование разности между новым разностным блоком RF и квантованным блоком RF' основного уровня, улучшая, таким образом, характеристики кодирования. Новый разностный блок RF определяется уравнением (2):

RF = O - PF = O - (MF' + NF')/2(2)

где MF' и NF' соответственно обозначают области в восстановленных левом опорном кадре 21 и правом опорном кадре 23 на уровне FGS согласно соответствующим векторам движения.

Способ PFGS обладает преимуществом перед способом FGS, заключающимся в том, что объем данных на уровне FGS может быть уменьшен благодаря высокому качеству левого и правого опорных кадров. Поскольку уровень FGS также требует отдельной компенсации движения, объем вычислений увеличивается. То есть, хотя способ PFGS улучшил характеристики по сравнению с обычным способом FGS, он требует большого объема вычислений, поскольку компенсация движения выполняется для каждого уровня FGS, чтобы создавать прогнозированный сигнал и разностный сигнал между прогнозированным сигналом и исходным сигналом. Недавно разработанные видеокодеки интерполируют сигнал изображения для компенсации движения с точностью 1/2 или 1/4 пиксела. Когда компенсация движения выполняется с точностью 1/4 пиксела, должно создаваться изображение с размером, соответствующим четырехкратной разрешающей способности первоначального изображения.

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

Техническая проблема

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

Техническое решение

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

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

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

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

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

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

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

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

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

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

Описание чертежей

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

Фиг.1 - схема для объяснения обычного способа FGS.

Фиг.2 - схема для объяснения обычного способа прогрессивной PFGS.

Фиг.3 - схема для объяснения быстрой прогрессивной точной масштабируемости по качеству (PFGS) в соответствии с примером варианта осуществления настоящего изобретения.

Фиг.4 - блок-схема видеокодера в соответствии с примером варианта осуществления настоящего изобретения.

Фиг.5 - блок-схема видеокодера согласно другому примеру варианта осуществления настоящего изобретения.

Фиг.6 и 7 - блок-схемы видеокодеров в соответствии с дополнительным примером варианта осуществления настоящего изобретения.

Фиг.8 - блок-схема видеокодера в соответствии с примером варианта осуществления настоящего изобретения.

Фиг.9 - блок-схема видеодекодера согласно другому примеру варианта осуществления настоящего изобретения.

Фиг.10 и 11 - блок-схемы видеодекодеров в соответствии с дополнительным примером варианта осуществления настоящего изобретения.

Фиг.12 - блок-схема системы для выполнения процесса кодирования или декодирования в соответствии с примером варианта осуществления настоящего изобретения.

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

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

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

На фиг.3 показана схема PFGS, соответствующая первому примеру варианта осуществления настоящего изобретения.

Со ссылкой на фиг.3, как и на фиг.2, Δ на уровне FGS будет квантоваться в соответствии с алгоритмом PFGS и определяется простым уравнением (3):

Δ = RF - RB'(3)

RF определяется приведенным выше уравнением (2), и RB' определяется уравнением (4):

RB' = O' - PВ = O' - (МВ' +NB')/2(4)

где O' является изображением, восстановленным путем квантования первоначального изображения O с размером шага квантования основного уровня QPВ и последующего инверсного квантования квантованного изображения.

Подстановка уравнений (2) и (4) в уравнение (3) дает уравнение (5):

Δ = O - (МF' + NF')/2 - [O' - (МВ' + NB')/2](5)

Со ссылкой на фиг.3, ΔМ и ΔN обозначают разность между левыми опорными кадрами МF' и МВ' на основном уровне и на уровне FGS и разность между правыми опорными кадрами NF' и NB' на основном уровне и на уровне FGS, соответственно, и определяются уравнениями (6):

ΔМ = МF' - МВ'
ΔN = NF' - NB'(6)

Путем подстановки уравнения (6) в уравнение (5), Δ может быть определена уравнением (7):

Δ = O - O' - (ΔМ + ΔN)/2(7)

Как видно из уравнения (7), кодер может получить Δ путем вычитания восстановленного изображения O' основного уровня, полученного квантованием исходного изображения O с шагом квантования основного уровня размером QPВ и последующего инверсного квантования квантованного изображения и среднего значения разностей между каждым из опорных кадров основного уровня и опорных кадров уровня FGS и первоначальным изображением O, то есть (ΔМ + ΔN)/2. Декодер восстанавливает исходное изображение O путем сложения изображения О' основного уровня, Δ и среднего значения разностей между опорным кадром основного уровня и опорным кадром уровня FGS.

В обычном алгоритме PFGS компенсация движения выполняется, используя вектор движения с точностью одного пиксела или части пиксела (1/2 пиксела или 1/4 пиксела), полученный при оценке движения. В последнее время, чтобы увеличивать эффективность сжатия, оценка движения и компенсация обычно выполняются с различными точностями, выраженными в пикселах, такими как точность полпиксела или точность четверть пиксела. В обычном алгоритме PFGS прогнозированное изображение, созданное путем компенсации движения с точностью, например, 1/4 пиксела, упаковывается в целочисленные пикселы. Затем квантование выполняется на разности между первоначальным изображением и прогнозированным изображением. В этом случае, упаковка является процессом восстановления 4-x кратного интерполированного опорного изображения в изображение первоначального размера, выполняя оценку движения с точностью 1/4 пиксела. Например, в течение упаковочного процесса может быть выбран один из каждых четырех пикселов.

Однако, данные Δ на FGS уровне, которые должны квантоваться для быстрого PFGS согласно настоящему изобретению, как определено уравнением (7), которые приводят к малой эффективности сжатия, не должны подвергаться оценке движения с высокой пиксельной точностью. Оценка движения и компенсация применяются только к третьему члену (ΔМ + ΔN)/2 в правой стороне уравнения (7). Однако, поскольку третий член представляется как разности между опорными кадрами на промежуточном уровне, выполнение оценки движения и компенсации с высокой пиксельной точностью не дает высокой эффективности. То есть, поскольку результирующее разностное изображение между изображением на основном уровне с компенсированным движением с заранее определенной пиксельной точностью и изображением на уровне расширения с компенсированным движением с пиксельной точностью нечувствительно к пиксельной точности, быстрый алгоритм PFGS позволяет производить оценку движения и компенсацию с более низкой пиксельной точностью, чем обычный PFGS.

Согласно второму примеру варианта осуществления, Δ в уравнении (5) в первом примере варианта осуществления может быть также представлена как разность между прогнозированными сигналами PF и PВ, как показано в уравнении (8). PF и PВ равны (МF' + NF')/2 и (МВ' + N

Δ = О - О' - (PF - PВ)(8)

Первый и второй примеры варианта осуществления отличаются друг от друга следующим образом. В первом примере варианта осуществления, разности ΔМ и ΔN между опорными изображениями уровня FGS и опорными изображениями основного уровня сначала вычисляются и затем делятся на 2. Во втором примере варианта осуществления разность PF-PВ между прогнозированным изображением PF уровня FGS и прогнозированным изображением PВ основного уровня вычисляется после вычисления прогнозированных изображений PF и PВ на этих двух уровнях. То есть, хотя быстрые алгоритмы PFGS, соответствующие первому и второму примерам вариантов осуществления, реализуются разными способами, может быть получен один и тот же результат вычисления (Δ).

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

В третьем примере варианта осуществления настоящего изобретения, разность Δ может быть определена уравнением (9):

Δ = О - О' -[(mc(МF' - МВ') + mc(NF' - NB'))/2(9)

где mc(.) означает функцию для выполнения компенсации движения.

В то время, как обычный PFGS используется для выполнения прямого прогнозирования (оценка движения и компенсация) для вычисления RF или RB, определяемых уравнением (3), быстрые алгоритмы PFGS, соответствующие примерам с первого по третий вариантов осуществления настоящего изобретения, используются для вычисления разности между прогнозированными изображениями или прогнозирования разности между опорными изображениями. Таким образом, характеристики быстрых PFGS настоящего изобретения лишь немного затрагиваются или являются нечувствительными к интерполяции, используемой для повышения пиксельной точности вектора движения.

Таким образом, интерполяция с четвертью или половиной пиксела может быть пропущена. Кроме того, вместо полупиксельного интерполяционного фильтра, используемого в стандарте H.264 и требующего большого объема вычислений, может использоваться билинейный фильтр, требующий меньшего объема вычислений. Например, билинейный фильтр может применяться к третьим членам в правых частях уравнений (7)-(9). Это может уменьшить ухудшение характеристик по сравнению с тем, когда билинейный фильтр непосредственно применяется к прогнозированному сигналу для получения RF и RB как в обычном алгоритме PFGS.

Принцип действия с первого по третий примеров вариантов осуществления настоящего изобретения основан на уравнении (3). Другими словами, реализация этих примеров вариантов осуществления начинается с допущения, что разность между разностью RF уровня FGS и разностью RB основного уровня должна быть кодированной. Однако, когда разность, полученная от уровня FGS, очень мала, то есть, когда временная корреляция очень близкая, вышеупомянутые быстрые алгоритмы PFGS, соответствующие первым трем примерам вариантов осуществления, могут значительно ухудшать характеристики кодирования. В этом случае, кодирование только разности, полученной от уровня FGS, то есть, RF в уравнении (3), может предложить лучшие характеристики кодирования. То есть, согласно четвертому примеру варианта осуществления настоящего изобретения, уравнения (7)-(9) могут быть преобразованы в уравнения (10)-(12), соответственно:

Δ = O - PВ - (ΔМ + ΔN)/2(10)
Δ = О - PB - (PF -PB)(11)
Δ = О - PB - [(mc(МF' - МВ') + mc(NF' - NB'))/2(12)

В уравнениях (10)-(12) восстановленное изображение O' основного уровня заменяется прогнозированным изображением PВ для изображения основного уровня. Конечно, интерполяция может не применяться к третьим членам в правой части уравнений (10)-(12), или для интерполяции может использоваться билинейный фильтр, требующий меньшего объема вычислений.

Прогнозированное изображение PВ, встречающееся дважды в уравнении (11), не обязательно является одним и тем же. Оцененный вектор движения может использоваться во время компенсации движения для создания прогнозированного изображения PВ во втором члене. С другой стороны, для создания PВ и PF в третьем члене во время компенсации движения могут использоваться вектор движения с точностью, более низкой, чем у оцененного вектора движения, или фильтр, требующий меньшего объема вычислений (например, билинейный фильтр).

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

Согласно технологии прогнозирования с пропусканием, используемой в обычном PFGS, кодируемое на уровне FGS, выражается уравнением (13):

Δ = О - [αPF + (l-α)PB](13)

Уравнение (13) может быть преобразовано в уравнение (14) в соответствии с пятым примером варианта осуществления настоящего изобретения:

Δ = О - PB - α(PF - PB)(14)

Чтобы получить уравнение (14), весовой коэффициент α может применяться только к разности (PF - PB) между прогнозированными изображениями в уравнении (11). Таким образом, настоящее изобретение может также применяться к технологии прогнозирования с пропусканием. То есть, интерполяция может быть пропущена или интерполяция может быть применена к разности (PF - PB), используя билинейный фильтр, требующий меньший объем вычислений. В последнем случае, результат интерполяции умножается на весовой коэффициент α.

На фиг.4 показана блок-схема видеокодера 100, соответствующая первому примеру варианта осуществления настоящего изобретения.

Хотя изобретение описывается в отношении каждого блока как основного модуля оценки движения со ссылкой на фиг.1-3, быстрый алгоритм PFGS далее будет описан в отношении каждого кадра, содержащего блок. Для последовательности изложения, идентификатор блока обозначается для "F" нижним индексом, указывающим кадр. Например, кадр, содержащий блок с маркировкой RB, обозначается как FRB. И конечно, верхний штрих (') используется, чтобы обозначить восстановленные данные, полученные после квантования/инверсного квантования.

Текущий кадр Fо подается в устройство 105 оценки движения, вычитающее устройство 115 и устройство 170 вычисления разности.

Устройство 105 оценки движения выполняет оценку движения для текущего кадра Fо, используя соседние кадры, чтобы получить векторы движения MV. Соседние кадры, которые упоминаются во время оценки движения, в дальнейшем здесь называются "опорные кадры". Алгоритм согласования блоков (BMA) обычно используется для оценки движения заданного блока. В BMA заданный блок перемещается в пределах зоны поиска в опорном кадре с точностью до пиксела или доли пиксела и смещение с минимальной ошибкой определяется как вектор движения. Хотя для оценки движения используется движущийся блок фиксированного размера, оценка движения может делаться, используя технологию иерархического согласования блоков переменного размера (HVSBM).

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

Когда кодер 100 имеет структуру кодека с разомкнутым контуром, кадры FM и FN, граничащие с оригиналом, используются как опорные кадры. Когда кодер 100 имеет структуру кодека с замкнутым контуром, восстановленные соседние кадры FMB'и FNB' на основном уровне используются как опорные кадры. Хотя здесь принимается, что кодер 100 имеет структуру кодека с замкнутым контуром, кодер 100 может иметь структуру кодека с разомкнутым контуром.

Векторы движения MV, вычисленные устройством 105 оценки движения, передаются в компенсатор 110 движения. Компенсатор 110 движения выполняет компенсацию движения на опорных кадрах FMB'и FNB', используя векторы движения MV, и создает прогнозированный кадр FPB для текущего кадра. Когда используется двунаправленное прогнозирование, прогнозированное изображение может быть рассчитано как среднее значение опорных кадров с компенсированным движением. Когда используется однонаправленное прогнозирование, прогнозированное изображение может быть тем же самым, что и опорный кадр с компенсированным движением. Хотя здесь далее предполагается, что оценка движения и компенсация используют двунаправленные опорные кадры, специалистам в данной области техники должно быть очевидно, что настоящее изобретение может использовать однонаправленный опорный кадр.

Вычитающее устройство 115 вычисляет разность FRB между прогнозированным изображением и текущим изображением для передачи на преобразователь 120.

Преобразователь 120 выполняет пространственное преобразование разности FRB, чтобы создать коэффициент преобразования FRBT. Способ пространственного преобразования может содержать дискретное косинусное преобразование (DCT), или импульсное преобразование. Конкретно, коэффициенты DCT могут быть созданы в случае, когда используется DCT, и импульсные коэффициенты могут быть созданы в случае, когда разрешено импульсное преобразование.

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

Результат квантования, то есть, коэффициент квантования FRBQ, полученный устройством 125 квантования, подается на блок 150 статистического кодирования и устройство 130 инверсного квантования.

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

Инверсный преобразователь 135 принимает результат инверсного квантования и выполняет инверсное преобразование принятого результата. Инверсное пространственное преобразование может быть, например, инверсным DCT или инверсным импульсным преобразованием, выполненным в порядке, обратном тому, в котором преобразование было выполнено преобразователем 120. Сумматор 140 складывает инверсно преобразованный результат с прогнозированным изображением FPB, полученным от компенсатора 110 движения, чтобы создать восстановленное изображение.

В буфере 145 хранится результат сложения, принятый от сумматора 140. В буфере 145 хранится восстановленное изображение Fо' для текущего кадра, а также предварительно восстановленные опорные кадры FMB'и FNB' основного уровня.

Преобразователь 155 вектора движения изменяет точность принятого вектора движения MV. Например, вектор движения MV с точностью 1/4 пиксела может иметь значение 0, 0,25, 0,5 или 0,75. Как описано выше, в соответствии с примерами вариантов осуществления настоящего изобретения, существует небольшое различие в характеристиках кодирования, когда компенсация движения на уровне FGS выполняется для вектора движения MV с более низкой пиксельной точностью, чем на основном уровне. Таким образом, преобразователь 155 вектора движения преобразует вектор движения MV с точностью 1/4 пиксела в вектор движения MV1 с пиксельной точностью, более низкой, чем точность в 1/4 пиксела, такой как 1/2 пиксела или 1 пиксел. Такая процедура преобразования может быть выполнена простым отбрасыванием или округлением десятичной части пиксельной точности для первоначального вектора движения.

Буфер 165 временно хранит эталонные кадры FMF', FNF' уровня FGS. Хотя на чертеже это не показано, восстановленные кадры FMF' иFNF' уровня FGS или первоначальный кадр, соседний с текущим кадром, могут использоваться в качестве опорных кадров уровня FGS.

Компенсатор 160 движения использует преобразованный вектор движения MV1 для выполнения компенсации движения на восстановленных опорных кадрах FMB'и FNB' основного уровня, принятых от буфера 145, и восстановленных опорных кадрах FMF' и FNF' уровня FGS, принятых от буфера 165, и обеспечивает передачу кадров с компенсированным движением mc(FMB'), mc(FNB'), mc(FMF') и mc(FNF') в