Способ и устройство для декодирования/кодирования сигнала видео

Иллюстрации

Показать все

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

Реферат

Область техники

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

Предшествующий уровень техники

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

Раскрытие изобретения

Техническая задача

Задача настоящего изобретения заключается в повышении эффективности кодирования сигнала видео.

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

Задачей настоящего изобретения является кодирование сигнала видео эффективным образом посредством определения информации кадра для идентификации кадра (представления) изображения.

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

Другая задача настоящего изобретения состоит в обеспечении масштабируемости кадра (представления) сигнала видео посредством определения информации уровня кадра.

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

Полезные результаты

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

Краткое описание чертежей

Фиг.1 - схематическая блок-схема устройства для декодирования сигнала видео согласно настоящему изобретению.

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

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

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

Фиг.5 - диаграмма конфигурации NAL-блока, включающего в себя информацию уровня в пределах области расширения NAL-заголовка согласно одному варианту осуществления настоящего изобретения.

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

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

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

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

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

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

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

Фиг.13 - внутренняя блок-схема модуля 643B или 645B изменения назначения ссылочного индекса согласно одному варианту осуществления настоящего изобретения.

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

Фиг.15 - внутренняя блок-схема модуля 630 переупорядочения списка опорных изображений согласно другому варианту осуществления настоящего изобретения.

Фиг.16 - внутренняя блок-схема модуля 970 переупорядочения списка опорных изображений для межкадрового предсказания согласно варианту осуществления настоящего изобретения.

Фиг.17 и фиг.18 - диаграммы синтаксиса для переупорядочения списка опорных изображений согласно одному варианту осуществления настоящего изобретения.

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

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

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

Фиг.22 - диаграмма процесса для получения значения предсказания разности освещения текущего блока, используя информацию для соседнего блока, согласно одному варианту осуществления настоящего изобретения.

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

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

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

Фиг.26 - последовательность операций процесса для синтеза изображения в виртуальном кадре при выполнении межкадрового предсказания в MVC согласно варианту осуществления настоящего изобретения.

Фиг.27 - последовательность операций способа выполнения взвешенного предсказания согласно типу вырезки при кодировании сигнала видео согласно настоящему изобретению.

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

Фиг.29 и фиг.30 - диаграммы синтаксиса для выполнения взвешенного предсказания согласно вновь определенному типу вырезки согласно одному варианту осуществления настоящего изобретения.

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

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

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

Фиг.34 - последовательность операций способа выполнения взвешенного предсказания согласно типу блока NAL (сетевого уровня абстракции) согласно варианту осуществления настоящего изобретения.

Фиг.35 и фиг.36 - диаграммы синтаксиса для выполнения взвешенного предсказания в случае, когда тип NAL-блока предназначен для мультикадрового кодирования видео согласно одному варианту осуществления настоящего изобретения.

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

Фиг.38 - последовательность операций для пояснения способа декодирования сигнала видео в устройстве, показанном на фиг.37 согласно настоящему изобретению.

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

Фиг.40 и фиг.41 - диаграммы синтаксиса, имеющего тип вырезки и режим макроблока, применяемый к нему, согласно настоящему изобретению.

Фиг.42 - диаграмма вариантов осуществления, к которым применяются типы вырезки согласно фиг.41.

Фиг.43 - диаграмма различных вариантов осуществления типа вырезки, включенного в типы вырезки, показанные на фиг.41.

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

фиг.45 - 47 - диаграммы типа макроблока для макроблока, существующего в смешанной вырезке в соответствии с предсказанием двух смешанных предсказаний согласно одному варианту осуществления настоящего изобретения.

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

Фиг.49 - последовательность операций способа кодирования сигнала видео в устройстве, показанном на фиг.48, согласно настоящему изобретению.

Лучший режим выполнения изобретения

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

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

Режим для изобретения

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

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

Если рассмотреть конфигурацию битового потока в H.264/AVC, существует структура отдельного уровня, называемая NAL (сетевой уровень абстракции) между VCL (уровнем кодирования видео), имеющая дело непосредственно с процессом кодирования движущихся изображений и более низкой (низкоуровневой) системой, которая транспортирует и хранит кодированную информацию. Выходной сигнал из процесса кодирования представляют собой VCL-данные и отображаются NAL-блоком до транспортировки или сохранения. Каждый NAL-блок включает в себя сжатые данные видео или RBSP (необработанные полезные данные последовательности байтов: данные результата сжатия движущихся изображений), которые являются данными, соответствующими информации заголовка.

NAL-блок в основном включает в себя NAL-заголовок и RBSP. NAL-заголовок включает в себя информацию флага (nal_ref_idc), указывающую, включена ли вырезка в качестве опорного изображения NAL-блока, и идентификатор (nal_unit_type), указывающий тип NAL-блока. Сжатые первоначальные данные сохранены в RBSP. И хвостовой бит RBSP добавляют к последней части RBSP, чтобы представить длину RBSP в качестве 8-битового умножения. В качестве типа NAL-блока имеется изображение IDR (мгновенное обновление декодирования), SPS (набор параметров последовательности), PPS (набор параметров изображения), SEI (дополнительная информация расширения), или подобное.

При стандартизации устанавливают ограничения для различных профилей и уровней, чтобы разрешить реализацию целевого продукта с подходящей стоимостью. В этом случае декодер должен удовлетворить ограничению, определенному согласно соответствующим профилю и уровню. Таким образом, определены две концепции - 'профиль' и 'уровень', чтобы указать функцию или параметр для представления - насколько декодер может справиться с диапазоном сжатой последовательности. И индикатор (profile_idc) профиля может идентифицировать, что битовый поток основан на предписанном профиле. Индикатор профиля означает флаг, указывающий профиль, на котором основан битовый поток. Например, в H.264/AVC, если индикатор профиля равен 66, это означает, что битовый поток основан на базовом профиле. Если индикатор профиля равен 77, это означает, что битовый поток основан на главном профиле. Если индикатор профиля равен 88, это означает, что битовый поток основан на расширенном профиле. И идентификатор профиля может быть включен в набор параметров последовательности.

Итак, чтобы иметь дело с мультикадровым видео, необходимо идентифицировать, является ли профиль введенного битового потока мультикадровым профилем. Если профиль введенного битового потока является мультикадровым профилем, необходимо добавить синтаксис, чтобы разрешить передачу по меньшей мере одной дополнительной информации для множества кадров. В этом случае мультикадровый профиль указывает режим профиля, обрабатывающий мультикадровое видео в качестве методики внесения поправки в H.264/AVC. В MVC может быть более эффективно добавить синтаксис в качестве дополнительной информации для режима MVC вместо безусловного синтаксиса. Например, когда индикатор профиля для AVC указывает мультикадровый профиль, если информация для мультикадрового видео добавлена, возможно повысить эффективность кодирования.

Набор параметров последовательности указывает информацию заголовка, содержащую информацию, собранную при кодировании полной последовательности, такую как профиль, уровень и т.п. Целиком сжатое движущееся изображение, то есть последовательность, должна начинаться с заголовка последовательности. Так, набор параметров последовательности, соответствующий информации заголовка, должен приходить на декодер прежде, чем прибывают данные, ссылающиеся на набор параметров. А именно, набор RBSP параметров последовательности играет роль информации заголовка для результирующих данных сжатия движущегося изображения. Как только битовый поток введен, индикатор профиля предпочтительно идентифицирует, что введенный битовый поток основан на каком-то одном из множества профилей. Таким образом, добавляя часть для определения, относится ли введенный битовый поток к мультикадровому профилю (например, 'IF (profile_idc == MULTI_VIEW_PROFILE)') к синтаксису, принимается решение, относится ли введенный битовый поток к мультикадровому профилю. Различные виды информации конфигурации могут быть добавлены только если введенный битовый поток определен как относящийся к мультикадровому профилю. Например, возможно добавить ряд полных кадров, ряд мультикадровых опорных изображений (List0/1) в случае группы межкадровых изображений, ряд мультикадровых опорных изображений (List0/1) в случае группы не межкадровых изображений и т.п. И различная информация для кадра используется для генерации и управления списком опорных изображений в буфере декодированных изображений.

Фиг.1 - иллюстрирует схематичную блок-схему устройства для декодирования сигнала видео согласно настоящему изобретению.

Со ссылками на фиг.1 устройство для декодирования сигнала видео согласно настоящему изобретению включает в себя синтаксический анализатор 100 NAL, модуль 200 статистического декодирования, модуль 300 инверсного квантования / обратного преобразования, модуль 400 внутреннего (интра-) предсказания, модуль 500 фильтра устранения блочности, буферный модуль 600 декодированных изображений, модуль 700 внешнего (интер-) предсказания и т.п.

Буферный модуль 600 декодированных изображений включает в себя модуль 610 сохранения опорного изображения, модуль 620 создания списка опорных изображений, модуль 650 управления опорными изображениями и т.п. И модуль 620 создания списка опорных изображений включает в себя модуль 625 получения переменной, модуль 630 инициализации списка опорных изображений и модуль 640 переупорядочения списка опорных изображений.

И, модуль 700 интер-предсказания включает в себя модуль 710 компенсации движения, модуль 720 компенсации освещения, модуль 730 предсказания разности освещения, модуль 740 предсказания синтеза кадра и т.п.

Синтаксический анализатор 100 NAL выполняет синтаксический анализ посредством NAL-блока, чтобы декодировать принятую последовательность видео. Вообще, по меньшей мере один набор параметров последовательности и по меньшей мере один набор параметров изображения передается декодеру прежде, чем декодируются заголовок вырезки (часть массива информации) и данные вырезки. В этом случае различные виды информации конфигурации могут быть включены в область NAL-заголовка или область расширения NAL-заголовка. Так как MVC является методикой поправки для обычной методики AVC, может быть более эффективным добавлять информацию конфигурации только в случае битового потока MVC вместо безусловного добавления. Например, возможно добавить информацию флага для идентификации присутствия или не-присутствия битового потока MVC в области NAL-заголовка или области расширения NAL-заголовка. Только если введенный битовый поток является кодированным битовым потоком мультикадрового видео согласно информации флага, возможно добавить информацию конфигурации для мультикадрового видео. Например, информация конфигурации может включать в себя временную информацию уровня, информацию уровня кадра, идентификационную информацию группы межкадровых изображений, идентификационную информацию кадра и т.п. Это описано подробно ниже со ссылками на фиг.2.

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

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

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

Информации уровня могут быть установлены различными способами согласно конкретному условию. Например, информация уровня может быть установлена по-разному согласно расположению камеры (фотоаппарата) или выравниванию камеры (фотоаппарата). И информация уровня может быть определена, рассматривая зависимость кадра. Например, уровень для кадра, имеющего I-изображение в группе межкадровых изображений, установлен в 0, уровень для кадра, имеющего P-изображение в группе межкадровых изображений, установлен в 1, и уровень для кадра, имеющего B-изображение в группе межкадровых изображений, установлен равным 2. Кроме того, информации уровня могут быть случайно установлены не на основании специального условия. Информация уровня кадра описана подробно со ссылками на фиг.4 и фиг.5 ниже.

Идентификационная информация группы межкадровых изображений указывает информацию для идентификации, является ли кодированное изображение текущего NAL-блока группой межкадровых изображений ((3)). В этом случае группа межкадровых изображений означает кодированное изображение, в котором все вырезки ссылаются только на вырезки с одним и тем же порядковым индексом изображения. Например, группа межкадровых изображений означает кодированное изображение, которое ссылается на вырезки только в отличном кадре без ссылки на вырезки в текущем кадре. В процессе декодирования мультикадровое видео может быть необходим межкадровый произвольный доступ. Идентификационная информация группы межкадровых изображений может быть необходима, чтобы реализовать эффективный произвольный доступ. И межкадровая опорная (ссылочная) информация может быть необходима для межкадрового предсказания. Так, идентификационная информация группы межкадровых изображений может использоваться, чтобы получить межкадровую опорную информацию. Кроме того, идентификационная информация группы межкадровых изображений может использоваться, чтобы добавить опорные изображения для межкадрового предсказания при построении списка опорных изображений. Кроме того, идентификационная информация группы межкадровых изображений может использоваться, чтобы управлять добавленными опорными изображениями для межкадрового предсказания. Например, опорные изображения могут быть классифицированы в группы межкадровых изображений и группы не межкадровых изображений, и классифицированные опорные изображения могут быть затем промаркированы так, что опорные изображения, не используемые для межкадрового предсказания, не должны использоваться. Между тем, идентификационная информация группы межкадровых изображений применима к гипотетическому опорному декодеру. Подробности идентификационной информации группы межкадровых изображений описаны со ссылками на фиг.6 ниже.

Идентификационная информация кадра означает информацию для различения изображения в текущем кадре от изображения в отличном кадре ((4)). При кодировании сигнала видео POC (порядковый индекс изображения) или 'frame_num' может использоваться, чтобы идентифицировать каждое изображение. В случае последовательности мультикадрового видео может быть выполнено межкадровое предсказание. Поэтому необходима идентификационная информация для различения изображения в текущем кадре от изображения в другом кадре. Итак, необходимо определить идентификационную информацию кадра для идентификации кадра изображения. Эта идентификационная информация кадра может быть получена из области заголовка сигнала видео. Например, область заголовка может быть областью NAL-заголовка, областью расширения NAL-заголовка или областью заголовка вырезки. Информацию для изображения в кадре, отличном от таковой текущего изображения, получают, используя идентификационную информацию кадра, и можно декодировать сигнал видео с использованием информации изображения в отличном кадре. Идентификационная информация кадра применима к полному процессу кодирования / декодирования сигнала видео. И идентификационная информация кадра может быть применима к кодированию мультикадрового видео, используя 'frame_num', который рассматривает кадр вместо рассмотрения идентификатора конкретного кадра.

Между тем, модуль 200 статистического декодирования выполняет статистическое декодирование в отношении синтаксически разобранного битового потока, и затем извлекает коэффициент каждого макроблока, вектор движения и т.п. Блок 300 инверсного квантования/обратного преобразования получает значение преобразованного коэффициента посредством умножения принятого квантованного значения на константу и затем обратно преобразовывает значение коэффициента, чтобы восстановить значение пикселей. Используя восстановленное значение пикселей модуль 400 внутреннего (интра-) предсказания выполняет внутреннее (интра-) предсказание из декодированной выборки в пределах текущего изображения. Между тем, модуль 500 фильтра устранения блочности применяется к каждому кодированному макроблоку, чтобы уменьшить блочное искажение. Фильтр сглаживает край блока, чтобы повысить качество изображения декодированного кадра. Выбор процесса фильтрования зависит от уровня границы и градиента выборки изображения вокруг границы. Изображения через фильтрование выдаются или сохраняются в буферном модуле 600 декодированных изображений, чтобы использоваться в качестве опорного изображения.

Буферный модуль 600 декодированных изображений играет роль в сохранении или открытии ранее кодированных изображений, чтобы выполнить внешнее (интер-) предсказание. В этом случае для сохранения изображений в буферном модуле 600 декодированных изображений или для открытия изображений, используется 'frame_num' и POC (порядковый индекс изображения) каждого изображения. Итак, так как существуют изображения в кадре, отличном от такового текущего изображения среди ранее кодированных изображений, информация кадра для идентификации кадра изображения может быть использована для использования вместе с 'frame_num' и POC. Буферный модуль 600 декодированных изображений включает в себя модуль 610 сохранения опорного изображения, модуль 620 создания списка опорных изображений, и модуль 650 управления опорными изображениями. Модуль 610 сохранения опорного изображения хранит изображения, на которые будут ссылаться для кодирования текущего изображения. Модуль 620 создания списка опорных изображений конструирует список опорных изображений для предсказания между изображениями. При кодировании мультикадрового видео может быть необходимо межкадровое предсказание. Так, если текущее изображение ссылается на изображение в другом кадре, может быть необходимо создать список опорных изображений для межкадрового предсказания. В этом случае модуль 620 создания списка опорных изображений может использовать информацию для кадра при генерации списка опорных изображений для межкадрового предсказания. Подробности модуля 620 создания списка опорных изображений описаны ниже со ссылками на фиг.3.

Фиг.3 изображает внутреннюю блок-схему модуля 620 создания списка опорных изображений согласно варианту осуществления настоящего изобретения.

Модуль 620 создания списка опорных изображений включает в себя модуль 625 получения (вывода) переменной, модуль 630 инициализации списка опорных изображений и модуль 640 переупорядочения опорного списка.

Модуль 625 получения переменной получает (выводит) переменные, используемые для инициализации списка опорных изображений. Например, переменная может быть получена, используя 'frame_num', указывающий идентификационный номер изображения. В частности, переменные FrameNum и FrameNumWrap могут быть использованы для каждого краткосрочного опорного изображения. Прежде всего, переменная FrameNum равна значению элемента frame_num синтаксиса. Переменная FrameNumWrap может использоваться для буферного модуля 600 декодированных изображений, чтобы назначить малый номер каждому опорному изображению. И переменная FrameNumWrap может быть получена из переменной FrameNum. Так, возможно получить переменную PicNum, используя полученную переменную FrameNumWrap. В этом случае переменная PicNum может означать идентификационный номер изображения, используемого буферным модулем 600 декодированных изображений. В случае указания долгосрочного опорного изображения может быть использована переменная LongTermPicNum.

Чтобы создать список опорных изображений для межкадрового предсказания, можно получить (вывести) первую переменную (например, ViewNum) для создания списка опорных изображений для межкадрового предсказания. Например, можно получить вторую переменную (например, Viewld), используя 'view_id' для идентификации кадра изображения. Прежде всего, вторая переменная может быть равна значению элемента 'view_id' синтаксиса. И третья переменная (например, ViewIdWrap) может использоваться для буферного модуля 600 декодированных изображений для назначения малого идентификационного номера кадра каждому опорному изображению и может быть получена из второй переменной. В этом случае первая переменная ViewNum может означать идентификационный номер кадра изображения, используемого буферным модулем 600 декодированных изображений. Однако так как количество опорных изображений, используемых для межкадрового предсказания при кодировании мультикадрового видео, может быть относительно меньшим, чем таковое, используемое для временного предсказания, можно не определять другую переменную для указания идентификационного номера кадра долгосрочного опорного изображения.

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

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

И, модуль 640 переупорядочения списка опорных изображений включает в себя модуль 642 проверки типов вырезки, модуль 643 переупорядочения списка 0 опорных изображений, и модуль 645 переупорядочения списка 1 опорных изображений. Если вводится инициализированный список опорных изображений, модуль 642 проверки типов вырезки проверяет тип вырезки, которую нужно декодировать, и затем решает, переупорядочить ли список-0 опорных изображений или список-1 опорных изображений. Так, модуль 643, 645 переупорядочивания списка 0/1 опорных изображений выполняет переупорядочение списка 0 опорных изображений, если тип вырезки не является I-вырезкой, и также выполняет переупорядочение списка 1 опорных изображений дополнительно, если тип вырезки есть B-вырезка. Таким образом, после завершения процесса переупорядочения, создается список опорных изображений.

Модуль 643, 645 переупорядочивания списка 0/1 опорных изображений включает в себя модуль 643A, 645A получения идентификационной информации и модуль 643B, 645B изменения назначения ссылочного индекса, соответственно. Модуль 643A, 645A получения идентификационной информации принимает идентификационную информацию (reordering_of_pic_nums_idc), указывающую способ назначения ссылочного индекса, если переупорядочение списка опорных изображений выполняется согласно информации флага, указывающей, выполнять ли переупорядочение списка опорных изображений. И модуль 643B, 645B изменения назначения ссылочного индекса переупорядочивает список опорных изображений посредством изменения назначения ссылочного индекса согласно идентификационной информации.

И, модуль 640 переупорядочения списка опорных изображений работает другим способом. Например, переупорядочение может быть выполнено посредством проверки типа NAL-блока, переданного до прохождения через модуль 642 проверки типов вырезки, и затем посредством классификации типа NAL-блока в случае MVC NAL и случая не-MVC NAL.

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

Модуль 700 интер-предсказания выполняет внешнее (интер-) предсказание, используя опорные изображения, сохраненные в буферном модуле 600 декодированных изображений. Интер-кодированный макроблок может быть разделен на части макроблока. И каждая из частей макроблока может быть предсказана, исходя из одного или двух опорных изображений. Модуль 700 интер-предсказания включает в себя модуль 710 компенсации движения, модуль 720 компенсации освещения, модуль 730 предсказания разности освещения, модуль 740 предсказания синтеза кадра, модуль 750 взвешенного предсказания и т.п.

Модуль 710 компенсации движения компенсирует движение текущего блока, используя информации, переданные из модуля 200 статистического декодирования. Векторы движения соседних блоков текущего блока извлекаются из сигнала видео, и затем блок предсказания вектора движения текущего блока выводится из векторов движения соседних блоков. И движение текущего блока компенсируют, используя полученный блок предсказания вектора движения и разностный вектор движения, извлеченный из сигнала видео. И возможно выполнить компенсацию движения, используя одно опорное изображение или множество изображений. При кодировании мультикадрового видео в случае, если это текущее изображение ссылается на изображения в отличных кадрах, возможно выполнить компенсация движения, используя информацию списка опорных изображений для межкадрового предсказания, сохраненного в буферном модуле 600 декодированных изображений. И также возможно выполнить компенсацию движения, используя информацию кадра для идентификации кадра опорного изображения. Прямым режимом является режим кодирования для предсказания информации движения текущего блока из информации движения для кодированного блока. Так как этот