Адаптивное взвешивание эталонных изображений при кодировании видеосигнала
Иллюстрации
Показать всеИзобретение относится к видеокодерам и, в частности, к использованию адаптивного взвешивания эталонных изображений в видеокодерах. Техническим результатом является повышение эффективности предсказания эталонного изображения. Предложен видеокодер и способ обработки данных видеосигнала для блока изображения и индекса конкретного эталонного изображения для предсказания этого блока изображения, которые используют адаптивное взвешивание эталонных изображений для усиления сжатия видеосигнала, причем кодер содержит модуль назначения весового коэффициента эталонного изображения для назначения весового коэффициента, соответствующего упомянутому индексу конкретного эталонного изображения. 2 н. и 6 з.п. ф-лы, 7 ил.
Реферат
Перекрестная ссылка на родственные заявки
По этой заявке испрашивается приоритет предварительной заявки на патент США с регистрационным номером 60/395.843 (номер реестра поверенногоPU020340), озаглавленной "Adaptive Weighting Of Reference Pictures In Video CODEC" и поданной 15 июля 2002 г., которая полностью включена в материалы этой заявки посредством ссылки. Дополнительно, по этой заявке испрашивается приоритет предварительной заявки на патент США с регистрационным номером 60/395.874 (номер реестра поверенного PU020339), озаглавленной "Motion Estimation With Weighting Prediction" и поданной также 15 июля 2002 г., которая полностью включена в материалы этой заявки посредством ссылки.
Область техники, к которой относится изобретение
Настоящее изобретение относится к видеокодерам и, в частности, к использованию адаптивного взвешивания эталонных изображений в видеокодерах.
Предшествующий уровень техники
В основном, видеоинформация обрабатывается и передается в виде потоков битов. Обычные декодеры и кодеры сжатия видеосигнала ("КОДЕК"и) достигают наибольшей эффективности осуществляемого ими сжатия посредством формирования предсказания эталонного изображения для изображения, которое должно быть кодировано, и кодирования разности между текущим изображением и предсказанием. Чем сильнее корреляция предсказания с текущим изображением, тем меньшее количество битов требуется для сжатия этого изображения, вследствие чего повышается эффективность процесса. Соответственно, является предпочтительным формировать лучшее возможное предсказание эталонного изображения.
Во многих стандартах сжатия видеосигнала, включая стандарты Экспертной группы по вопросам движущегося изображения MPEG-1, MPEG-2 и MPEG-4, в качестве предсказания для текущего изображения используется скомпенсированный по движению вариант предыдущего эталонного изображения и кодируется только разность между текущим изображением и предсказанием. Когда используется одно предсказание изображения ("P"-изображение), эталонное изображение не масштабируется при формировании скомпенсированного по движению предсказания. Когда используются двунаправленные предсказания изображений ("В"-изображения), формируются промежуточные предсказания из двух различных изображений, и затем два промежуточных предсказания усредняются с использованием равных весовых коэффициентов в (1/2, 1/2) для каждого, для формирования одного усредненного предсказания. В упомянутых стандартах MPEG, из двух эталонных изображений для B-изображений, одно всегда соответствует направлению вперед и одно - направлению назад.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Упомянутые и другие отрицательные стороны и недостатки предшествующего уровня техники устраняются посредством системы и способа адаптивного взвешивания эталонных изображений в видеокодерах и видеодекодерах.
Раскрыты видеокодер и соответствующие способы обработки данных видеосигнала для блока изображения и индекса конкретного эталонного изображения для предсказания этого блока изображения, которые используют адаптивное взвешивание эталонных изображений для усиления сжатия видеосигнала. Кодер содержит модуль назначения весового коэффициента эталонного изображения для назначения весового коэффициента упомянутому индексу конкретного эталонного изображения.
Соответствующий способ кодирования данных видеосигнала для блока изображения включает в себя прием по существу несжатого блока изображения и назначение весового коэффициента для блока изображения, соответствующего конкретному эталонному изображению, имеющему соответствующий индекс. Вычисляются векторы движения, соответствующие разности между блоком изображения и конкретным эталонным изображением. В соответствии с векторами движения осуществляется компенсация движения конкретного эталонного изображения, и скомпенсированное по движению эталонное изображение изменяется посредством назначенного весового коэффициента для формирования взвешенного скомпенсированного по движению эталонного изображения. По существу несжатый блок изображения сравнивается с взвешенным скомпенсированным по движению эталонным изображением, и сигнал, указывающий разность между по существу несжатым блоком изображения и взвешенным скомпенсированным по движению эталонным изображением, совместно с соответствующим индексом конкретного эталонного изображения, кодируется.
ПЕРЕЧЕНЬ ЧЕРТЕЖЕЙ
Адаптивное взвешивание эталонных изображений в видеокодерах и видеодекодерах в соответствии с принципами настоящего изобретения иллюстрируется следующими показательными чертежами:
Фиг.1 - блочная диаграмма для стандартного видеодекодера.
Фиг.2 - блочная диаграмма для видеодекодера с адаптивным двойным предсказанием.
Фиг.3 - блочная диаграмма для видеодекодера с взвешиванием эталонного изображения в соответствии с принципами настоящего изобретения.
Фиг.4 - блочная диаграмма для стандартного видеокодера.
Фиг.5 - блочная диаграмма для видеокодера с взвешиванием эталонного изображения в соответствии с принципами настоящего изобретения.
Фиг.6 - блок-схема последовательности операций процесса декодирования в соответствии с принципами настоящего изобретения.
Фиг.7 - блок-схема последовательности операций процесса кодирования в соответствии с принципами настоящего изобретения.
ПОДРОБНОЕ ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
Настоящее изобретение представляет устройство и способ для оценки вектора движения и адаптивного назначения весового коэффициента эталонного изображения. В некоторых видеопоследовательностях, в частности видеопоследовательностях с замиранием, текущее изображение или блок изображения, который должен быть кодирован, более сильно коррелирует с эталонным изображением, масштабированным весовым коэффициентом, чем непосредственно с эталонным изображением. Видеокодеки без применения весовых коэффициентов к эталонным изображениям для кодирования последовательностей с замиранием очень неэффективны. При использовании весовых коэффициентов в кодировании видеокодер должен определять и весовые коэффициенты, и векторы движения, но лучший выбор для каждого из них зависит от другого, с оценкой движения, обычно являющейся в вычислительном отношении наиболее интенсивной частью цифрового кодера сжатия видеосигнала.
В предложенном стандарте сжатия видеосигнала Объединенной группы по видеосигналам (JVT), каждое P-изображение может использовать несколько эталонных изображений для формирования предсказания изображения, но каждый отдельный блок движения, или область 8×8 макроблока, использует только одно эталонное изображение для предсказания. Дополнительно к кодированию и передаче векторов движения, для каждого блока движения, или области 8×8, передается индекс эталонного изображения, указывающий, какое эталонное изображение используется. В кодере и в декодере хранится ограниченный набор возможных эталонных изображений и передается количество допустимых эталонных изображений.
В стандарте JVT для изображений с двойным предсказанием (также называемых B-изображений), для каждого блока движения, или области 8×8, формируются два предсказателя, каждый из которых может быть из отдельного эталонного изображения, и эти два предсказателя усредняются для формирования одного усредненного предсказателя. Для блоков движения, кодированных с двойным предсказанием, оба эталонных изображения могут соответствовать направлению вперед, оба могут соответствовать направлению назад или одно - направлению вперед и одно - направлению назад. Поддерживаются два списка доступных эталонных изображений, которые могут использоваться для предсказания. Два эталонных изображения определены как предсказатели списка 0 и списка 1. Для каждого эталонного изображения кодируется и передается индекс ref_idx_I0 и ref_idx_I1 для эталонных изображений списка 0 и списка 1, соответственно. Изображения с двойным предсказанием, или В-изображения, Объединенной группы по видеосигналам (JVT) обеспечивают возможность адаптивного взвешивания двух предсказаний, т.е.
Pred = [(P0)(Pred0)] + [(P1)(Pred1)] + D,
где P0 и P1 - весовые коэффициенты, Pred0 и Pred1 - предсказания эталонного изображения для списка 0 и списка 1, соответственно, а D - смещение.
Были предложены два способа для указания весовых коэффициентов. В первом весовые коэффициенты определяются направлениями, которые используются для эталонных изображений. В этом способе, если индекс ref_idx_I0 не превышает ref_idx_I1, то используются весовые коэффициенты (1/2, 1/2), иначе используются коэффициенты (2, -1).
Во втором предложенном способе передается произвольное количество весовых коэффициентов для каждого раздела. Затем передается индекс весового коэффициента для каждого блока движения, или области 8×8 макроблока, который использует двунаправленное предсказание. Декодер использует принятый индекс весового коэффициента для выбора соответствующего весового коэффициента, из переданного набора, для использования при декодировании блока движения, или области 8×8. Например, если на уровне раздела были переданы три весовых коэффициента, они должны соответствовать индексам 0, 1 и 2 весовых коэффициентов, соответственно.
Последующее описание только иллюстрирует принципы изобретения. Соответственно, будет ясно, что специалисты в данной области техники смогут изобрести различные средства, которые, хотя не описаны и не представлены здесь явно, воплощают принципы изобретения и включены в его объем. Кроме того, все возможные варианты и условный язык, изложенные здесь, в основном предназначены специально для целей обучения, чтобы облегчить понимание принципов изобретения и концепций, внесенных изобретателем в развитие техники, и не должны рассматриваться как возможные варианты и условия, накладывающие ограничения. Кроме того, все описания изложенных здесь принципов, аспектов и вариантов осуществления изобретения, а также их конкретные возможные варианты предназначены для охвата их структурных и функциональных эквивалентов. Дополнительно, подразумевается, что такие эквиваленты включают в себя эквиваленты, известные в настоящее время, а также эквиваленты, которые будут разработаны в будущем, т.е. любые разработанные элементы, которые выполняют идентичную функцию независимо от структуры.
Так, например, для специалистов в данной области техники должно быть понятно, что блочные диаграммы здесь представляют концептуальные виды иллюстративных схем, воплощающих принципы изобретения. Аналогично, ясно, что любые блок-схемы последовательностей операций, схемы алгоритмов, диаграммы переходов между состояниями, псевдокод и т.д. представляют различные процессы, которые, по существу, могут быть представлены в машиночитаемом носителе, а также исполняться компьютером или процессором, вне зависимости от того, изображен ли такой компьютер или процессор явно.
Функции различных элементов, изображенных на чертежах, могут быть обеспечены посредством использования специализированных аппаратных средств, а также аппаратных средств, которые могут выполнять программное обеспечение, совместно с соответствующим программным обеспечением. При обеспечении процессором, функции могут обеспечиваться одним специализированным процессором, одним совместно используемым процессором или несколькими отдельными процессорами, некоторые из которых могут использоваться совместно. Кроме того, явное использование термина "процессор" или "контроллер" не должно рассматриваться как ссылка исключительно на аппаратные средства, которые могут выполнять программное обеспечение, и может неявно включать в себя, но не в ограничительном смысле, аппаратные средства цифрового процессора сигналов (ЦПС, DSP), постоянное запоминающее устройство (ПЗУ, ROM) для хранения программного обеспечения, оперативное запоминающее устройство (ОЗУ, RAM) и энергонезависимую память. Могут также быть включены другие аппаратные средства, стандартные и/или заказные. Аналогично, любые переключатели, изображенные на чертежах, только концептуальны. Их функция может выполняться посредством операции программных логических средств, специализированных логических средств, взаимодействия программного управления и специализированных логических средств, или даже вручную, конкретный способ может быть выбран средством реализующей стороной, как более определенно понятно из контекста.
В формуле изобретения любой элемент, выступающий в качестве средства выполнения конкретной функции, предназначен для охвата любого средства выполнения этой функции, включая, например, a) комбинацию элементов схемы, выполняющую указанную функцию или b) программное обеспечение в любом виде для выполнения функции, включая, следовательно, встроенное программное обеспечение, микрокод и т.д., объединенное с соответствующими схемами для выполнения этого программного обеспечения. Изобретению, как оно определено упомянутой формулой изобретения, фактически свойственно, что функциональные возможности, обеспеченные различными описанными средствами, объединяются и соединяются вместе, как того требует формула изобретения. Соответственно, заявитель рассматривает любые средства, которые могут обеспечивать упомянутые функциональные возможности в виде эквивалента представленным здесь функциональным возможностям.
Согласно фиг.1 стандартный видеодекодер обозначен в общем ссылочной позицией 100. Видеодекодер 100 содержит декодер 110 полей переменной длины (VLD), соединенный с возможностью обмена сигналами с обратнымквантователем 120. Обратный квантователь 120 соединен с возможностью обмена сигналами с обратнымпреобразователем 130. Обратный преобразователь 130 соединен с возможностью обмена сигналами с первым входом сумматора, или суммирующего соединения 140, при этом выход суммирующего соединения 140 обеспечивает выход видеодекодера 100. Выход суммирующего соединения 140 соединен с возможностью обмена сигналами с хранилищем 150 эталонных изображений. Хранилище 150 эталонных изображений соединено с возможностью обмена сигналами с компенсатором 160 движения, который соединен с возможностью обмена сигналами с вторым входом суммирующего соединения 140.
Согласно фиг.2 видеодекодер с адаптивным двойным предсказанием обозначен в общем ссылочной позицией 200. Видеодекодер 200 содержит VLD 210, соединенный с возможностью обмена сигналами с обратным квантователем 220. Обратный квантователь 220 соединен с возможностью обмена сигналами с обратным преобразователем 230. Обратный преобразователь 230 соединен с возможностью обмена сигналами с первым входом суммирующего соединения 240, при этом выход суммирующего соединения 240 обеспечивает выход видеодекодера 200. Выход суммирующего соединения 240 соединен с возможностью обмена сигналами с хранилищем 250 эталонных изображений. Хранилище 250 эталонных изображений соединено с возможностью обмена сигналами с компенсатором 260 движения, который соединен с возможностью обмена сигналами с первым входом умножителя 270.
VLD 210 дополнительно соединен с возможностью обмена сигналами со средством 280 поиска весового коэффициента эталонного изображения для предоставления средству 280 поиска индекса коэффициента адаптивного двойного предсказания (АДП, ABP). Первый выход средства 280 поиска предназначен для предоставления весового коэффициента и соединен с возможностью обмена сигналами с вторым входом умножителя 270. Выход 270 умножителя соединен с возможностью обмена сигналами с первым входом суммирующего соединения 290. Второй выход средства 280 поиска предназначен для предоставления смещения и соединен с возможностью обмена сигналами с вторым входом суммирующего соединения 290. Выход суммирующего соединения 290 соединен с возможностью обмена сигналами с вторым входом суммирующего соединения 240.
Согласно фиг.3 видеодекодер с взвешиванием эталонного изображения обозначен в общем ссылочной позицией 300. Видеодекодер 300 содержит VLD 310, соединенный с возможностью обмена сигналами с обратным квантователем 320. Обратный квантователь 320 соединен с возможностью обмена сигналами с обратным преобразователем 330. Обратный преобразователь 330 соединен с возможностью обмена сигналами с первым входом суммирующего соединения 340, при этом выход суммирующего соединения 340 обеспечивает выход видеодекодера 300. Выход суммирующего соединения 340 соединен с возможностью обмена сигналами с хранилищем 350 эталонных изображений. Хранилище 350 эталонных изображений соединено с возможностью обмена сигналами с компенсатором 360 движения, который соединен с возможностью обмена сигналами с первым входом умножителя 370.
VLD 310 дополнительно соединен с возможностью обмена сигналами со средством 380 поиска весового коэффициента эталонного изображения для предоставления средству 380 поиска индекса эталонного изображения. Первый выход средства 380 поиска предназначен для предоставления весового коэффициента и соединен с возможностью обмена сигналами с вторым входом умножителя 370. Выход умножителя 370 соединен с возможностью обмена сигналами с первым входом суммирующего соединения 390. Второй выход средства 380 поиска предназначен для предоставления смещения и соединен с возможностью обмена сигналами со вторым входом суммирующего соединения 390. Выход суммирующего соединения 390 соединен с возможностью обмена сигналами со вторым входом суммирующего соединения 340.
Согласно фиг.4 стандартный видеокодер обозначен в общем ссылочной позицией 400. Вход в кодер 400 соединен с возможностью обмена сигналами с неинвертирующим входом суммирующего соединения 410. Выход суммирующего соединения 410 соединен с возможностью обмена сигналами с преобразователем 420блоков. Преобразователь 420 соединен с возможностью обмена сигналами с квантователем 430. Выход квантователя 430 соединен с возможностью обмена сигналами с кодером полей переменной длины (VLC) 440, где выход VLC 440 является выходом кодера 400, доступным извне.
Выход квантователя 430 дополнительно соединен с возможностью обмена сигналами с обратным квантователем 450. Обратный квантователь 450 соединен с возможностью обмена сигналами с обратным преобразователем 460 блоков, который, в свою очередь, соединен с возможностью обмена сигналами с хранилищем 470 эталонных изображений. Первый выход хранилища 470 эталонных изображений соединен с возможностью обмена сигналами с первым входом модуля 480 оценки движения. Вход в кодер 400 дополнительно соединен с возможностью обмена сигналами с вторым входом модуля 480 оценки движения. Выход модуля 480 оценки движения соединен с возможностью обмена сигналами с первым входом компенсатора 490 движения. Второй выход хранилища 470 эталонных изображений соединен с возможностью обмена сигналами с вторым входом компенсатора 490 движения. Выход компенсатора 490 движения соединен с возможностью обмена сигналами с инвертирующим входом суммирующего соединения 410.
Согласно фиг.5 видеокодер с взвешиванием эталонного изображения обозначен в общем ссылочной позицией 500. Вход в кодер 500 соединен с возможностью обмена сигналами с неинвертирующим входом суммирующего соединения 510. Выход суммирующего соединения 510 соединен с возможностью обмена сигналами с преобразователем 520 блоков. Преобразователь 520 соединен с возможностью обмена сигналами с квантователем 530. Выход квантователя 530 соединен с возможностью обмена сигналами с VLC 540, где выход VLC 440 является выходом кодера 500, доступным извне.
Выход квантователя 530 дополнительно соединен с возможностью обмена сигналами с обратным квантователем 550. Обратный квантователь 550 соединен с возможностью обмена сигналами с обратным преобразователем 560 блоков, который, в свою очередь, соединен с возможностью обмена сигналами с хранилищем 570 эталонных изображений. Первый выход хранилища 570 эталонных изображений соединен с возможностью обмена сигналами с первым входом модуля572назначениявесового коэффициента эталонного изображения. Вход в кодер 500 дополнительно соединен с возможностью обмена сигналами с вторым входом модуля 572 назначения весового коэффициента эталонного изображения. Выход модуля 572 назначения весового коэффициента эталонного изображения, указывающий весовой коэффициент, соединен с возможностью обмена сигналами с первым входом модуля 580 оценки движения. Второй выход хранилища 570 эталонных изображений соединен с возможностью обмена сигналами с вторым входом модуля 580 оценки движения.
Вход в кодер 500 дополнительно соединен с возможностью обмена сигналами с третьим входом модуля 580 оценки движения. Выход модуля 580 оценки движения, указывающий векторы движения, соединен с возможностью обмена сигналами с первым входом компенсатора 590 движения. Третий выход хранилища 570 эталонных изображений соединен с возможностью обмена сигналами с вторым входом компенсатора 590 движения. Выход компенсатора 590 движения, указывающий эталонное изображение, скомпенсированное по движению, соединен с возможностью обмена сигналами с первым входом умножителя 592. Выход модуля 572 назначения весового коэффициента эталонного изображения, указывающий весовой коэффициент, соединен с возможностью обмена сигналами с вторым входом умножителя 592. Выход умножителя 592 соединен с возможностью обмена сигналами с инвертирующим входом суммирующего соединения 510.
Согласно фиг.6 иллюстративный процесс декодирования данных видеосигнала для блока изображения обозначен в общем ссылочной позицией 600. Процесс включает в себя этап 610 начала, на котором передают управление этапу 612 ввода. На этапе 612 ввода принимают данные сжатого блока изображения и передают управление этапу 614 ввода. На этапе 614 ввода принимают по меньшей мере один индекс эталонного изображения с данными для блока изображения, при этом каждый индекс эталонного изображения соответствует конкретному эталонному изображению. На этапе 614 ввода передают управление функциональному этапу 616, на котором определяют весовой коэффициент, соответствующий каждому из принятых индексов эталонного изображения, и передают управление необязательному функциональному этапу 617. На необязательном функциональном этапе 617 определяют смещение, соответствующее каждому из принятых индексов эталонных изображений, и передают управление функциональному этапу 618. На функциональном этапе 618 извлекают эталонное изображение, соответствующее каждому из принятых индексов эталонных изображений, и передают управление функциональному этапу 620. На функциональном этапе 620, в свою очередь, выполняют компенсацию движения извлеченного эталонного изображения и передают управление функциональному этапу 622. На функциональном этапе 622 умножают скомпенсированное по движению эталонное изображение на соответствующий весовой коэффициент и передают управление необязательному функциональному этапу 623. На необязательном функциональном этапе 623 суммируют скомпенсированное по движению эталонное изображение с соответствующим смещением и передают управление функциональному этапу 624. На функциональном этапе 624, в свою очередь, формируют взвешенное скомпенсированное по движению эталонное изображение и передают управление этапу 626 завершения.
Согласно фиг.7 иллюстративный процесс кодирования данных видеосигнала для блока изображения обозначен в общем ссылочной позицией 700. Процесс включает в себя этап 710 начала, на котором передают управление этапу 712 ввода. На этапе 712 ввода принимают, по существу, данные несжатого блока изображения и передают управление функциональному этапу 714. На функциональном этапе 714 назначают весовой коэффициент для блока изображения, соответствующий конкретному эталонному изображению, имеющему соответствующий индекс. На функциональном этапе 714 передают управление необязательному функциональному этапу 715. На необязательном функциональном этапе 715 назначают смещение для блока изображения, соответствующее конкретному эталонному изображению, имеющему соответствующий индекс. На необязательном функциональном этапе 715 передают управление функциональному этапу 716, на котором вычисляют векторы движения, соответствующие разности между блоком изображения и конкретным эталонным изображением, и передают управление функциональному этапу 718. На функциональном этапе 718, в соответствии с векторами движения, выполняют компенсацию движения конкретного эталонного изображения и передают управление функциональному этапу 720. На функциональном этапе 720, в свою очередь, умножают скомпенсированное по движению эталонное изображение на назначенный весовой коэффициент для формирования взвешенного скомпенсированного по движению эталонного изображения и передают управление необязательному функциональному этапу 721. На необязательном функциональном этапе 721, в свою очередь, суммируют скомпенсированное по движению эталонное изображение с назначенным смещением для формирования взвешенного скомпенсированного по движению эталонного изображения и передают управление функциональному этапу 722. На функциональном этапе 722 вычитают взвешенное скомпенсированное по движению эталонное изображение из, по существу, несжатого блока изображения и передают управление функциональному этапу 724. На функциональном этапе 724, в свою очередь, кодируют сигнал с разностью между, по существу, несжатым блоком изображения и взвешенным скомпенсированным по движению эталонным изображением вместе с соответствующим индексом конкретного эталонного изображения и передают управление этапу 726 завершения.
В представленном возможном варианте осуществления, для каждого кодированного изображения или раздела, каждому допустимому эталонному изображению, в отношении которого могут быть кодированы блоки текущего изображения, сопоставлен весовой коэффициент. При кодировании или декодировании каждого отдельного блока в текущем изображении, для формирования взвешенного предсказателя, к эталонному предсказанию применяются весовой коэффициент(ы) и смещение(я), соответствующие его индексам эталонных изображений. Все блоки в разделе, которые кодируются относительно одинакового эталонного изображения, применяют к предсказанию эталонного изображения одинаковый весовой коэффициент.
Следует ли использовать адаптивное взвешивание при кодировании изображения или нет, может быть указано в наборе параметров изображения или наборе параметровпоследовательности или в заголовке изображения или раздела. Для каждого раздела или изображения, использующего адаптивное взвешивание, может передаваться весовой коэффициент для каждого из допустимых эталонных изображений, которые могут использоваться для кодирования этого раздела или изображения. Количестводопустимых эталонных изображений передается в заголовке раздела. Например, если для кодирования текущего раздела могут использоваться три эталонных изображения, то передается до трех весовых коэффициентов, и они сопоставляются эталонному изображению с идентичным индексом.
Если не передается ни одного весового коэффициента, то используются веса, заданные по умолчанию. В одном варианте осуществления настоящего изобретения, когда не передается ни одного весового коэффициента, то используются веса, заданные по умолчанию (1/2, 1/2). Весовые коэффициенты могут передаваться с использованием кодов фиксированной или переменной длины.
В отличие от стандартных систем, каждый весовой коэффициент, который передается с каждым разделом, блоком или изображением, соответствует конкретному индексу эталонного изображения. Ранее, любой набор весовых коэффициентов, передаваемый с каждым разделом или изображением, не был сопоставлен какому-либо конкретному эталонному изображению. Вместо этого, для каждого блока движения, или области 8×8, передавался индекс адаптивного взвешивания двойного предсказания, для выбора, какой из весовых коэффициентов из передаваемого набора должен применяться для этого конкретного блока движения, или области 8×8.
В представленном варианте осуществления индекс весового коэффициента для каждого блока движения, или области 8×8, не передается явно. Вместо этого используется весовой коэффициент, сопоставленный передаваемому индексу эталонного изображения. Это существенно уменьшает объем непроизводительной служебной информации в передаваемом потоке битов для обеспечения возможности адаптивного взвешивания эталонных изображений.
Упомянутые система и методика могут применяться к P-изображениям с предсказанием, которые кодируются одним предсказателем, или к B-изображениям с двойным предсказанием, которые кодируются двумя предсказателями. Ниже описаны процессы декодирования для случаев P- и B-изображений, которые имеют место и в кодере, и в декодерах. В качестве альтернативы, упомянутая методика может применяться также к системам кодирования, использующим концепции, подобные I, B и P-изображениям.
Для однонаправленного предсказания в B-изображениях и для двунаправленного предсказания в B-изображениях могут использоваться идентичные весовые коэффициенты. Когда для макроблока используется один предсказатель, в P-изображениях или для однонаправленного предсказания в B-изображениях, для этого блока передается один индекс эталонного изображения. После того как в процессе декодирования на этапе компенсации движения создают предсказатель, к этому предсказателю применяют весовой коэффициент. Затем взвешенный предсказатель суммируют с кодированным остатком и в отношении результата суммирования выполняют отсечение по границам области, для формирования декодированного изображения. При использовании для блоков в P-изображениях или для блоков в B-изображениях, которые используют только предсказание списка 0, взвешенный предсказатель формируют в виде
Pred=W0*Pred0+D0 (1),
где W0 - весовой коэффициент, сопоставленный эталонному изображению списка 0, D0 - смещение, сопоставленное эталонному изображению списка 0, и Pred0 - блок скомпенсированного по движению предсказания из эталонного изображения списка 0.
Для использования для блоков в B-изображениях, которые используют только предсказание списка 0, взвешенный предсказатель формируют в виде
Pred=W1*Pred1+D1 (2),
где W1 - весовой коэффициент, сопоставленный эталонному изображению списка 1, D0 - смещение, сопоставленное эталонному изображению списка 1, и Pred1 - блок скомпенсированного по движению предсказания из эталонного изображения списка 1.
Для гарантии того, что результирующие значения будут находиться внутри допустимого диапазона значений пикселей, обычно от 0 до 255, может осуществляться отсечение по границам области в отношении взвешенных предсказателей. Точность умножения в формулах взвешивания может быть ограничена любым предварительно определенным количеством битов разрешения.
В случае с двойным предсказанием передаются индексы эталонного изображения для каждого из двух предсказателей. Для формирования двух предсказателей выполняется компенсация движения. Для формирования двух взвешенных предсказателей каждый предсказатель использует весовой коэффициент, сопоставленный со своим индексом эталонного изображения. Затем два взвешенных предсказателя усредняются вместе для формирования усредненного предсказателя, который затем складывается с кодированным остатком.
Для использования для блоков в B-изображениях, которые используют предсказатели списка 0 и списка 1, взвешенный предсказатель формируют в виде
Pred=(P0*Pred0+D0+P1*Pred1+D1)/2 (3)
Для гарантии того, что результирующие значения будут находиться внутри допустимого диапазона значений пикселей, обычно от 0 до 255, к взвешенному предсказателю или любому из промежуточных значений в вычислении взвешенного предсказателя может быть применено отсечение по границам области.
Соответственно, к предсказанию эталонного изображения декодера и кодера сжатия видеосигнала, которые используют несколько эталонных изображений, применяется весовой коэффициент. Весовой коэффициент адаптируется для отдельных блоков движения внутри изображения на основе индекса эталонного изображения, которое используется для этого блока движения. Так как индекс эталонного изображения уже передается в потоке битов сжатого видеосигнала, существенно уменьшается объем дополнительной непроизводительной служебной информации для адаптации весового коэффициента на основе блока движения. Все блоки движения, кодированные относительно одинакового эталонного изображения, применяют к предсказанию эталонного изображения одинаковый весовой коэффициент.
Специалисты в данной области техники на основе приведенных здесь принципов могут легко обнаружить указанные и другие признаки и преимущества настоящего изобретения. Понятно, что принципы настоящего изобретения могут быть реализованы в различных видах аппаратных средств, программного обеспечения, программно-аппаратных средств, специализированных процессоров или в их комбинациях.
Наиболее предпочтительна реализация принципов настоящего изобретения в виде комбинации аппаратных средств и программного обеспечения. Кроме того, программное обеспечение, предпочтительно, реализуется в виде прикладной программы, физически реализованной в блоке памяти для хранения программ. Прикладная программа может быть загружена в вычислительное устройство, имеющее любую соответствующую архитектуру, и выполняться на нем. Предпочтительно, вычислительное устройство реализовано на платформе компьютера, имеющей такие аппаратные средства, как один или большее количество центральных процессоров (CPU), оперативное запоминающее устройство (RAM) и интерфейсы ввода/вывода (I/O). Платформа компьютера может включать в себя также код микрокоманд и операционную систему. Различные процессы и функции, описанные здесь, могут являться частью кода микрокоманд или частью прикладной программы, или любой их комбинацией, которая может выполняться CPU. Дополнительно к платформе компьютера могут быть подсоединены разные другие периферийные устройства, такие как дополнительный блок памяти для хранения данных и печатающее устройство.
Также следует понимать, что, так как некоторые из составляющих систему компонентов и способов, изображенных на приложенных чертежах, предпочтительно, реализованы в программном обеспечении, фактические связи между компонентами системы или функциональными блоками процесса могут варьироваться в зависимости от того, как запрограммировано настоящее изобретение. При наличии приведенных здесь принципов специалист в данной области техники может предусмотреть указанные и подобные реализации или конфигурации настоящего изобретения.
Хотя здесь, согласно приложенным чертежам, были описаны иллюстративные варианты осуществления, понятно, что настоящее изобретение не ограничивается именно этими вариантами осуществления и что специалист в данной области техники, не удаляясь от сути и не выходя за рамки объема настоящего изобретения, может внести различные изменения и модификации. Подразумевается, что все такие изменения и модификации включены в объем настоящего изобретения, определяемый приложенной формулой изобретения.
1. Видеокодер для кодирования данных видеосигнала для блока изображения и индекса конкретного эталонного изображения, содержащий
модуль приема для приема, по существу, несжатого блока изображения,
модуль назначения весового коэффициента для назначения для этого блока изображения весового коэффициента, соответствующего первому конкретному эталонному изображению, имеющему соответствующий индекс,
средство вычисления для вычисления векторов движения, соответствующих разности между упомянутым блоком изображения и первым конкретным эталонным изображением,
модуль компенсации движения для выполнения компенсации движения в отношении первого конкретного эталонного изображения в соответствии с упомянутыми векторами движения,
модуль умножения для умножения скомпенсированного по движению первого конкретного эталонного изображения на назначенный весовой коэффициент с целью формирования взвешенного скомпенсированного по движению первого эталонного изображения,