Код документа: RU2209527C2
Синтез изображений позволяет создавать при помощи средств обработки информации так называемые виртуальные изображения. Источником таких виртуальных изображений является абстрактное описание и цифровые вычисления. Речь идет об использовании некоторой системы методов через графические библиотеки 2D и 3D, которые в случае необходимости ускоряются при помощи специальных аппаратных средств типа ускоряющих графических карт и через соответствующие интерфейсы типа API /или "Application Program Interface" по-английски/.
Способ создания этих виртуальных изображений может быть разложен на несколько различных этапов.
В первую очередь, этот способ содержит фазу моделирования, то есть выработки или сбора объектов, использующих некоторую модель описания, задача которой состоит в том, чтобы описать образующие объекты и соединить их между собой для формирования из этих объектов поддающейся визуализации сцены.
Здесь можно отметить, например, модель многоугольного типа, где объекты раскладываются на множество многоугольников или элементарных участков. Элементы отображения используются для определения, компоновки или модификации этих элементарных геометрических единиц.
Эти модели являются интерпретируемыми: они могут быть связаны с различными типами графических процессоров, например, закрашивания /по-английски "shading"/ треугольников, устранения дефекта изображения линий текстуры и т. п. Эти модели обладают свойствами или возможностями как в динамическом смысле, типа движения, вспышек и т.п., так и в визуальном смысле, типа текстуры, света, зеркального эффекта и т.п. Они могут взаимодействовать с программным окружением и с окружающей средой в процессе реализации сценария, например, со светом и с другими объектами. Таким образом, на следующем этапе происходит создание оживленной или движущейся сцены, которая руководит общей организацией этих моделей во времени /здесь следует понимать в смысле времени реализации данного применения/, то есть определение сценария или анимации.
И, наконец, в зависимости от конкретного варианта применения /САО или система автоматического проектирования, производство изображений, моделирование и т.п./, последний этап состоит в создании цифровых изображений на основе этого сценария. Этот заключительный этап называется по-английски "rendering" или метод "созданного" изображения, цель которого состоит в создании возможно более реалистической сцены. Этот этап может быть весьма дорогостоящим в смысле времени и может требовать больших объемов памяти как для используемых моделей, так и для данных, связанных с задействованными программами. Некоторые методы создания позволяют получить весьма качественные изображения, но достаточно дорогой ценой, поскольку используемые алгоритмы расчета являются весьма сложными.
Достаточно большой объем информации, представляемой цифровыми изображениями, обусловил необходимость разработки различных стандартов сжатия или уплотнения, таких, например, как JPEG, H.263, MPEG-1, MPEG-2 и MPEG-4, позволяющих манипулировать, как в процессе накопления и хранения, так и в процессе передачи, объемами информации, сопоставимыми с существующими в настоящее время технологическими возможностями.
Норма MPEG-2, которая в настоящее время является наиболее распространенной, позволяет сжать или уплотнить любые существующие форматы изображений при помощи различных профилей и уровней, определяемых в этой норме MPEG /по-английски "profiles and levels"/, из которых наиболее известен MB@МL /то есть "Main Profile at Main Level" по-английски/, для изображений в обычном телевизионном формате.
Структура кодирующих устройств, реализующих такое сжатие или уплотнение видеоизображений, в соответствии с существующим уровнем техники в данной области основывается на различных типах таких изображений: Intra /Внутренние/, Predites /Прогнозируемые/ или Bidirectionnelles /Двумерные/, обозначаемые соответственно изображениями типа I, P и В. Основное их отличие друг от друга состоит в способе временного прогнозирования. Основа кодирования является классической с частотным разложением, базирующимся на дискретном косинусном образе преобразования или DCT /или "Discrete Cosine Transform" по-английски/, после которого выполняется квантование и энтропийное кодирование, для получения на выходе данного кодирующего устройства последовательности двоичных сигналов, которые должны удовлетворять упомянутой норме, то есть специфическому синтаксису.
Временное прогнозирование осуществляется путем оценки движения между изображениями, разнесенными во времени, на основе блоков изображений размером, например, 16•16 пикселей или элементарных единиц изображения. Информация о движении изображения выводится из корреляции между текущим блоком изображения и блоком исследуемого фрагмента предшествующего или последующего изображения. Затем каждый блок изображения с размерами 8•8 пикселей прогнозируется с рассчитанным вектором перемещения, и только ошибка или рассогласование между оценкой и оригиналом подвергается кодированию.
В процессе сжатия или уплотнения данных независимо от того, относятся они к обычным изображениям или синтезированным изображениям, используются, таким образом, классические способы типа оценки движения. Схемы, реализующие такие расчеты, и связанные с ними схемы, являются достаточно сложными и дорогостоящими. Так, например, схемы оценки движения и интерполяции, компенсированной по движению, составляют добрую половину сложности устройства кодирования типа MPEG-2.
Информация о движении в соответствии с классическими способами практически всегда не соответствует реальному движению. Речь идет просто об общих корреляциях с информацией о яркостном сигнале. То обстоятельство, что поле векторов, которые образуют векторы движения изображения, не отражает действительного движения, не позволяет обеспечить оптимальное сжатие или уплотнение информации, в частности, в случае дифференциального кодирования векторов. Действительно, для макроблоков, соответствующих зонам с однородным движением, стоимость передачи идентичных или мало отличающихся друг от друга векторов при дифференциальном кодировании является несколько меньшей, чем стоимость передачи векторов, содержащих элементы случайности.
С другой стороны, то обстоятельство, что векторы движения, полученные в соответствии с классическим способом типа блока сопоставления или "block matching" по-английски, в значительной степени не отражают реального движения, не допускает использования поля векторов для осуществления интерполяции или экстраполяции изображений удовлетворительного качества в процессе, например, преобразований частоты, замедленных режимов работы цифрового видеомагнитофона и т.д.
Не вполне корректное поле векторов движения не позволяет также использовать новые технологии кодирования, использующие больше информацию о контуре изображения, чем информацию о макроблоках. Действительно, сжатие или уплотнение информации в соответствии с этими новыми технологиями основывается на сегментации изображения и реальном перемещении этих "сегментов", определяющих однородные зоны этого изображения.
Таким образом, отсутствие достаточной надежности оценки движения не позволяет оптимизировать характеристики устройства кодирования в смысле степени сжатия или уплотнения и в смысле качества изображения для заданного потока данных и достаточно эффективно использовать информацию о движении в кодирующем устройстве.
В основу предлагаемого изобретения положена задача устранить отмеченные выше недостатки в процессе кодирования синтезированных изображений.
Для решения поставленной задачи объектом данного изобретения предложен способ сжатия или уплотнения цифровых данных последовательности синтезированных изображений, описывающих сцену, являющуюся объектом сценария. Этот способ содержит этап обработки для моделирования данной сцены на основе математических данных, этап формирования изображения /или "rendering" по-английски/ для создания синтезированного изображения на основе этого моделирования и разбиения этого синтезированного изображения на отдельные блоки изображения, дифференциального кодирования текущего блока изображения на основе блока, по меньшей мере, одного синтезированного изображения, определенного на основе, по меньшей мере, одного вектора движения, для выдачи остаточного блока. Предлагаемый способ отличается тем, что упомянутый вектор движения рассчитывается на основе математических данных, вытекающих из сценария синтеза и определяющих очевидное движение различных объектов, образующих сцену в данной последовательности.
Объектом предлагаемого изобретения является также устройство сжатия или уплотнения цифровых данных последовательности синтезированных изображений, описывающих сцену, являющуюся объектом сценария, содержащее контур обработки для моделирования сцены, изображения которой подлежат синтезированию на основе математических данных, контур формирования изображения и разделения этого изображения на блоки, получающий информацию из контура обработки для реализации синтезированного изображения и разделения на блоки полученного таким образом изображения, контур компенсации движения блоком изображения, принимающий информацию из контура обработки для выдачи прогнозируемых блоков изображения, вычитающее устройство, предназначенное для выявления различия между текущим блоком изображения, поступающим из контура формирования синтезированного изображения и его разделения на блоки, и прогнозируемым блоком изображения, поступающим из контура компенсации по движению, для выдачи остаточного блока, контур прямого косинусного преобразования блоков изображения, поступающих из контура формирования изображения и разделения этого изображения на блоки или остаточных блоков, поступающих из вычитающего устройства, причем выбор осуществляется при помощи контура селекции режима в функции энергетических критериев и контур квантования коэффициентов трансформированных функций, отличающееся тем, что упомянутый контур компенсации по движению использует математические данные, выдаваемые контуром обработки и выражающие перемещение смоделированных объектов, образующих данную сцену, для расчета векторов движения, связанных с текущим блоком изображения и определяющих прогнозируемый блок.
В соответствии с другим возможным вариантом реализации объектом предлагаемого изобретения является устройство сжатия или уплотнения цифровых данных последовательности синтезированных изображений, описывающих сцену, являющуюся объектом сценария, содержащее контур обработки, предназначенный для моделирования той сцены, изображения которой подлежат синтезированию на основе математических данных, контур формирования изображения и разделения его на блоки, принимающий информацию из контура обработки для реализации синтезированного изображения и разделения полученного таким образом изображения на отдельные блоки, контур компенсации по движению блоков изображения, принимающий информацию из контура обработки, отличающееся тем, что это устройство передает в режиме "intra" одно изображение среди N изображений данной последовательности, причем N представляет собой некоторое заданное число и это изображение N представляет то изображение, которое является объектом расчета формирования при помощи контура расчета формирования изображения и разделения его на блоки, тем, что другие изображения передаются в режиме "inter" посредством остаточных блоков изображения, представляющих различие между текущим блоком изображения и прогнозируемым блоком изображения, а также тем, что упомянутые остаточные блоки являются нулевыми и определены при помощи одного единственного вектора движения, рассчитанного на основе математических данных.
Используемая здесь технология формирования изображения, в общем случае, выражается в преобразовании ориентированного на "объект" сценария в изображения. Поэтому упомянутый сценарий содержит всю возможную информацию, касающуюся как объектов, принимающих участие в данной сцене, так и различных свойств и особенностей этих объектов. В случае синтезирования изображений двумерный сценарий или сценарий типа 2D или трехмерный сценарий или сценарий типа 3D дает точное перемещение объектов во времени. Затем этот сценарий служит для формирования цифровых видеоизображений окончательного вида /или "rendering" по-английски/. Таким образом, в данном случае вместо использования информации, которая представляет собой пиксели или наименьшие элементы изображения, образующие визуальное изображение, то есть не моделированное изображение, для оценки движения используются средства моделирования для расчета реального движения в данной последовательности изображений.
Такое техническое решение в дополнение к снижению сложности реализации позволяет вследствие использования реального движения вместо оцененного движения повысить качество прогнозирования и общие характеристики кодирующего устройства.
Другие особенности и
преимущества предлагаемого изобретения будут лучше поняты из приведенного ниже описания не являющегося ограничительным примера его практической реализации, где даются ссылки на приведенные в
приложении фигуры, среди которых:
- Фиг. 1 представляет собой блок-схему устройства сжатия или уплотнения видеоинформации в соответствии с предлагаемым изобретением;
- Фиг.2
представляет собой упрощенную блок-схему устройства, показанного схематически на фиг.1.
На фиг. 1 приведена блок-схема первого возможного варианта реализации устройства в соответствии с предлагаемым изобретением в упрощенном виде.
Как уже было сказано в предшествующем изложении, расчеты, связанные с синтезированием изображения, являются весьма сложными и реализуются обычно при помощи специализированных рабочих станций. Именно такая рабочая станция, называемая здесь контуром обработки 1, осуществляет моделирование сцены, предварительно определенной на основе имеющегося сценария, для формирования этих синтезированных изображений, являющихся репрезентативными для сцены в соответствии с данным сценарием.
Полученные таким образом данные из контура обработки передаются параллельно в контур формирования изображений 2 и в контур сопряжения 6. Выход контура формирования изображений связан параллельно со входом контура разделения полученного изображения на блоки 3 и с первым входом контура компенсации по движению 7.
Первый выход контура разделения изображения на блоки непосредственно связан с первым входом контура выбора режима 5.
Второй выход i среди n выходов контура разделения изображения на блоки связан с первым входом вычитающего устройства 4i среди n входов этого устройства. Выход этого вычитающего устройства 4i связан со вторым входом i среди n входов контура выбора режима 5.
Выход контура сопряжения 6 связан со вторым входом контура компенсации по движению 7. Выход i среди n выходов этого устройства связан со вторым входом устройства вычитания 4i.
Выход контура выбора режима 5 связан с выходом данного устройства через контур вычисления дискретного косинусного преобразования 8, контур квантования 9 и контур кодирования с переменной длиной 10, которые включены последовательно друг с другом. Выход контура кодирования с переменной длиной, который представляет собой выход всего устройства, также подключен ко второму входу контура квантования 9 /включающему регулирование пропускной способности/. Другой выход контура компенсации по движению 7 связан со вторым входом контура кодирования с переменной длиной 10.
В рассматриваемом здесь примере реализации компенсация движения 7 осуществляется без предварительно декодированных или реконструированных изображений. Проблемы накопления ошибок прогнозирования, что по-английски обычно называют "drift", в данном случае могут реально проявляться. Для того, чтобы усовершенствовать данный способ, можно использовать контур отрицательной обратной связи с обратным квантованием или обратным DCT, подающий в контур компенсации 7 предварительно декодированные изображения, что позволяет снять упомянутые выше проблемы.
Таким образом, контур обработки 1 символизирует совокупность аппаратных и программных средств обработки информации, необходимых для математического формулирования сценария. Функция этого контура, как уже было сказано выше, состоит в том, чтобы обеспечить моделирование трехмерной сцены, то есть определить математические уравнения состояния объектов, составляющих данную сцену, и их движений, определяемых сценарием. Эти математические данные моделирования также могут быть получены из соответствующих информационных файлов, к которым может иметь доступ данный контур обработки и которые могут сохранять, например, предварительно сформированные модели.
Функция контура формирования изображений состоит в том, чтобы создавать синтезированные изображения. Этот контур осуществляет преобразование изображения в пиксели или минимальные элементы изображения на основе смоделированной сцены. Цифровая информация, касающаяся освещенности и окрашивания полученного изображения, передается в контур разделения 3, в котором осуществляется разделение каждого изображения на макроблоки, то есть на блоки размером 16•16 пикселей, содержащие четыре блока изображения размером 8•8 пикселей в соответствии с упомянутой выше нормой MPEG-2.
Функция контура сопряжения 6 состоит в том, чтобы преобразовать информацию о перемещении, задаваемую данным применением, в данном случае синтезом изображений, в поле движения при помощи макроблока, который передается в контур компенсации по движению 7. С каждым таким макроблоком связан, по меньшей мере, один вектор движения, рассчитанный этим контуром сопряжения на основе математических данных моделирования соответствующей сцены, полученных из упомянутого выше контура обработки 1. Математические преобразования типа поступательного перемещения, вращения и т.п., выражаются в виде двухмерного вектора, связанного с каждым макроблоком данного изображения.
Эти векторы движения представляют собой, разумеется, явное движение объектов, учитывающее, например, смещение точки видения данной сцены.
Такое преобразование перемещения осуществляется в данном случае следующим образом: предполагается, что данное перемещение представляет собой поступательное перемещение объекта, определяемое трехмерным вектором этого перемещения, проекция которого на плоскость дает вектор, определяемый в плоскости /Dx, Dy/. С каждым из макроблоков цельного изображения, представляющим часть данного объекта, связан один и тот же вектор, который рассматривается здесь как вектор движения /Dx, Dy/, типа того, который определяется в норме MPEG.
В данном случае остаются не вполне определенными зоны типа макроблоков на границах данного объекта, полностью закрытые или открытые зоны.
В том, что касается граничных блоков, наиболее простое техническое решение состоит в том, чтобы принять в данном макроблоке мажоритарный вектор движения, то есть вектор, который соответствует наибольшему числу пикселей в данном макроблоке, в качестве вектора движения, связанного с данным макроблоком. Может быть также рассмотрен вариант выбора вектора движения, соответствующего данному объекту, а не вектора движения, соответствующего фону данного изображения. Этот выбор не является главным, поскольку описываемое здесь устройство содержит контур выбора режима, который будет выбирать наиболее подходящий в данном случае режим, например, режим "intra" в том случае, когда реконструкция /то есть оцененное движение/ не является вполне удовлетворительной.
В том, что касается открытых или закрытых макроблоков, наиболее простое техническое решение состоит в придании соответствующему макроблоку нулевого движения, понимая при этом, что зоны, соответствующие этим открытым или закрытым макроблокам, будут плохо или с искажением реконструированы. Более прогрессивным техническим решением является выдача с использованием синтаксиса, предусмотренного нормой MPEG - 2, который допускает использование изображений типа В /то есть двумерных изображений/ с использованием переднего и заднего векторов движения. В этом случае два эти типа векторов рассчитываются с помощью контура согласования движения 6 на основе данных, поступающих из контура обработки 1, и рассматриваются соответственно в качестве векторов переднего и заднего движения, связанных с обрабатываемым в данном случае макроблоком. В этом случае открытая зона может быть реконструирована с движением вперед /во времени/, тогда как закрытая зона может быть реконструирована с движением назад. Выбор режима кодирования в данном случае также осуществляется контуром выбора режима.
Упомянутая выше норма MPEG по существу позволяет использовать различные типы векторов для данного макроблока, а именно:
-векторы двумерного типа, используемые в том
случае, когда упомянутый контур выбора режима обеспечивает выбор двумерного режима прогнозирования. В этом случае речь идет по существу о двух векторах, связанных с данным макроблоком, а именно, о
векторе в направлении вперед и векторе в направлении назад, которые придают обрабатываемому в данном случае макроблоку свойства макроблока, который представляет собой некоторую усредненную величину из
двух макроблоков, определяемых этими векторами, причем данное усреднение является функцией освещенности соответствующих пикселей и временных отступлений от обрабатываемого в данном случае макроблока.
Эти векторы могут быть теми же векторами, которые были определены выше.
Упомянутый выше контур компенсации движения 7 осуществляет на основе поля векторов движения и предшествующих /а также последующих/ изображений, передаваемых при помощи контура расчета формируемых изображений, расчеты прогнозируемых изображений, то есть изображений, компенсированных по движению, а также разделение этих изображений на макроблоки.
Обрабатываемый в данном случае макроблок, передаваемый контуром разделения 3, поступает на положительный вход вычитающего устройства 4, причем макроблок, соответствующий прогнозируемому изображению и передаваемый контуром компенсации 7, поступает на отрицательный вход вычитающего устройства. Так называемый "остаток" изображения на выходе, представляющий собой макроблок, характеризующий различия, выявленные на уровне каждого пикселя, передается на вход контура выбора режима 5.
Действительно, каждому типу определенного выше вектора движения соответствует прогнозируемое изображение, рассчитанное при помощи контура компенсации. Таким образом, этот контур имеет столько выходов n, сколько существует типов выбранных векторов, и каждый выход данного устройства связан с устройством вычитания 4i, принимающим на другой свой вход текущий блок изображения. Все типы рассчитанных остаточных изображений передаются в контур выбора режима на все его n входов, который принимает также на свой другой вход текущий макроблок непосредственно из блока разделения изображения 3.
Контур выбора
режима 5 определяет, в каком режиме будет кодироваться данный макроблок. Режимы кодирования могут быть, например, такими:
- кодирование с компенсацией движения или без компенсации движения,
то есть с передачей вектора движения или без передачи этого вектора;
- кодирование типа "intra" или "non-intra" /то есть кодирование внутри изображения, внутри кадра того же паритета или
другого паритета, внутреннее прогнозируемое кодирование или двумерное прогнозируемое кодирование и т.д./;
- в случае кодирования типа "non-intra", кодирование остаточного изображения или
отсутствие такого кодирования /в том случае, когда это остаточное изображение является весьма слабым/.
Выбор режима осуществляется контуром выбора режима, который выполняет расчет энергии данного макроблока в каждом режиме и выбирает тот режим, в котором эта энергия является наименьшей. В большинстве случаев расчет энергии аппроксимируется с суммами абсолютных величин.
Затем блок выбора режима подвергается дискретному косинусному преобразованию, квантованию и кодированию типа кодирования с переменной длиной. Пропускная способность или поток информации определяется на выходе устройства для передачи на вход устройства или контура квантования, причем этот контур регулирования воздействует на величину шага квантования посредством блока регулирования пропускной способности, встроенного в контур квантования для его упрощения.
Вектора, связанные с данным обрабатываемым макроблоком, передаются при помощи контура компенсации по движению в контур кодирования с переменной длиной 10, который осуществляет мультиплексирование этих величин вместе с коэффициентами квантования данного макроблока.
Разумеется, рассматривается вариант упрощения этого устройства, например, путем ограничения типа прогнозируемого макроблока, передаваемого в вычитающие устройства. В этом случае выбор режима будет частично осуществляться на предварительном этапе при помощи контура сопряжения в том случае, когда этот контур сопряжения способен выводить из информации, которой он обладает, тот режим, который позволяет обеспечить наилучшую корреляцию.
При этом контур сопряжения передает информацию о режиме на дополнительный вход контура выбора режима 5 для задания этого режима. В этом случае контур выбора режима может представлять собой упрощенный контур.
Другой пример реализации предлагаемого изобретения схематически представлен на фиг.2.
Выход контура обработки 11 связан параллельно с входом контура формируемого изображения 12 и с входом контура сопряжения по движению 13. Двумерная связь соединяет два эти контура. Выход контура расчета формируемого изображения 12 связан с выходом всего устройства через контур дискретного косинусного преобразования 14, контур квантования 15 и контур кодирования с переменной длиной 16, соединенные между собой последовательно. Выход кодирования с переменной длиной, который представляет собой выход данного устройства, поступает также на второй вход контура квантования 15 для формирования контура регулирования.
Выход контура сопряжения по движению 13 связан с вторым входом контура кодирования с переменной длиной 16.
Контур обработки 11 имеет те же самые характеристики и функции, что и контур обработки, описанный выше со ссылками на фиг.1.
Расчет формирования изображения осуществляется при помощи контура 12, который в данном случае отличается от соответствующего контура, описанного выше со ссылками на фиг.1, в том смысле, что это осуществляется для одного изображения из всех N изображений передаваемой в данном случае последовательности.
Изображение, сформированное этим контуром, разделяется затем на макроблоки и блоки изображения. Эта функция также реализуется этим контуром формирования изображения. Блоки изображения последовательно передаются в контур расчета дискретного косинусного преобразования 14, который осуществляет косинусное преобразование этих блоков, в контур квантования 15, который выполняет квантование коэффициентов преобразования, их уравновешивание и соответствующее группирование этих коэффициентов, и, наконец, в контур кодирования с переменной длиной 16, который осуществляет энтропийное кодирование сгруппированных данных. Петля регулирования отбирает поток данных на выходе устройства для запитывания контура регулирования пропускной способности, интегрированного в контур квантования 15, который воздействует на шаг квантования с целью осуществления такого регулирования.
Контур сопряжения движения 13 выполняет расчет полей векторов движения аналогично тому, как это было описано выше для контура сопряжения движения 6, показанного на фиг.1, и передает в контур кодирования с переменной длиной один или несколько векторов движения, связанных с текущим обрабатываемым макроблоком изображения. Этот контур выдает также информацию о режиме, соответствующем этому или этим векторам. Контур кодирования осуществляет мультиплексирование вектора движения, связанного с текущим макроблоком, вместе с режимом кодирования и преобразованными и квантованными данными этого макроблока для передачи этой совокупности на выход данного устройства.
Связь между контуром сопряжения по движению 13 и контуром расчета формирования изображения 12 позволяет обеспечить обмен информацией, касающейся разделения изображения на макроблоки, текущего макроблока, передаваемого в контур DCT, режима кодирования и т.п.
Таким образом, в данном случае процесс формирования изображения, расходующий весьма большое время расчетов, существенно упрощается. Идея состоит в использовании только некоторых синтезированных изображений, и движение между изображениями при этом отсутствует. Рассчитанные таким образом синтезированные изображения разнесены во времени /то есть одно изображение каждые N периодов изображения/ и обычно представляют собой изображения, кодированные по типу "intra" при помощи кодирующего устройства. Так называемые отсутствующие изображения не рассчитываются, не передаются и не запоминаются для хранения. Декодирующее устройство должно создать эти изображения при помощи информации о движении, которая передается в это устройство. Таким образом, все происходит так, как если бы кодирующее устройство имело конфигурацию, в которой изображения ошибки прогнозирования были бы нулевыми /прогнозирование, компенсированное по движению, исключено/.
Режим кодирования, передаваемый контуром 13, представляет собой функцию изображений, обрабатываемых контуром формирования изображений. Поскольку рассчитанные изображения соответствуют кодированию типа "intra", векторы движений для этих изображений не передаются. Промежуточные изображения рассматриваются как изображения, закодированные в режиме "inter" с нулевой ошибкой прогнозирования /коэффициенты остаточного макроблока равны нулю/, причем движение, выражаемое векторами движения, представляет собой реальное рассчитанное движение, а не оцененное движение, и синтезированные изображения предполагаются не сопровождаемыми шумовым оформлением. В декодирующем устройстве эти изображения "inter" воссоздаются на основе изображения "intra" и векторов движения, передаваемых для каждого изображения "inter", как об этом уже было сказано выше.
В этом варианте применения движения макроблока /вектор движения/ может быть неопределенным, погрешности на пограничных блоках не корректируются и освещенность предполагается постоянной между изображениями "intra". Такое устройство используется в тех случаях, когда качество изображения может быть не очень высоким, например, в видеоиграх. Скорость обработки информации, сжатие или уплотнение данных и небольшая стоимость реализации представляют собой характеристики, задаваемые для таких устройств в ущерб качеству изображения.
В первом варианте усовершенствования такого устройства в смысле качества изображения способ кодирования зависит от типа обрабатываемого макроблока. Контур сопряжения ошибки или рассогласования 17, представленный пунктиром на фиг. 2, добавляется в схему данного устройства для реализации этой новой функции.
Этот контур принимает информацию из контура обработки 11 для обмена с контуром расчета формирования изображения 12, причем эта информация касается кодирования текущего макроблока.
Функция этого контура состоит в обнаружении ошибок или погрешностей, которые главным образом имеют место на контурах объекта в движении. При этом предусматривается специфическая обработка для соответствующих макроблоков. В том случае, когда передаваемые макроблоки представляют собой граничные блоки, информация либо рассчитывается контуром расчета погрешностей на основе информации, поступающей из контура обработки 11, либо принимается контуром сопряжения по движению 13 через контур расчета формирования изображения, причем контур сопряжения погрешностей заставляет контур расчета формирования изображения выполнить расчет формирования изображения для этих граничных блоков. При этом задается режим "intra" для данного макроблока и информация передается в контур сопряжения по движению 13. Таким образом, упрощенный расчет формирования изображения осуществляется контуром расчета формирования изображений 12 для изображений, закодированных в режиме "inter", только для этих блоков изображения.
Второй вариант усовершенствования данного устройства состоит во введении в его схему интерфейса освещенности 18, представленного пунктиром на фиг.2.
Этот интерфейс освещенности 18 принимает информацию из контура обработки 11 для обмена с контуром расчета формирования изображения 12, причем эта информация касается кодирования текущего макроблока.
Функция этого контура состоит в том, чтобы преобразовать модель освещенности в изображение погрешности для кодирующего устройства. Переход от информации об объекте к информации, адаптированной к кодированию в соответствии с нормой MPEG, осуществляется, например, рассматривая изменение освещенности от одного изображения к другому как представляющее собой погрешность прогнозирования. Таким образом, интерфейс освещенности 18 передает в контур расчета формирования изображения 12 информацию, связанную с изменением яркости свечения обрабатываемого макроблока от одного изображения к другому. Эта информация передается затем контуром формирования изображения в контур расчета DCT в виде остаточного блока, поскольку она рассматривается как погрешность прогнозирования. Одновременно с этим контур сопряжения по движению 13 передает вектор движения, рассчитанный для этого обрабатываемого макроблока, и соответствующий тип режима кодирования. В декодирующем устройстве восстановленный блок изображения будет представлять собой блок, соответствующий вектору движения, к которому будет добавлен упомянутый остаточный блок.
Третий вариант усовершенствования данного устройства состоит во введении в его схему интерфейса области 19, который позволяет передать информацию об области в устройство или контур квантования 15.
Этот интерфейс области 19 принимает информацию из контура обработки 11 для обмена с контуром расчета формирования изображения 12, причем эта информация касается кодирования текущего блока, и передает информацию об области в контур квантования 15.
Этот интерфейс или контур сопряжения разделяет изображение на области в функции информации о моделировании, поступающей из контура обработки 11. Специальная метка присваивается каждой области или, точнее говоря, каждому блоку изображения, в функции той области, в которой данный блок изображения принадлежит, причем данные, касающиеся разделения данного изображения на блоки, поступают из контура расчета формирования изображения 12. Шаг квантования, рассчитанный контуром квантования 15, модифицируется в функции упомянутой выше метки таким образом, чтобы передать в устройство декодирования информацию об области, которая заключена в величине шага квантования.
Эта модификация может представлять собой функцию характеристик данной области, а именно, уменьшение шага квантования для областей, не являющихся однородными, и/или для областей со слабым движением, и увеличение шага квантования для сильно текстурированных областей или для областей с интенсивным движением. Таким образом, качество декодированного изображения повышается для заданной пропускной способности, принимая во внимание то обстоятельство, что дефекты блоков изображения являются менее заметными для зон с интенсивным движением или для сильно текстурированных зон.
Те же самые технологии, которые используются для векторов движения, могут быть использованы и для случаев неоднозначности принадлежности: блок заявляется принадлежащим к главной области в том случае, если эта область составляет преобладающую часть в данном блоке /мажоритарный режим/ или блок заявляется принадлежащим к главному объекту данного изображения, если этот объект составляет даже часть данного блока /режим главного объекта/.
Этот интерфейс позволяет совершенствовать характеристики и возможные применения кодирующего устройства: субъективное усовершенствование, например, благодаря уменьшению шага квантования для зон, не являющихся единообразными, или для зон с незначительным движением, как об этом уже было сказано выше, применение к двумерному или трехмерному изображению, усовершенствование интерактивности для устройства декодирования благодаря информации об области.
Разумеется, речь идет о примерах реализации и различные варианты могут комбинироваться друг с другом или использоваться отдельно в зависимости от требуемого качества изображения, желаемого применения, требуемой скорости обработки информации и нужной степени ее сжатия или уплотнения.
Таким образом, устройство, схема которого приведена на фиг.2, вполне может интегрировать функции устройства, схема которого приведена на фиг.1, и наоборот. Так, например, блок расчета воспроизведения и разделения на блоки 12 изображения может также осуществлять функции вычитающих устройств 4i для расчета дифференциальных блоков или остаточных блоков изображения на основе информации из блока 13 компенсации по движению, а также функции селектора режима для выдачи блока изображения в контур DCT 14. Количество режимов функционирования, таким образом, увеличивается, разумеется, за счет сложности блоков.
Все описанные выше способы и устройства полностью совместимы с нормами сжатия и уплотнения данных типа MPEG в том, что касается уплотненных данных, передаваемых для декодирования.
Применение данного изобретения представляет собой синтезирование изображений для их производства /виртуальная студия, анимационные картинки, синтезирование видеофильмов, производство спецэффектов различного типа/, для видеоигр, для интерактивных применений или для формирования виртуальной реальности.
Данное изобретение может быть использовано в интегрированных платформах /рабочая станция или игровая консоль/ при заданном уровне простоты, обеспечиваемой благодаря данному изобретению.
Изобретение относится к технике виртуальных изображений. Его использование позволяет получить технический результат в виде оптимизации характеристик по сжатию и качеству изображения для заданного потока данных и эффективного использования информации о движении. Способ сжатия цифровых данных последовательности синтезированных изображений сцены, являющейся объектом сценария, содержит этапы обработки информации для моделирования данной сцены на основе математических данных, формирования изображения для создания синтезированного изображения на основе выполненного моделирования и разделения этого синтезированного изображения на блоки изображения и дифференциального кодирования текущего блока изображения на основе блоков другого синтезированного изображения, причем этот блок определяется на основе одного вектора движения для обеспечения дифференциального блока. Технический результат достигается благодаря тому, что вектор движения рассчитывают на основе математических данных из сценария синтеза изображений, определяющих явное движение различных объектов, образующих сцену, формируемую данной последовательностью. Способ реализуется с помощью соответствующего устройства, содержащего блок 1 обработки цифровой информации, блок 2 для расчета воспроизведения и блок 6 сопряжения по движению, а также контур 3 разделения изображения на блоки, вычитающие устройства 4, контур 5 выбора режима, блок 7 компенсации по движению и цепь 8-10 кодирования. 2 c. и 11 з.п. ф-лы, 2 ил.