УСТРОЙСТВО КОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ, СПОСОБ КОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ И ПРОГРАММА КОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ, А ТАКЖЕ УСТРОЙСТВО ДЕКОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ, СПОСОБ ДЕКОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ И ПРОГРАММА ДЕКОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ Российский патент 2016 года по МПК H04N19/105 H04N19/52 

Описание патента на изобретение RU2594985C2

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

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

ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ

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

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

За счет малого размера и разнообразия размеров блока, используемого для компенсации движения, кодирование движущегося изображения со сжатием, такое как MPEG-4AVC/H.264 (ниже именуемое как AVC), обеспечивает высокую точность предсказания с компенсацией движения. В то же время в результате уменьшения размера блока возникает проблема увеличения размера кода вектора кодирования.

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

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

СПИСОК МАТЕРИАЛОВ, ИСПОЛЬЗОВАННЫХ ПРИ ЭКСПЕРТИЗЕ ЗАЯВКИ

Патентный документ

Патентный документ 1: JP 10-276439

РАСКРЫТИЕ ИЗОБРЕТЕНИЯ

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

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

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

Устройство кодирования движущегося изображения согласно одному варианту осуществления настоящего изобретения является устройством кодирования движущегося изображения, адаптированным к извлечению информации о движении, включающей в себя опорный индекс и вектор движения, в единицах блоков предсказания, включающим в себя: блок (160) извлечения кандидатов на информацию о движении со слиянием в пространстве, выполненный с возможностью извлечения кандидата на информацию о движении со слиянием в пространстве из информации о движении множества кодированных блоков предсказания, смежных с блоком предсказания, являющимся объектом кодирования; блок (161) извлечения кандидатов на информацию о движении со слиянием во времени, выполненный с возможностью извлечения кандидата на информацию о движении со слиянием во времени из информации о движении блока предсказания в кодированном кадре, неидентичном кадру, в котором располагается блок предсказания, являющийся объектом кодирования; блок (162) создания списка кандидатов на информацию о движении со слиянием, выполненный с возможностью генерирования списка кандидатов на информацию о движении со слиянием, являющегося списком кандидатов на информацию о движении со слиянием, с использованием кандидата на информацию о движении со слиянием в пространстве и кандидата на информацию о движении со слиянием во времени; блок (165) добавления кандидатов на информацию о движении со слиянием, выполненный с возможностью генерирования нового кандидата на информацию о движении со слиянием, который в случае, когда указанный опорный индекс указывает на доступный опорный кадр, включает в себя этот опорный индекс, а в случае, когда указанный опорный индекс не указывает на доступный опорный кадр, включает в себя заданный опорный индекс вместе с вектором движения, имеющим предварительно заданные размер и направление, и добавления этого нового кандидата на информацию о движении со слиянием в список кандидатов на информацию о движении со слиянием; блок (141) выбора информации о движении со слиянием, выполненный с возможностью выбора одного кандидата на информацию о движении со слиянием из списка кандидатов на информацию о движении со слиянием с добавленным новым кандидатом на информацию о движении со слиянием и извлечения выбранного кандидата на информацию о движении со слиянием в качестве информации о движении блока предсказания, являющегося объектом кодирования; и блок (104) кодирования, выполненный с возможностью кодирования индекса определения для определения выбранного кандидата на информацию о движении со слиянием.

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

Это устройство является устройством кодирования движущегося изображения, адаптированным к извлечению информации о движении, включающей в себя опорный индекс и вектор движения, в единицах блоков предсказания, включающим в себя: блок (160) извлечения кандидатов на информацию о движении со слиянием в пространстве, выполненный с возможностью извлечения кандидата на информацию о движении со слиянием в пространстве из информации о движении множества кодированных блоков предсказания, смежных с блоком предсказания, являющимся объектом кодирования; блок (161) извлечения кандидатов на информацию о движении со слиянием во времени, выполненный с возможностью извлечения кандидата на информацию о движении со слиянием во времени из информации о движении блока предсказания в кодированном кадре, неидентичном кадру, в котором располагается блок предсказания, являющийся объектом кодирования; блок (162) создания списка кандидатов на информацию о движении со слиянием, выполненный с возможностью генерирования списка кандидатов на информацию о движении со слиянием, являющегося списком кандидатов на информацию о движении, с использованием кандидата на информацию о движении со слиянием в пространстве и кандидата на информацию о движении со слиянием во времени; блок (164) добавления первых кандидатов на информацию о движении со слиянием, выполненный с возможностью комбинирования вектора движения и опорного индекса кандидата на информацию о движении со слиянием для первого предсказания и вектора движения и опорного индекса кандидата на информацию о движении со слиянием для второго предсказания из списка кандидатов на информацию о движении со слиянием, извлечения первого дополнительного кандидата на информацию о движении со слиянием, представляющего неидентичные один другому сигнал предсказания для первого предсказания и сигнал предсказания для второго предсказания, и добавления этого первого дополнительного кандидата на информацию о движении со слиянием в список кандидатов на информацию о движении со слиянием; блок (165) добавления вторых кандидатов на информацию о движении со слиянием, выполненный с возможностью извлечения второго дополнительного кандидата на информацию о движении со слиянием, имеющего вектор движения и опорный индекс, обеспечивающие возможность идентичности сигнала предсказания для первого предсказания и сигнала предсказания второго предсказания одного другому, и добавления этого второго дополнительного кандидата на информацию о движении со слиянием в список кандидатов на информацию о движении со слиянием; блок (141) выбора информации о движении со слиянием, выполненный с возможностью выбора одного кандидата на информацию о движении со слиянием из списка кандидатов на информацию о движении со слиянием с добавленными первым дополнительным кандидатом на информацию о движении со слиянием и вторым дополнительным кандидатом на информацию о движении со слиянием и извлечения этого выбранного кандидата на информацию о движении со слиянием в качестве информации о движении блока предсказания, являющегося объектом кодирования; и блок (104) кодирования, выполненный с возможностью кодирования индекса определения для определения выбранного кандидата на информацию о движении со слиянием.

Другой вариант осуществления настоящего изобретения также относится к устройству кодирования движущегося изображения. Это устройство является устройством кодирования движущегося изображения, выполненным с возможностью разделения кадра на множество блоков предсказания и выполнения компенсации движения, включающим в себя: блок (160) извлечения кандидатов на информацию о движении со слиянием в пространстве, выполненный с возможностью извлечения кандидата на информацию о движении со слиянием в пространстве из информации о движении множества кодированных смежных блоков, смежных с блоком предсказания, являющимся объектом кодирования; блок (161) извлечения кандидатов на информацию о движении со слиянием во времени, выполненный с возможностью извлечения кандидата на информацию о движении со слиянием во времени из информации о движении блока в кодированном кадре, неидентичном кадру, являющемуся объектом кодирования, в котором располагается блок предсказания, являющийся объектом кодирования; блок (162) создания списка кандидатов на информацию о движении со слиянием, выполненный с возможностью генерирования списка кандидатов на информацию о движении со слиянием с использованием кандидата на информацию о движении со слиянием в пространстве и кандидата на информацию о движении со слиянием во времени; блок (165) добавления кандидатов на информацию о движении со слиянием, выполненный с возможностью генерирования кандидата на информацию о движении со слиянием для двунаправленного предсказания с идентичным значением вектора движения для первого предсказания и второго предсказания и фиксированным значением опорного индекса для первого предсказания или второго предсказания и добавления этого кандидата на информацию о движении со слиянием в список кандидатов на информацию о движении со слиянием; блок (141) выбора информации о движении со слиянием, выполненный с возможностью выбора одного кандидата на информацию о движении со слиянием из списка кандидатов на информацию о движении со слиянием и задания выбранного кандидата на информацию о движении со слиянием в качестве информации о движении блока предсказания, являющегося объектом кодирования; и блок (104) кодирования, выполненный с возможностью кодирования информации для определения выбранного кандидата на информацию о движении со слиянием в списке кандидатов на информацию о движении со слиянием.

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

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

Устройство декодирования движущегося изображения согласно одному варианту осуществления настоящего изобретения является устройством декодирования движущегося изображения, адаптированным к извлечению информации о движении, включающей в себя опорный индекс и вектор движения, в единицах блоков предсказания, включающим в себя: блок (201) декодирования, выполненный с возможностью декодирования индекса определения для определения кандидата на информацию о движении со слиянием, используемого для блока предсказания, являющегося объектом декодирования, из битового потока; блок (160) извлечения кандидатов на информацию о движении со слиянием в пространстве, выполненный с возможностью извлечения кандидата на информацию о движении со слиянием в пространстве из информации о движении множества декодированных блоков предсказания, смежных с блоком предсказания, являющимся объектом декодирования; блок (161) извлечения кандидатов на информацию о движении со слиянием во времени, выполненный с возможностью извлечения кандидата на информацию о движении со слиянием во времени из информации о движении блока предсказания в декодированном кадре, неидентичном кадру, в котором располагается блок предсказания, являющийся объектом декодирования; блок (162) создания списка кандидатов на информацию о движении со слиянием, выполненный с возможностью генерирования списка кандидатов на информацию о движении со слиянием, являющегося списком кандидатов на информацию о движении со слиянием, с использованием кандидата на информацию о движении со слиянием в пространстве и кандидата на информацию о движении со слиянием во времени; блок (165) добавления кандидатов на информацию о движении со слиянием, выполненный с возможностью генерирования нового кандидата на информацию о движении со слиянием, который в случае, когда указанный опорный индекс указывает на доступный опорный кадр, включает в себя этот опорный индекс, а в случае, когда указанный опорный индекс не указывает на доступный опорный кадр, включает в себя заданный опорный индекс вместе с вектором движения, имеющим предварительно заданные размер и направление, и добавления этого нового кандидата на информацию о движении со слиянием в список кандидатов на информацию о движении со слиянием; и блок (231) выбора информации о движении со слиянием, выполненный с возможностью выбора одного кандидата на информацию о движении со слиянием из списка кандидатов на информацию о движении со слиянием с добавленным новым кандидатом на информацию о движении со слиянием и извлечения выбранного кандидата на информацию о движении со слиянием в качестве информации о движении блока предсказания, являющегося объектом декодирования, на основе декодированного индекса определения.

Другой вариант осуществления настоящего изобретения также относится к устройству декодирования движущегося изображения. Это устройство является устройством декодирования движущегося изображения, адаптированным к извлечению информации о движении, включающей в себя опорный индекс и вектор движения, в единицах блоков предсказания, включающим в себя: блок (201) декодирования, выполненный с возможностью декодирования индекса определения для определения кандидата на информацию о движении со слиянием, используемого для блока предсказания, являющегося объектом декодирования, из битового потока; блок (160) извлечения кандидатов на информацию о движении со слиянием в пространстве, выполненный с возможностью извлечения кандидата на информацию о движении со слиянием в пространстве из информации о движении множества декодированных блоков предсказания, смежных с блоком предсказания, являющимся объектом декодирования; блок (161) извлечения кандидатов на информацию о движении со слиянием во времени, выполненный с возможностью извлечения кандидата на информацию о движении со слиянием во времени из информации о движении блока предсказания в декодированном кадре, неидентичном кадру, в котором располагается блок предсказания, являющийся объектом декодирования; блок (162) создания списка кандидатов на информацию о движении со слиянием, выполненный с возможностью генерирования списка кандидатов на информацию о движении со слиянием, являющегося списком кандидатов на информацию о движении, с использованием кандидата на информацию о движении со слиянием в пространстве и кандидата на информацию о движении со слиянием во времени; блок (164) добавления первых кандидатов на информацию о движении со слиянием, выполненный с возможностью комбинирования вектора движения и опорного индекса кандидата на информацию о движении со слиянием для первого предсказания и вектора движения и опорного индекса кандидата на информацию о движении со слиянием для второго предсказания из списка кандидатов на информацию о движении со слиянием, извлечения первого дополнительного кандидата на информацию о движении со слиянием, представляющего неидентичные один другому сигнал предсказания для первого предсказания и сигнал предсказания для второго предсказания, и добавления этого первого дополнительного кандидата на информацию о движении со слиянием в список кандидатов на информацию о движении со слиянием; блок (165) добавления вторых кандидатов на информацию о движении со слиянием, выполненный с возможностью извлечения второго дополнительного кандидата на информацию о движении со слиянием, имеющего вектор движения и опорный индекс, обеспечивающие возможность идентичности сигнала предсказания для первого предсказания и сигнала предсказания второго предсказания одного другому, и добавления этого второго дополнительного кандидата на информацию о движении со слиянием в список кандидатов на информацию о движении со слиянием; и блок (231) выбора информации о движении со слиянием, выполненный с возможностью выбора одного кандидата на информацию о движении со слиянием из списка кандидатов на информацию о движении со слиянием с добавленными первым дополнительным кандидатом на информацию о движении со слиянием и вторым дополнительным кандидатом на информацию о движении со слиянием и извлечения этого выбранного кандидата на информацию о движении со слиянием в качестве информации о движении блока предсказания, являющегося объектом декодирования, на основе декодированного индекса определения.

Еще один другой вариант осуществления настоящего изобретения также относится к устройству декодирования движущегося изображения. Это устройство является устройством декодирования движущегося изображения, выполненным с возможностью разделения кадра на множество блоков предсказания и выполнения компенсации движения, включающим в себя: блок (201) декодирования, выполненный с возможностью декодирования индекса для определения кандидата на информацию о движении со слиянием, используемого в блоке предсказания, являющемся объектом декодирования, из битового потока с этим кодированным индексом; блок (160) извлечения кандидатов на информацию о движении со слиянием в пространстве, выполненный с возможностью извлечения кандидата на информацию о движении со слиянием в пространстве из информации о движении множества декодированных смежных блоков, смежных с блоком предсказания, являющимся объектом декодирования; блок (161) извлечения кандидатов на информацию о движении со слиянием во времени, выполненный с возможностью извлечения кандидата на информацию о движении со слиянием во времени из информации о движении блока в декодированном кадре, неидентичном кадру, являющемуся объектом декодирования, в котором располагается блок предсказания, являющийся объектом декодирования; блок (162) создания списка кандидатов на информацию о движении со слиянием, выполненный с возможностью генерирования списка кандидатов на информацию о движении со слиянием с использованием кандидата на информацию о движении со слиянием в пространстве и кандидата на информацию о движении со слиянием во времени; блок (165) добавления кандидатов на информацию о движении со слиянием, выполненный с возможностью генерирования кандидата на информацию о движении со слиянием для двунаправленного предсказания с идентичным значением вектора движения для первого предсказания и второго предсказания и фиксированным значением опорного индекса для первого предсказания или второго предсказания и добавления этого кандидата на информацию о движении со слиянием в список кандидатов на информацию о движении со слиянием; и блок (231) выбора информации о движении со слиянием, выполненный с возможностью выбора одного кандидата на информацию о движении со слиянием из списка кандидатов на информацию о движении со слиянием на основе декодированного индекса и задания выбранного кандидата на информацию о движении со слиянием в качестве информации о движении блока предсказания, являющегося объектом декодирования.

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

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

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

Фиг. 1А и 1В - схематические иллюстрации блоков кодирования;

Фиг. 2A-2D - схематические иллюстрации типов размеров блоков предсказания;

Фиг. 3 - таблица типов размеров блоков предсказания;

Фиг. 4 - таблица режимов кодирования с предсказанием;

Фиг. 5 - таблица соотношений между индексами слияния и битовыми потоками;

Фиг. 6 - схематическая иллюстрация примера синтаксиса блока предсказания;

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

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

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

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

Фиг. 11 - блок-схема, иллюстрирующая конфигурацию блока определения режима слияния, показанного на фиг. 10;

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

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

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

Фиг. 15А и 15В - схематические иллюстрации группы блоков-кандидатов блока предсказания в пространстве;

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

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

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

Фиг. 19 - таблица, иллюстрирующая соотношения между числом проверок комбинации, кандидатом М на информацию о движении со слиянием и кандидатом N на информацию о движении со слиянием;

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

Фиг. 21А и 21В - схематические иллюстрации взаимного расположения целевого кадра и опорных кадров;

Фиг. 22А и 22В - таблицы, иллюстрирующие список опорных кадров;

Фиг. 23А и 23В - таблицы, иллюстрирующие соотношения между опорным индексом второго дополнительного кандидата на информацию о движении со слиянием и РОС согласно первому варианту осуществления;

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

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

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

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

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

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

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

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

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

Фиг. 33 - блок-схема, иллюстрирующая конфигурацию блока воспроизведения информации о движении со слиянием, показанного на фиг. 32;

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

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

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

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

Фиг. 38А и 38В - таблицы, иллюстрирующие соотношения между опорным индексом второго дополнительного кандидата на информацию о движении со слиянием и РОС согласно второму варианту осуществления;

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

Фиг. 40А и 40В - таблицы, иллюстрирующие соотношения между опорным индексом второго дополнительного кандидата на информацию о движении со слиянием и РОС согласно третьему варианту осуществления.

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

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

В 2003 г. в результате совместной работы Объединенного технического комитета (ISO/IEC) Международной организации по стандартизации (ISO) и Международной электротехнической комиссии (IEC) с Сектором стандартизации телекоммуникаций Международного союза электросвязи (ITU-T) в качестве глобального стандарта была принята система кодирования под названием AVC (которой со стороны ISO/IEC было присвоено название стандарта номер 14496-10, а со стороны ITU-I - стандарта номер Н.264). В AVC среднее значение соответствующих векторов движения множества смежных блоков целевого блока в основном задается равным предсказываемому вектору. Если блок предсказания не имеет форму квадрата, то в случае идентичности опорного индекса определенного смежного блока целевого блока и опорного индекса целевого блока вектор движения определенного смежного блока задается равным предсказываемому вектору.

В настоящее время в результате совместной работы Объединенного технического комитета (ISO/IEC) Международной организации по стандартизации (ISO) и Международной электротехнической комиссии (IEC) с Сектором стандартизации телекоммуникаций Международного союза электросвязи (ITU-T) рассматривается стандартизация системы кодирования под названием HEVC.

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

Первый вариант осуществления

Блок кодирования

В рассматриваемом варианте осуществления поступающий на вход сигнал изображения делится на единицы максимальных блоков кодирования, и разделенные максимальные блоки кодирования подвергаются обработке в растровом порядке сканирования. Блок кодирования имеет иерархическую структуру, и в результате последовательного разделения блока кодирования на четыре блока с учетом эффективности кодирования и т.п. могут быть получены блоки кодирования меньшего размера. Разделенные на четыре блока блоки кодирования кодируются в зигзагообразном порядке сканирования. Блоки кодирования, дальнейшее уменьшение размеров которых не представляется возможным, именуются минимальными блоками кодирования. Блоки кодирования являются единицами кодирования, и максимальный блок кодирования в случае, когда число событий разделения составляет 0, также является блоком кодирования. В рассматриваемом варианте осуществления максимальный блок кодирования имеет размер 64 пиксела × 64 пиксела, а минимальный блок кодирования - размер 8 пикселов × 8 пикселов.

На фиг. 1А и 1В представлены схематические иллюстрации блоков кодирования. В примере, иллюстрируемом на фиг. 1А, блок кодирования разделен на десять блоков. CU0, CU1 и CU9 являются блоками кодирования размером 32 пиксела × 32 пиксела, CU2, CU3 и CU8 - блоками кодирования размером 16 пикселов × 16 пикселов, a CU4, CU5, CU6 и CU7 - блоками кодирования размером 8 пикселов × 8 пикселов. В примере, иллюстрируемом на фиг. 1В, блок кодирования разделен на один блок.

Блок предсказания

В рассматриваемом варианте осуществления блок кодирования дополнительно разделяется на блоки предсказания (также именуемые как разделы). Блок кодирования разделяется не менее чем на один блок предсказания в зависимости от типа размера блока предсказания (также именуемого как "тип разделения" или тип раздела). На фиг. 2A-2D представлены схематические иллюстрации типов размеров блоков предсказания. Фиг. 2А является иллюстрацией блока 2N×2N-типа, при котором блок кодирования не разделяется. Фиг. 2В является иллюстрацией блока 2N×N-типа, при котором блок кодирования разделяется на два блока в горизонтальном направлении. Фиг. 2С является иллюстрацией блока N×2N-типа, при котором блок кодирования разделяется на два блока в вертикальном направлении. Фиг. 2D является иллюстрацией блока N×N-типа, при котором блок кодирования разделяется на четыре блока в горизонтальном и вертикальном направлениях. Блок 2N×2N-типа состоит из единственного блока 0 предсказания. Как блок 2N×N-типа, так и блок N×2N-типа состоит из двух блоков предсказания: блок 0 предсказания и блок 1 предсказания. Блок N×N-типа состоит из четырех блоков предсказания: блок 0 предсказания, блок 1 предсказания, блок 2 предсказания и блок 3 предсказания. При этом кодирование выполняется в указанном порядке: блок 0 предсказания, блок 1 предсказания, блок 2 предсказания и блок 3 предсказания.

На фиг. 3 представлена таблица размеров блока предсказания в зависимости от числа событий разделения блока кодирования и типов размеров блоков предсказания. Для размеров блока предсказания в рассматриваемом варианте осуществления существует 13 размеров блоков предсказания: от блока размером 64 пиксела × 64 пиксела, у которого число событий разделения на CU блоков составляет 0 и который имеет 2N×2N-тип размера блока предсказания, до блока размером 4 пиксела × 4 пиксела, у которого число событий разделения на CU блоков составляет 3 и который имеет N×N-тип блока предсказания. Например, возможно также асимметричное разделение блока кодирования на два блока в горизонтальном или вертикальном направлении.

В рассматриваемом варианте осуществления максимальный блок кодирования является блоком размером 64 пиксела × 64 пиксела, а минимальный блок кодирования - блок размером 8 пикселов × 8 пикселов. Однако максимальный блок кодирования и минимальный блок кодирования не ограничиваются только этой комбинацией. Кроме того, шаблоны разделения блока предсказания не ограничиваются только шаблонами разделения, представленными на фиг. 2A-2D, при условии, что эти шаблоны разделения являются комбинацией шаблонов с разделением блока предсказания на не менее чем один блок.

Кадры и слайсы

Кадры и слайсы являются общими понятиями, используемыми в AVC и т.п., поэтому их описание не приводится. Кроме того, так как I-кадры, Р-кадры, В-кадры, I-слайсы, Р-слайсы и В-слайсы также являются общими понятиями, то и их описание не приводится. Ниже понятия "изображение" и "кадр" используются как взаимозаменяемые.

Режим кодирования с предсказанием

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

Режимы кодирования с предсказанием, показанные на фиг. 4, включают в себя PredL0, в котором направление предсказания при предсказании с компенсацией движения является однонаправленным предсказанием (L0-предсказанием), а число векторов кодирования составляет 1, PredL1, в котором направление предсказания при предсказании с компенсацией движения является однонаправленным предсказанием (L1-предсказанием), а число векторов кодирования составляет также 1, PredBI, в котором направление предсказания при предсказании с компенсацией движения является двунаправленным предсказанием (BI-предсказанием), а число векторов кодирования составляет 2, и режим слияния (MERGE), в котором направление предсказания при предсказании с компенсацией движения является однонаправленным предсказанием (L0-предсказанием/L1-предсказанием) или двунаправленным предсказанием (BI-предсказанием), а число векторов кодирования составляет 0. Существует также внутрикадровый режим (Intra), являющийся режимом кодирования с предсказанием, в котором предсказание с компенсацией движения не выполняется. В этих режимах PredL0, PredL1 и PredBI являются режимами с предсказываемым вектором.

В режиме слияния направление предсказания может представлять собой любое из предсказаний - L0-предсказание, L1-предсказание или BI-предсказание. Это объясняется тем, что в режиме слияния передача направления предсказания блока-кандидата, выбранного из группы блоков-кандидатов, осуществляется без какого-либо изменения, или направление предсказания в режиме слияния извлекается из декодированной информации. Кроме того, в режиме слияния вектор кодирования не подвергается кодированию. Это объясняется тем, что передача вектора движения блока-кандидата, выбранного из группы блоков-кандидатов, осуществляется без какого-либо изменения, или вектор кодирования в режиме слияния извлекается по заданному правилу.

Опорный индекс

Для повышения точности предсказания с компенсацией движения рассматриваемый вариант осуществления допускает возможность выбора оптимального опорного изображения из множества опорных изображений при предсказании с компенсацией движения. Поэтому опорное изображение, используемое при предсказании с компенсацией движения, подвергается кодированию в качестве индекса опорного изображения вместе с вектором кодирования. Численное значение индекса опорного изображения, используемого при предсказании с компенсацией движения, составляет не менее чем 0. Типы опорных индексов включают в себя опорный индекс L0 (также именуемый как опорный индекс для L0-предсказания) и опорный индекс L1 (также именуемый как опорный индекс для L1-предсказания). Если предсказание с компенсацией движения представляет собой однонаправленное предсказание, то в качестве опорного индекса используется один опорный индекс - опорный индекс L0 или опорный индекс L1. Если же предсказание с компенсацией движения представляет собой двунаправленное предсказание, то используются два опорных индекса - опорный индекс L0 и опорный индекс L1 (фиг. 4). В качестве битового потока опорного индекса используется усеченный унарный битовый поток, описание которого приводится ниже.

В режиме слияния опорный индекс не подвергается кодированию. Это объясняется тем, что передача опорного индекса блока-кандидата, выбранного из группы блоков-кандидатов, осуществляется без какого-либо изменения, или опорный индекс в режиме слияния извлекается по заданному правилу.

Список опорных кадров

В рассматриваемом варианте осуществления не менее чем одно опорное изображение, которое может быть использовано при предсказании с компенсацией движения, добавляется в список опорных кадров предварительно, и указание на опорное изображение, добавленное в список опорных кадров, с помощью опорного индекса позволяет определять и использовать опорное изображение при предсказании с компенсацией движения. Типы списков опорных кадров включают в себя список L0 опорных кадров (также именуемый как список опорных кадров для L0-предсказания) и список L1 опорных кадров (также именуемый как список опорных кадров для L1-предсказания). Если предсказание с компенсацией движения представляет собой однонаправленное предсказание, то используется или L0-предсказание, при котором используется опорное изображение из списка L0 опорных кадров, или L1-предсказание, при котором используется опорное изображение из списка L1 опорных кадров. Если предсказание с компенсацией движения представляет собой двунаправленное предсказание, то используется BI-предсказание, при котором используется как список L0 опорных кадров, так и список L1 опорных кадров. При этом опорный индекс L0 указывает на опорное изображение в списке L0 опорных кадров, а опорный индекс L1 указывает на опорное изображение в списке L1 опорных кадров.

Индекс слияния

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

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

Рассмотрим далее соотношения между индексами слияния и битовыми потоками. На фиг. 5 представлена таблица соотношений между индексами слияния и битовыми потоками в случае, когда максимальное число кандидатов на слияние составляет 5. В качестве битового потока индекса слияния используется усеченный унарный битовый поток. Если индекс слияния равен 0, то битовый поток представляет собой "0". Если индекс слияния равен 1, то битовый поток представляет собой "10". Если индекс слияния равен 2, то битовый поток представляет собой "110". Если индекс слияния равен 3, то битовый поток представляет собой "1110". Если индекс слияния равен 4, то битовый поток представляет собой "1111". Таким образом, при уменьшении индексов слияния битовые потоки становятся более короткими. Поэтому в результате назначения небольшого индекса слияния блоку-кандидату с высокой избирательностью обеспечивается возможность повышения эффективности кодирования.

В случае, когда максимальное число кандидатов на слияние составляет 4, если индекс слияния равен 0, то битовый поток представляет собой "0", если индекс слияния равен 1, то битовый поток представляет собой "10", если индекс слияния равен 2, то битовый поток представляет собой "110", а если индекс слияния равен 3, то битовый поток представляет собой "111". В случае, когда максимальное число кандидатов на слияние составляет 3, если индекс слияния равен 0, то битовый поток представляет собой "0", если индекс слияния равен 1, то битовый поток представляет собой "10", а если индекс слияния равен 2, то битовый поток представляет собой "11". В случае, когда максимальное число кандидатов на слияние составляет 2, если индекс слияния равен 0, то битовый поток представляет собой "0", а если индекс слияния равен 1, то битовый поток представляет собой "1". При максимальном числе кандидатов на слияние, составляющем 1, индекс слияния, равный 0, в битовом потоке кодированию не подвергается, а при декодировании подвергается неявной обработке как 0.

Рассмотрим далее соотношения между списком кандидатов на информацию о движении со слиянием и индексами слияния. Индекс слияния, равный 0, указывает на самого первого (0-го) кандидата на информацию о движении со слиянием в списке кандидатов на информацию о движении со слиянием. Ниже индекс слияния, равный т, указывает на m-го кандидата на информацию о движении со слиянием в списке кандидатов на информацию о движении со слиянием, где m является целым числом в диапазоне от 0 до [(максимальное число кандидатов на слияние) - 1].

Индекс предсказываемого вектора

В рассматриваемом варианте осуществления для повышения точности вектора предсказания из группы блоков-кандидатов, состоящей из множества смежных блоков в целевом изображении и блоков в и вокруг блока предсказания, положение которого совпадает с положением целевого блока предсказания в другом кодированном изображении, выбирается блок-кандидат, имеющий оптимальный вектор движения в качестве предсказываемого вектора, и осуществляется кодирование и декодирование индекса предсказываемого вектора для указания на выбранного блока-кандидата. Если предсказание с компенсацией движения представляет собой однонаправленное предсказание, то используется один индекс предсказываемого вектора. Если предсказание с компенсацией движения представляет собой двунаправленное предсказание, то используются два индекса предсказываемого вектора (фиг. 4). Максимальное число индексов предсказываемого вектора (также именуемое как максимальное число кандидатов на предсказываемый вектор) составляет 2, а сам индекс предсказываемого вектора является целым числом в диапазоне от 0 или 1. В этом случае максимальное число индексов максимальное число индексов предсказываемого вектора составляет 2. Однако при условии, что максимальное число индексов предсказываемого вектора составляет не менее 2, максимальное число индексов предсказываемого вектора не ограничивается только этим числом. Рассмотрим далее соотношения между индексами предсказываемого вектора и битовыми потоками. В качестве битового потока индекса предсказываемого вектора используется усеченный унарный битовый поток. В случае, когда индекс предсказываемого вектора равен 0, битовый поток индекса предсказываемого вектора представляет собой "0", а в случае, когда индекс предсказываемого вектора равен 1, битовый поток индекса предсказываемого вектора представляет собой "1".

Ниже вектор движения блока-кандидата, указываемого индексом предсказываемого вектора, именуется кандидатом на предсказываемый вектор, а набор кандидатов на предсказываемый вектор именуется списком кандидатов на предсказываемый вектор. Индекс предсказываемого вектора, равный 0, указывает на самого первого (0-го) кандидата на предсказываемый вектор в списке кандидатов на предсказываемый вектор. Ниже индекс предсказываемого вектора, равный m, указывает на m-го кандидата на предсказываемый вектор в списке кандидатов на предсказываемый вектор, где m является целым числом в диапазоне от 0 до [(максимальное число кандидатов на предсказываемый вектор) - 1].

РОС

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

Синтаксис

Рассмотрим пример синтаксиса блока предсказания согласно рассматриваемому варианту осуществления. На фиг. 6 представлена схематическая иллюстрация синтаксиса согласно рассматриваемому варианту осуществления. Фиг. 6 иллюстрирует пример структуры синтаксиса, состоящей из PPS (Picture Parameter Set - набор параметров кадра), заголовка слайса (Slice Header), дерева кодирования (Coding Tree), блока кодирования (Coding Unit) и блока предсказания (Prediction Unit).

PPS является набором параметров, определяющим группу параметров для определения свойств кадра. В PPS задаются заданное максимальное значение опорного индекса для L0-предсказания (num_ref_idx_10_default_active_minusl), заданное максимальное значение опорного индекса для L1-предсказания (numref_idx_11_default_active_minusl) и флаг разрешения использования кандидата во времени (enable_temporal_mvp_flag), которые могут быть использованы в этом кадре.

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

Заголовок слайса является заголовком, определяющим группу параметров для определения свойств слайса. В заголовке слайса задаются флаг (num_ref_idx_active_override_flag) для изменения максимального значения опорного индекса, которое может быть использовано в слайсе в случае Р-слайса или В-слайса максимальное значение опорного индекса для L0-предсказания (num_ref_idx_10_active_minusl) и максимальное значение опорного индекса для L1-предсказания (num_ref_idx_11_active_minusl).

Если флаг для изменения максимального значения опорного индекса равен 1, то в заголовке задается максимальное значение опорного индекса для L0-предсказания (num_ref_idx_10_active_minusl), которое может быть использовано в слайсе, а в случае В-слайса в заголовке дополнительно задается и используется максимальное значение опорного индекса для L1-предсказания (num_ref_idx_11_active_minusl).

Если флаг для изменения максимального значения опорного индекса равен 0, то в качестве максимального значения опорного индекса для L0-предсказания, которое может быть использовано в слайсе, используется заданное максимальное значение опорного индекса для L0-предсказания, заданное в PPS, а заданное максимальное значение опорного индекса для L1-предсказания, заданное в PPS, применяется в качестве максимального значения опорного индекса для L1-предсказания, которое может быть использовано в слайсе.

В случае Р-слайса или В-слайса задается 5_minus_max_num_merge_cands, являющийся параметром для определения максимального числа кандидатов на слияние. 5_minus_max_num_merge_cands является параметром для определения максимального числа кандидатов на слияние и представляет собой целое число в диапазоне от 0 до 4. Максимальное число кандидатов на слияние (MaxNumMergeCand), вычисляется путем вычитания 5_minus_max_num_merge_cands из 5. Предполагается, что для битового потока параметра 5_minus_max_num_merge_cands используется усеченный унарный битовый поток. В рассматриваемом варианте осуществления параметр 5_minus_max_num_merge_cands равен 0, а что максимальное число кандидатов на слияние составляет 5. В дереве кодирования осуществляется управление информацией о разделении блока кодирования. В дереве кодирования задается split_coding_unit_flag. Если split_coding_unit_flag равен 1, то дерево кодирования разделяется на четыре дерева кодирования. Если split_coding_unit_flag равен 0, то дерево кодирования представляет собой блок кодирования.

В блоке кодирования задаются флаг режима пропуска (skip_flag), режим предсказания (pret_mode) и тип размера блока предсказания (part_mode). В соответствии с флагом режима пропуска и типом размера блока предсказания блок кодирования разделяется на один, два или четыре блока предсказания.

Режим предсказания указывает на блок кодирования, на котором выполняется внутрикадровое предсказание, или на блок кодирования, на котором выполняется межкадровое предсказание (предсказание с компенсацией движения). Если флаг режима пропуска равен 1, то реализуется режим пропуска, имеющий один блок предсказания. Число событий разделения блока кодирования также именуется как глубина блока кодирования (дерева кодирования).

В блоке предсказания задаются флаг слияния (merge_flag), индекс слияния (merge_idx), тип межкадрового предсказания (inter_pred_type), опорный индекс для L0-предсказания (ref_idx_10), разность векторов для L0-предсказания (mvd_10 [0], mvd_10 [1]), индекс предсказываемого вектора для L0-предсказания (mvp_idx_10), опорный индекс для L1-предсказания (ref_idx_11), разность векторов для L1-предсказания (mvd_11 [0], mvd_11 [1]) и индекс предсказываемого вектора для L1-предсказания (mvp_idx_11). В разности векторов [0] представляет горизонтальный компонент, а [1] представляет вертикальный компонент.

В этом случае inter_pred_type указывает на направление предсказания при предсказании с компенсацией движения (также именуемое как тип межкадрового предсказания) и включает в себя три типа: PredL0 (однонаправленное предсказание при L0-предсказании); Pred_L1 (однонаправленное предсказание при L1-предсказании); и Pred_BI (двунаправленное предсказание при BI-предсказании). В случае inter_pred_type - Pred_L0 или Pred_BI задается информация, связанная с L0-предсказанием. В случае inter_pred_type - Pred_L1 или Pred_BI задается информация, связанная с L1-предсказанием. В Р-кадре (в Р-слайсе) inter_pred_type однозначно представляет Pred_L0. Поэтому inter_pred_type не приводится.

В случае режима пропуска блок предсказания является блоком кодирования, на котором выполняется межкадровое предсказание, а режим слияния, используется в качестве режима кодирования с предсказанием. Поэтому в случае режима пропуска задается индекс слияния.

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

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

Конфигурация устройства 100 кодирования движущегося изображения

На фиг. 7 представлена конфигурация устройства 100 кодирования движущегося изображения согласно первому варианту осуществления. Устройство 100 кодирования движущегося изображения является устройством, которое кодирует сигнал движущегося изображения в единицах блоков предсказания для выполнения предсказания с компенсацией движения. Операции определения типа слайса, определения максимального значения опорного индекса, который может быть использован в слайсе, разделения блока кодирования, определения режима пропуска, определения типа размера блока предсказания, определения размера блока предсказания и положения блока предсказания в блоке кодирования (которое также именуется как информация о положении или номер блока предсказания), и определения режима кодирования с предсказанием как внутрикадрового или невнутрикадрового осуществляются блоком 112 управления кодированием, который не входит в состав устройства 100 кодирования движущегося изображения, а результаты выполнения этих операций в устройство 100 кодирования движущегося изображения. Список опорных кадров создается блоком 113 создания списка опорных кадров, который не входит в состав устройства 100 кодирования движущегося изображения, и подается в устройство 100 кодирования движущегося изображения. Рассмотрим случай, в котором режим кодирования с предсказанием является невнутрикадровым. Кроме случаев, оговоренных особо, рассмотрим в первом варианте осуществления В-кадр (В-слайс), который соответствует двунаправленному предсказанию. Для Р-кадра (Р-слайса), который не соответствует двунаправленному предсказанию, L1-предсказание можно не рассматривать.

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

Устройство 100 кодирования движущегося изображения согласно первому варианту осуществления включает в себя блок 101 получения изображения блока предсказания, блок 102 вычитания, блок 103 кодирования ошибки предсказания, блок 104 генерирования битового потока, блок 105 декодирования ошибки предсказания, блок 106 компенсации движения, блок 107 суммирования, блок 108 обнаружения вектора движения, блок 109 генерирования информации о движении, память 110 кадров и память 111 для информации о движении.

Функции устройства 100 кодирования движущегося изображения в процессе работы

Рассмотрим ниже функции каждого компонента в процессе работы. Блок 101 получения изображения блока предсказания получает сигнал изображения целевого блока предсказания из сигнала изображения, подаваемого с контакта 10, на основе информации о положении и размера блока предсказания и подает сигнал изображения блока предсказания в блок 102 вычитания, в блок 108 обнаружения вектора движения и в блок 109 генерирования информации о движении.

Блок 108 обнаружения вектора движения обнаруживает векторы движения и опорные индексы, указывающие на опорные изображения для L0-предсказания и L1-предсказания, в сигнале изображения, подаваемом блоком 101 получения изображения блока предсказания, и в сигналах изображения, соответствующих множеству опорных изображений, хранимых в самом блоке 108. При этом блок 108 обнаружения вектора движения подает векторы движения для L0-предсказания и L1-предсказания и опорные индексы для L0-предсказания и L1-предсказания в блок 109 генерирования информации о движении. В этом случае, несмотря на то, что, как было указано, блок 108 обнаружения вектора движения использует сигналы изображения, соответствующие множеству опорных изображений, хранимых в самом блоке 108 в качестве опорных изображений, блок 108 обнаружения вектора движения может также использовать и опорные изображения, хранимые в памяти 110 кадров.

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

Блок 109 генерирования информации о движении определяет способ кодирования с предсказанием на основе соответствующих векторов движения для L0-предсказания и L1-предсказания и соответствующих опорных индексов для L0-предсказания и L1-предсказания, подаваемых из блока 108 обнаружения вектора движения, группы блоков-кандидатов, подаваемых с помощью памяти 111 для информации о движении, опорных изображений, хранимых в памяти 110 кадров, обозначаемых соответствующими опорными индексами, и сигнала изображения, подаваемого из блока 101 получения изображения блока предсказания.

На основе способа кодирования с предсказанием, который был определен, блок 109 генерирования информации о движении подает в соответствии с необходимостью флаг слияния, индекс слияния, направление предсказания для предсказания с компенсацией движения, опорные индексы для L0-предсказания и L1-предсказания, разности векторов для L0-предсказания и L1-предсказания и индексы предсказываемых векторов для L0-предсказания и L1-предсказания в блок 104 генерирования битового потока. При этом блок 109 генерирования информации о движении подает направление предсказания для предсказания с компенсацией движения, опорные индексы для L0-предсказания и L1-предсказания и векторы движения для L0-предсказания и L1-предсказания в блок 106 компенсации движения и память 111 для информации о движении. Детальную конфигурацию блока 109 генерирования информации о движении рассмотрим ниже.

Если направление предсказания при предсказании с компенсацией движения, подаваемое блоком 109 генерирования информации о движении, является LN-предсказанием, то блок 106 компенсации движения выполняет компенсацию движения на опорном изображении в памяти 110 кадров, обозначаемым опорным индексом для LN-предсказания, подаваемым из блока 109 генерирования информации о движении, на основе вектора движения для LN-предсказания, подаваемого из блока 109 генерирования информации о движении, и генерирует сигнал предсказания для LN-предсказания, где N=0 или 1. Если же направление предсказания при предсказании с компенсацией движения является двунаправленным предсказанием, то в качестве сигнала предсказания задается среднее значение сигналов предсказания для L0-предсказания и L1-предсказания. При этом возможно и взвешивание сигналов предсказания для L0-предсказания и L1-предсказания. Блок 106 компенсации движения подает эти сигналы предсказание в блок 102 вычитания.

В результате вычитания сигнала изображения, подаваемого блоком 101 получения изображения блока предсказания, и сигналов предсказания, подаваемых блоком 106 компенсации движения, блок 102 вычитания вычисляет сигнал ошибки предсказания, и подает этот сигнал ошибки предсказания в блок 103 кодирования ошибки предсказания.

В результате выполнения процесса обработки, такого как ортогональное преобразование, квантование или т.п. на сигнале ошибки предсказания, подаваемом из блока 102 вычитания, блок 103 кодирования ошибки предсказания генерирует данные кодирования ошибки предсказания и подает эти данные кодирования ошибки предсказания в блок 104 генерирования битового потока и блок 105 декодирования ошибки предсказания.

Блок 104 генерирования битового потока подвергает данные кодирования ошибки предсказания, подаваемые блоком 103 кодирования ошибки предсказания, а также флаг слияния, индекс слияния, направление предсказания (тип межкадрового предсказания) при предсказании с компенсацией движения, опорные индексы для L0-предсказания и L1-предсказания, разности векторов для L0-предсказания и L1-предсказания и индексы предсказываемого вектора для L0-предсказания и L1-предсказания, подаваемые блоком 109 генерирования информации о движении, энтропийному кодированию в соответствии правилами синтаксиса, показанного на фиг. 6, в результате которого генерируется битовый поток, и подает этот битовый поток в контакт 11 в качестве битового потока. При этом энтропийное кодирование выполняется по способу, включающему в себя кодирование с переменной длиной слова, такое как арифметическое кодирование, кодирование Хаффмана или т.п.

Блок 104 генерирования битового потока мультиплексирует информацию о разделении для блока кодирования, тип размера блока предсказания, положение блока предсказания в блоке кодирования и режим кодирования с предсказанием, используемые в устройстве 100 кодирования движущегося изображения, в битовом потоке вместе с SPS (набором параметров последовательности), определяющим группу параметров для определения свойств битового потока, PPS (набором параметров кадра), определяющим группу параметров для определения свойств кадра, заголовком слайса, определяющим группу параметров для определения свойств слайса, и т.п.

В результате выполнения процесса обработки, такого как обратное квантование, обратное ортогональное преобразование или т.п., на данных кодирования ошибки предсказания, подаваемых блоком 103 кодирования ошибки предсказания, блок 105 декодирования ошибки предсказания генерирует сигнал ошибки предсказания и подает этот сигнал ошибки предсказания в блок 107 суммирования. Блок 107 суммирования осуществляет суммирование сигнала ошибки предсказания, подаваемого из блока 105 декодирования ошибки предсказания, и сигналов предсказания, подаваемых из блока 106 компенсации движения, в результате которого генерируется сигнал декодированного изображения, и подает этот сигнал декодированного изображения в память 110 кадров.

Память кадров 110 хранит сигнал декодированного изображения, подаваемый блоком 107 суммирования. Для декодированного изображения с завершенным декодированием всего изображения в качестве опорного изображения память 110 кадров хранит заданное число изображений, составляющее не менее чем одно изображение, вместе с РОС этого опорного изображения. Память 110 кадров подает хранимый сигнал опорного изображения в блок 106 компенсации движения и блок 109 генерирования информации о движении. Управление участком хранения, который хранит опорные изображения, осуществляется по методу FIFO (первым пришел - первым обслужен). В этом случае РОС опорного изображения хранится в памяти 110 кадров. Однако при условии возможности уникальной идентификации опорного изображения и РОС хранение РОС опорного изображения не ограничивается только этой памятью. Кроме того, РОС не показан на фигурах в качестве совместно используемого устройством 100 кодирования движущегося изображения, блоком 112 управления кодированием и блоком 113 создания списка опорных кадров.

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

Кроме того, память 111 для информации о движении задает информацию о движении для блока в блоке предсказания, положение которого совпадает с положением целевого блока предсказания, на ColPic и блока вокруг блока предсказания, положение которого совпадает с положением целевого блока предсказания, в качестве группы блоков-кандидатов во времени. Группу блоков кандидатов в пространстве и группу блоков-кандидатов во времени память 111 для информации о движении подает в блок 109 генерирования информации о движении в качестве группы блоков-кандидатов. Управление памятью 111 для информации о движении, которая синхронизирована с памятью 110 кадров, осуществляется также по методу FIFO (первым пришел - первым обслужен).

ColPic является декодированным изображением, неидентичным изображению с целевым блоком предсказания и хранимым в памяти 110 кадров в качестве опорного изображения. В первом варианте осуществления ColPic является опорным изображением, декодированным непосредственно перед целевым изображением. При этом, несмотря на то, что в первом варианте осуществления ColPic является опорным изображением, декодированным непосредственно перед целевым изображением, при условии, что ColPic является декодированным изображением, ColPic может быть, например, и опорным изображением, следующим непосредственно перед или непосредственно после целевого изображения в порядке отображения, или 0-ым опорным изображением в списке опорных кадров для L0-предсказания или L1-предсказания и может присутствовать и в битовом потоке.

Рассмотрим далее способ управления информацией о движении в памяти 111 для информации о движении. Информация о движении хранится в единицах минимальных блоков предсказания в каждой области памяти. Каждая область памяти хранит, по меньшей мере, направление предсказания, вектор движения для L0-предсказания, опорный индекс для L0-предсказания, вектор движения для L1-предсказания и опорный индекс для L1-предсказания.

В случае, когда режим кодирования с предсказанием представляет собой внутрикадровый режим, в качестве векторов движения для L0-предсказания и L1-предсказания хранится (0,0), а в качестве опорных индексов для L0-предсказания и L1-предсказания хранится В дальнейшем в (Н, V) вектора движения Н представляет горизонтальный компонент, а V представляет вертикальный компонент. При условии возможности принятия решения об использовании режима с невыполнением предсказания с компенсацией движения опорный индекс может принимать любое значение. В дальнейшем, кроме случаев, оговоренных особо, простой термин "блок" означает единицу минимального блока предсказания. Кроме того, и в случае блоков за границами участка, как и при внутрикадровом режиме, в качестве векторов движения для L0-предсказания и L1-предсказания хранится (0,0), а в качестве опорных индексов для L0-предсказания и L1-предсказания хранится Действительность LX-направления (X=0 или 1) означает, что значение опорного индекса в LX-направлении составляет не менее 0. Недействительность LX-направления означает, что значение опорного индекса в LX-направлении составляет "-1".

Процесс работы блока 113 создания списка опорных кадров

Рассмотрим далее процесс работы блока 113 создания списка опорных кадров. Блок 113 создания списка опорных кадров создает список опорный кадр согласно типу слайса, поданному от блока управления кодированием 112. В случае Р-слайса или В-слайса блок 113 создания списка опорных кадров создает список L0 опорных кадров, а в случае В-слайса блок 113 создания списка опорных кадров создает список L1 опорных кадров.

На фиг. 8 представлена блок-схема, иллюстрирующая последовательность операций в процессе создания списка L0 опорных кадров. Рассмотрим последовательность операций в процессе создания списка L0 опорных кадров со ссылками на фиг. 8. Прежде всего блок 113 создания списка опорных кадров расставляет опорные кадры, РОС которых меньше, чем РОС целевого кадра, в порядке убывания РОС до достижения числа доступных опорных кадров в списке L0 опорных кадров (RefPicListL0) (S400). Затем блок 113 создания списка опорных кадров расставляет опорные кадры, РОС, которых больше, чем РОС целевого кадра, в порядке возрастания РОС до достижения числа доступных опорных кадров в списке L0 опорных кадров (RefPicListL0) (S401). В этом случае число доступных опорных кадров в списке опорных кадров L0 (RefPicListL0) имеет значение, полученное в результате добавления 1 к максимальному значению опорного индекса для L0-предсказания (num_ref_idx_10_active_minusl).

На фиг. 9 представлена блок-схема, иллюстрирующая последовательность операций в процессе создания списка L1 опорных кадров. Рассмотрим последовательность операций в процессе создания списка L1 опорных кадров со ссылками на фиг. 9. Прежде всего блок 113 создания списка опорных кадров расставляет опорные кадры, РОС которых больше, чем РОС целевого кадра, в порядке возрастания РОС до достижения числа доступных опорных кадров в списке L1 опорных кадров (RefPicListL1) (S410). Затем блок 113 создания списка опорных кадров расставляет опорные кадры, РОС, которых меньше, чем РОС целевого кадра, в порядке убывания РОС до достижения числа доступных опорных кадров в списке L1 опорных кадров (RefPicListL1) (S411). В этом случае число доступных опорных кадров в списке опорных кадров L0 (RefPicListL1) имеет значение, полученное в результате добавления 1 к максимальному значению опорного индекса для L0-предсказания (num_ref_idx_11_active_minusl).

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

Кроме того, если число доступных опорных кадров в списке L0 опорных кадров (RefPicListL0) превышает число опорных кадров с временем отображения, опережающим время отображения целевого кадра, то список L0 опорных кадров содержит опорные кадры, идентичные опорным кадрам в списке L1 опорных кадров, а если число доступных опорных кадров в списке L1 опорных кадров (RefPicListL1) превышает число опорных кадров с временем отображения, отстающим от времени отображения целевого кадра, то список L1 опорных кадров содержит опорные кадры, идентичные опорным кадрам в списке L0 опорных кадров, что позволяет обеспечивать возможность двунаправленного предсказания с использованием идентичных опорных кадров.

Конфигурация блока 109 генерирования информации о движении

Рассмотрим далее детальную конфигурацию блока 109 генерирования информации о движении. На фиг. 10 представлена конфигурация блока 109 генерирования информации о движении. Блок 109 генерирования информации о движении включает в себя блок 120 определения режима с предсказываемым вектором, блок 121 определения режима слияния и блок 122 обнаружения режима кодирования с предсказанием. Контакт 12, контакт 13, контакт 14, контакт 15, контакт 16, контакт 50 и контакт 51 подключены соответственно к памяти 111 для информации о движении, блоку 108 обнаружения вектора движения, памяти 110 кадров, блоку 101 получения изображения блока предсказания, блоку 104 генерирования битового потока, блоку 106 компенсации движения и памяти 111 для информации о движении.

Функции блока 109 генерирования информации о движении в процессе работы

Рассмотрим далее функции каждого компонента в процессе работы. Блок 120 определения режима с предсказываемым вектором определяет тип межкадрового предсказания на основе группы блоков-кандидатов, подаваемой с контакта 12, векторов движения для L0-предсказания и L1-предсказания и опорных индексов для L0-предсказания и L1-предсказания, подаваемых с контакта 13, опорного изображения, указываемого опорным индексом, подаваемым с контакта 14, и сигнала изображения, подаваемого с контакта 15. На основе типа межкадрового предсказания блок 120 определения режима с предсказываемым вектором выбирает индексы предсказываемого вектора для L0-предсказания и L1-предсказания и вычисляет разности векторов для L0-предсказания и L1-предсказания, ошибку предсказания, а также оценочное значение отношения сигнал/шум. При этом блок 120 определения режима с предсказываемым вектором подает информацию о движении, разности векторов, индексы предсказываемого вектора и оценочное значение отношения сигнал/шум на основе типа межкадрового предсказания в блок 122 обнаружения режима кодирования с предсказанием. Детальную конфигурацию блока 120 определения режима с предсказываемым вектором рассмотрим ниже.

Из группы блоков-кандидатов, подаваемой с контакта 12, опорного изображения, подаваемого с контакта 14, и сигнала изображения, подаваемого с контакта 15, блок 121 определения режима слияния создает список кандидатов на информацию о движении со слиянием, выбирает одного кандидата на информацию о движении со слиянием из списка кандидатов на информацию о движении со слиянием, определяет индекс слияния и вычисляет оценочное значение отношения сигнал/шум. При этом блок 121 определения режима слияния подает информацию о движении кандидата на информацию о движении со слиянием, индекс слияния и оценочное значение отношения сигнал/шум в блок 122 обнаружения режима кодирования с предсказанием. Детальную конфигурацию блока 121 определения режима слияния рассмотрим ниже.

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

Если оценочное значение отношения сигнал/шум для режима с предсказываемым вектором ниже, чем оценочное значение отношения сигнал/шум для режима слияния, блок 122 обнаружения режима кодирования с предсказанием устанавливает флаг слияния на "0". При этом блок 122 обнаружения режима кодирования с предсказанием подает флаг слияния, а также тип межкадрового предсказания, опорные индексы, разности векторов и индекс предсказываемого вектора, подаваемые из блока 120 определения режима с предсказываемым вектором, на контакт 16, а информацию о движении, подаваемую из блока 120 определения режима с предсказываемым вектором, - на контакты 50 и 51.

Если оценочное значение отношения сигнал/шум для режима слияния не превышает оценочного значения отношения сигнал/шум для режима с предсказываемым вектором, то блок 122 обнаружения режима кодирования с предсказанием устанавливает флаг слияния на "1". При этом блок 122 обнаружения режима кодирования с предсказанием подает флаг слияния и индекс слияния, подаваемый из блока 121 определения режима слияния, на контакт 16, а информацию о движении, подаваемую из блока 121 определения режима слияния, - на контакты 50 и 51.

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

Конфигурация блока 121 определения режима слияния

Рассмотрим далее детальную конфигурацию блока 121 определения режима слияния. На фиг. 11 представлена блок-схема, иллюстрирующая конфигурацию блока 121 определения режима слияния. Блок 121 определения режима слияния включает в себя блок 140 создания списка кандидатов на информацию о движении со слиянием и блок 141 выбора информации о движении со слиянием. Блок 140 создания списка кандидатов на информацию о движении со слиянием установлен также и в устройстве 200 декодирования движущегося изображения, которое декодирует битовый поток, генерированный с помощью устройства 100 кодирования движущегося изображения согласно первому варианту осуществления, и создает идентичный список информации о движении со слиянием как в устройстве 100 кодирования движущегося изображения, так и в устройстве 200 декодирования движущегося изображения.

Функции блока 121 определения режима слияния в процессе работы

Рассмотрим далее функции каждого компонента в процессе работы. На фиг. 12 представлена блок-схема, иллюстрирующая последовательность операций в процессе работы блока 121 определения режима слияния. Блок 140 создания списка кандидатов на информацию о движении со слиянием создает список кандидатов на информацию о движении со слиянием, включающий в себя кандидатов на информацию о движении со слиянием для максимального числа кандидатов на слияние из группы блоков-кандидатов, подаваемой с контакта 12 (S100), и подает этот список кандидатов на информацию о движении со слиянием в блок 141 выбора информации о движении со слиянием. Детальную конфигурацию блока 140 создания списка кандидатов на информацию о движении со слиянием рассмотрим ниже.

Блок 141 выбора информации о движении со слиянием выбирает оптимального кандидата на информацию о движении со слиянием из списка кандидатов на информацию о движении со слиянием, подаваемого из блока 140 создания списка кандидатов на информацию о движении со слиянием (S101), определяет индекс слияния, используемый в качестве информации, указывающей на выбранного кандидата на информацию о движении со слиянием (S102), и подает этот индекс слияния на контакт 17.

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

Конфигурация блока 140 создания списка кандидатов на информацию о движении со слиянием

Рассмотрим далее детальную конфигурацию блока 140 создания списка кандидатов на информацию о движении со слиянием. На фиг. 13 представлена блок-схема, иллюстрирующая конфигурацию блока 140 создания списка кандидатов на информацию о движении со слиянием. Контакт 19 подключен к блоку 141 выбора информации о движении со слиянием. Блок 140 создания списка кандидатов на информацию о движении со слиянием включает в себя блок 160 извлечения кандидатов на информацию о движении со слиянием в пространстве, блок 161 извлечения кандидатов на информацию о движении со слиянием во времени, блок 162 создания списка кандидатов на информацию о движении со слиянием, блок 163 удаления избыточных кандидатов на информацию о движении со слиянием, блок 164 добавления первых кандидатов на информацию о движении со слиянием и блок 165 добавления вторых кандидатов на информацию о движении со слиянием.

Функции блока 140 создания списка кандидатов на информацию о движении со слиянием в процессе работы

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

Прежде всего блок 160 извлечения кандидатов на информацию о движении со слиянием в пространстве извлекает кандидатов на информацию о движении со слиянием в пространстве, число которых составляет от нуля до максимального числа кандидатов на информацию о движении со слиянием в пространстве, из группы блоков-кандидатов, подаваемой с контакта 12 (S110), и подает этих кандидатов на информацию о движении со слиянием в пространстве в блок 162 создания списка кандидатов на информацию о движении со слиянием. Подробное описание процесса работы блока 160 создания списка кандидатов на информацию о движении со слиянием в пространстве приведем ниже. Ниже коснемся и максимального числа кандидатов на информацию о движении со слиянием в пространстве.

Далее блок 140 создания списка кандидатов на информацию о движении со слиянием проверяет равенство или неравенство 1 флага разрешения использования кандидата времени (enable_temporal_mvp_flag) (S111).

Если флаг разрешения использования кандидата во времени равен 1 (ДА на этапе S111), то блок 161 извлечения кандидатов на информацию о движении со слиянием во времени извлекает кандидатов на информацию о движении со слиянием во времени, число которых составляет от нуля до максимального числа кандидатов на информацию о движении со слиянием во времени, из группы блоков-кандидатов, подаваемых с контакта 12 (S112) и подает этих кандидатов на информацию о движении со слиянием во времени в блок 162 создания списка кандидатов на информацию о движении со слиянием. Подробное описание процесса работы блока 161 извлечения кандидатов на информацию о движении со слиянием во времени приведем ниже.

Если флаг разрешения использования кандидата во времени равен 0 (НЕТ на этапе S111), то этап S112 пропускается.

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

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

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

Затем блок 164 добавления первых кандидатов на информацию о движении со слиянием извлекает первых дополнительных кандидатов на информацию о движении со слиянием, число которых составляет от нуля до двух, из кандидатов на информацию о движении со слиянием, добавленных в список кандидатов на информацию о движении со слиянием, подаваемый из блока 163 удаления избыточных кандидатов на информацию о движении со слиянием, добавляет этих первых дополнительных кандидатов на информацию о движении со слиянием в список кандидатов на информацию о движении со слиянием таким образом, чтобы не превысить максимального числа кандидатов на слияние, (S115) и подает этот список кандидатов на информацию о движении со слиянием в блок 165 добавления вторых кандидатов на информацию о движении со слиянием. Если число кандидатов на информацию о движении со слиянием, добавленных в список кандидатов на информацию о движении со слиянием, подаваемый из блока 163 удаления избыточных кандидатов на информацию о движении со слиянием, достигает максимального числа кандидатов на слияние, список кандидатов на информацию о движении со слиянием, подаваемый из блока 163 удаления избыточных кандидатов на информацию о движении со слиянием, в неизменном виде подается в блок 165 добавления вторых кандидатов на информацию о движении со слиянием. Подробное описание процесса работы блока 164 добавления первых кандидатов на информацию о движении со слиянием приведем ниже.

Затем блок 165 добавления вторых кандидатов на информацию о движении со слиянием извлекает вторых дополнительных кандидатов на информацию о движении со слиянием таким образом, чтобы число кандидатов на информацию о движении со слиянием, добавленных в список кандидатов на информацию о движении со слиянием, подаваемый из блока 164 добавления первых кандидатов на информацию о движении со слиянием, не превышало максимального числа кандидатов на слияние, добавляет этих вторых дополнительных кандидатов на информацию о движении со слиянием в список кандидатов на информацию о движении со слиянием (S116) и подает этот список кандидатов на информацию о движении со слиянием контакт 19. Если число кандидатов на информацию о движении со слиянием, добавленных в список кандидатов на информацию о движении со слиянием, подаваемый из блока 164 добавления первых кандидатов на информацию о движении со слиянием, достигает максимального числа кандидатов на слияние, список кандидатов на информацию о движении со слиянием, подаваемый из блока 164 добавления первых кандидатов на информацию о движении со слиянием, подается на контакт 19. Подробное описание процесса работы блока 165 добавления вторых кандидатов на информацию о движении со слиянием приведем ниже.

Как показано выше, блок 140 создания списка кандидатов на информацию о движении со слиянием создает список кандидатов на информацию о движении со слиянием.

Группа блоков

Ниже рассмотрим группу блоков-кандидатов блока предсказания. На фиг. 15А и 15В представлены схематические иллюстрации группы блоков-кандидатов блока предсказания в пространстве. На фиг. 15А представлена группа блоков-кандидатов блока предсказания в пространстве в случае, когда блок кодирования имеет размер 16 пикселов × 16 пикселов, при 2N×N-типе размера блока предсказания.

Группа блоков-кандидатов в пространстве включает в себя пять блоков: А, располагающийся с левой стороны нижнего левого пиксела блока предсказания, блок В, располагающийся с верхней стороны верхнего правого пиксела блока предсказания, блок С, располагающийся по диагонали с верхней правой стороны верхнего правого пиксела блока предсказания, блок Е, располагающийся по диагонали с нижней левой стороны нижнего левого пиксела блока предсказания, и блок D, располагающийся по диагонали с верхней левой стороны верхнего левого пиксела блока предсказания.

Группа же блоков-кандидатов во времени включает в себя два блока: блок Н и блок I, являющиеся типичными блоками на заданном участке ColPic. Если считать, что верхний левый пиксел целевого блока предсказания имеет положение (x, y), а ширина и высота целевого блока предсказания составляют соответственно PUW и PUH, то блок-кандидат Н во времени задается как блок на ColPic с верхним левым пикселом в положении ((((x+PUW)>>4)<<4), (((y+PUH)>>4)<<4)), где ">>" представляет собой битовый сдвиг в направлении вправо, а "<<" - битовый сдвиг в направлении влево.

Точно так же блок-кандидат I во времени задается как блок на ColPic с верхним левым пикселом в положении (x+(PUW>>1), y+(PUH>>1)).

При этом и по отношению к блоку предсказания в блоке кодирования с не-2N×2N-типом размера блока предсказания применяется взаимное расположение блоков, идентичное случаю с блоком предсказания блока кодирования с 2N×2N-типом размера блока предсказания. На фиг. 15В представлена группа блоков-кандидатов блока предсказания в пространстве в случае, когда блок кодирования имеет размер 8 пикселов × 8 пикселов, при 2N×N-типе размера блока предсказания.

В этом случае на фигуре блок А располагается с левой стороны нижнего левого пиксела блока предсказания, однако при условии, что блок А контактирует с левой стороной блока предсказания, положение блока А не ограничивается только этим положением. Блок В располагается с верхней стороны верхнего правого пиксела блока предсказания, однако при условии, что блок В контактирует с верхней стороной блока предсказания, положение блока В не ограничивается только этим положением. Кроме того, в состав группы блоков-кандидатов во времени входят два блока: блок Н и блок I. Однако при условии, что группа блоков-кандидатов во времени включает в себя блоки в и вокруг блока предсказания в совпадающем положении, группа блоков-кандидатов во времени не ограничивается только этим составом блоков.

Подробное описание процесса работы блока 160 извлечения кандидатов на информацию о движении со слиянием в пространстве

Рассмотрим далее процесс работы блока 160 извлечения кандидатов на информацию о движении со слиянием в пространстве в деталях. На фиг. 16 представлена блок-схема, иллюстрирующая последовательность операций в процессе работы блока 160 извлечения кандидатов на информацию о движении со слиянием в пространстве. Блок 160 извлечения кандидатов на информацию о движении со слиянием в пространстве осуществляет описываемые ниже процессы обработки с последовательным повторением применительно к блоку А, блоку В, блоку С, блоку Е и блоку D, которые являются блоками-кандидатами, включенными в группу блоков-кандидатов в пространстве группы блоков-кандидатов (S120-S124).

Прежде всего блок 160 извлечения кандидатов на информацию о движении со слиянием в пространстве проверяет действительность или недействительность блока-кандидата (S121). Действительность блока-кандидата означает, что значение, по меньшей мере, одного из опорных индексов для L0-предсказания и L1-предсказания блока-кандидата составляет не менее 0. В случае действительности блока-кандидата (ДА на этапе S121) блок 160 извлечения кандидатов на информацию о движении со слиянием в пространстве извлекает информацию о движении блока-кандидата в список кандидатов на информацию о движении со слиянием в качестве кандидата на информацию о движении со слиянием в пространстве (S122). В случае недействительности блока-кандидата (НЕТ на этапе S121) блок 160 извлечения кандидатов на информацию о движении со слиянием в пространстве осуществляет проверку следующего блока-кандидата (S124) и по окончании проверки всех блок-кандидатов завершает процесс обработки. Вслед за этапом S122 блок 160 извлечения кандидатов на информацию о движении со слиянием в пространстве проверяет, является ли число извлеченных кандидатов на информацию о движении со слиянием в пространстве максимальным числом кандидатов на информацию о движении со слиянием в пространстве или нет (S123). Если число извлеченных кандидатов на информацию о движении со слиянием в пространстве не является максимальным числом кандидатов на информацию о движении со слиянием в пространстве (НЕТ на этапе S123), то блок 160 извлечения кандидатов на информацию о движении со слиянием в пространстве осуществляет проверку следующего блока-кандидата (S114). Если число извлеченных кандидатов на информацию о движении со слиянием в пространстве является максимальным числом кандидатов на информацию о движении со слиянием в пространстве (ДА на этапе S123), то блок 160 извлечения кандидатов на информацию о движении со слиянием в пространстве завершает процесс обработки. В этом случае максимальное число кандидатов на информацию о движении со слиянием в пространстве составляет 4.

Подробное описание процесса работы блока 161 извлечения кандидатов на информацию о движении со слиянием во времени

Рассмотрим далее процесс работы блока 161 извлечения кандидатов на информацию о движении со слиянием во времени в деталях. На фиг. 17 представлена блок-схема, иллюстрирующая последовательность операций в процессе работы блока 161 извлечения кандидатов на информацию о движении со слиянием во времени. Блок 161 извлечения кандидатов на информацию о движении со слиянием во времени осуществляет описываемые ниже процессы с повторением для каждого направления LX предсказания: для L0-предсказания и L1-предсказания (S140-S147), где X=0 или 1. Кроме того, блок 161 извлечения кандидатов на информацию о движении со слиянием во времени осуществляет описываемые ниже процессы с последовательным повторением применительно к блоку Н и блоку I, которые являются блоками-кандидатами, включенными в группу блоков-кандидатов во времени группы блоков-кандидатов (S141-S146).

Блок 161 извлечения кандидатов на информацию о движении со слиянием во времени проверяет действительность или недействительность LN-предсказания блока-кандидата (S142), где N=0 или 1. В этом случае предполагается, что N является идентичным X. Действительность LN-предсказания блока-кандидата означает, что опорный индекс блока-кандидата для LN-предсказания составляет не менее 0. В случае действительности LN-предсказания блока-кандидата (ДА на этапе S142) блок 161 извлечения кандидатов на информацию о движении со слиянием во времени задает вектор движения блока-кандидата для LN-предсказания в качестве базисного вектора движения для LX-предсказания (S143). В случае же недействительности LN-предсказания блока-кандидата (НЕТ на этапе S142) этапы S143-S146 пропускаются, и осуществляется проверка следующего блока-кандидата (S146). По окончании проверки всех блок-кандидатов блок 161 извлечения кандидатов на информацию о движении со слиянием во времени выполняет обработку для следующего направления предсказания (S147).

После этапа S143 блок 161 извлечения кандидатов на информацию о движении со слиянием во времени определяет опорное изображение для LX-предсказания кандидата на информацию о движении со слиянием во времени (S144). В этом случае опорное изображение для LX-предсказания кандидата на информацию о движении со слиянием во времени задается в качестве опорного изображения с опорным индексом 0. Затем в результате масштабирования базисного вектора движения в соответствии с расстоянием между целевым изображением и опорным изображением для LX-предсказания кандидата на информацию о движении со слиянием во времени блок 161 извлечения кандидатов на информацию о движении со слиянием во времени вычисляет вектор движения для LX-предсказания кандидата на информацию о движении со слиянием во времени (S145) и выполняет обработку для следующего направления предсказания (S147). Конкретный способ вычисления вектора движения для LX-предсказания кандидата на информацию о движении со слиянием во времени рассмотрим ниже.

После этапа S147, на котором завершаются процессы обработки для L0-предсказания и L1-предсказания, блок 161 извлечения кандидатов на информацию о движении со слиянием во времени проверяет действительность или недействительность, по меньшей мере, одного из L0- и L1-предсказаний кандидата на информацию о движении со слиянием во времени (S148). В случае действительности, по меньшей мере, одного из L0- и L1-предсказаний кандидата на информацию о движении со слиянием во времени (ДА на этапе S148) блок 161 извлечения кандидатов на информацию о движении со слиянием во времени определяет тип межкадрового предсказания кандидата на информацию о движении со слиянием во времени и извлекает этого кандидата на информацию о движении со слиянием во времени (S149).

При этом в случае действительности только L0-предсказания тип межкадрового предсказания кандидата на информацию о движении со слиянием во времени определяется как Pred_L0, в случае действительности только L1-предсказания тип межкадрового предсказания кандидата на информацию о движении со слиянием во времени определяется как Pred_L1, а в случае действительности как L0-предсказания, так и L1-предсказания тип межкадрового предсказания кандидата на информацию о движении со слиянием во времени определяется как Pred_BI.

Рассмотрим далее способ вычисления вектора движения для LX-предсказания кандидата на информацию о движении со слиянием во времени. Если расстояние между изображениями, представляющими собой ColPic с блоком-кандидатом во времени и ColRefLXPic, являющееся опорным кадром для блока-кандидата во времени при предсказании с компенсацией движения для LX-предсказания, расстояние между изображениями, представляющими собой опорное изображение RefLXPic для LX-предсказания кандидата на информацию о движении со слиянием во времени, и целевое изображение CurPic, и базисный вектор движения для LX-предсказания обозначить соответственно через td, tb и mvLX, то вектор mvLXCol движения для LX-предсказания кандидата на информацию о движении со слиянием во времени вычисляется по уравнению 1. Из уравнения 1 следует, что при вычислении вектора движения для LX-предсказания кандидата на информацию о движении со слиянием во времени для вычисления tb и td необходимы операции вычитания, деления и умножения.

В случае использования целочисленной арифметики для упрощения арифметики с плавающей запятой уравнение 1 может использоваться, например, после расширения до уравнений 2-4. Abs (v) является функцией для вычисления абсолютного значение значения v. Clip3 (uv, lv, v) является функцией, ограничивающей значение v в диапазоне от нижнего предела lv до верхнего предела uv. Sign (v) является функцией возврата значения v до 1, если значение v составляет не менее 0, и до -1, если значение v составляет менее 0, где ">>" представляет собой битовый сдвиг в направлении вправо, а "<<" - битовый сдвиг в направлении влево.

В этом случае максимальное число кандидатов на информацию о движении со слиянием во времени составляет 1. Поэтому, несмотря на отсутствие процесса обработки, соответствующего этапу S123 на фиг. 17, на которой представлена блок-схема, иллюстрирующая последовательность операций в процессе работы блока 160 извлечения кандидатов на информацию о движении со слиянием в пространстве, на фиг. 17, при условии, что максимальное число кандидатов на информацию о движении со слиянием во времени составляет не менее 2, после этапа S149 может следовать процесс обработки, соответствующий этапу S123.

В этом случае, тип межкадрового предсказания кандидата на информацию о движении со слиянием во времени изменяется, но, например, зависимости между X и N можно избежать, проверка для каждого X может выполняться в порядке N=0 и 1, и во всех случаях может генерироваться Pred_BI.

Подробное описание процесса работы блока 164 добавления первых кандидатов на информацию о движении со слиянием

Рассмотрим далее процесс работы блока 164 добавления первых кандидатов на информацию о движении со слиянием в деталях. На фиг. 18 представлена блок-схема, иллюстрирующая последовательность операций в процессе работы блока 164 добавления первых кандидатов на информацию о движении со слиянием. Прежде всего по уравнению 5 из числа кандидатов на информацию о движении со слиянием (NumCandList) и максимального числа кандидатов на слияние (MaxNumMergeCand), добавленных в список кандидатов на информацию о движении со слиянием, блок 164 добавления первых кандидатов на информацию о движении со слиянием вычисляет MaxNumGenCand, представляющее собой максимальное число извлекаемых первых дополнительных кандидатов на информацию о движении со слиянием (S170).

Затем блок 164 добавления первых кандидатов на информацию о движении со слиянием проверяет, превышает ли MaxNumGenCand значение 0 или нет (S171). Если MaxNumGenCand не превышает значения 0 (НЕТ на этапе S171), то блок 164 добавления первых кандидатов на информацию о движении со слиянием завершает процесс обработки. Если же MaxNumGenCand превышает значение 0 (ДА на этапе S171), то блок 164 добавления первых кандидатов на информацию о движении со слиянием выполняют описываемые ниже процессы обработки. Прежде всего блок 164 добавления первых кандидатов на информацию о движении со слиянием определяет loopTimes, представляющее собой число проверок комбинации. Число loopTimes определяется выражением NumCandList×NumCandList. Если loopTimes превышает 8, то loopTimes ограничивается значением 8 (S172). В этом случае loopTimes представляет собой целое число в диапазоне от 0 до 7. Рассматриваемые ниже процессы обработки осуществляются с повторением loopTimes раз (S172-S180). Блок 164 добавления первых кандидатов на информацию о движении со слиянием определяет комбинацию кандидата М на информацию о движении со слиянием и кандидата N на информацию о движении со слиянием (S173). Рассмотрим соотношения между числом проверок комбинации, кандидатом М на информацию о движении со слиянием и кандидатом N на информацию о движении со слиянием. На фиг. 19 представлена таблица соотношений между числом проверок комбинации, кандидатом М на информацию о движении со слиянием и кандидатом N на информацию о движении со слиянием. Как показано на фиг. 19, М и N имеют неидентичные значения и задаются в порядке возрастания общего значения М и N. Блок 164 добавления первых кандидатов на информацию о движении со слиянием проверяет действительность или недействительность L0-предсказания кандидата М на информацию о движении со слиянием и действительность или недействительность L1-предсказания кандидата N на информацию о движении со слиянием (S174). Если L0-предсказание кандидата М на информацию о движении со слиянием является действительным и L1-предсказание кандидата N на информацию о движении со слиянием является действительным (ДА на этапе S174), то блок 164 добавления первых кандидатов на информацию о движении со слиянием проверяет неидентичность или идентичность опорного изображения и вектора движения для L0-предсказания кандидата М на информацию о движении со слиянием и опорного изображения и вектора движения для L1-предсказания кандидата N на информацию о движении со слиянием (S175). В случае действительности L0-предсказания кандидата М на информацию о движении со слиянием и недействительности L1-предсказания кандидата N на информацию о движении со слиянием (НЕТ на этапе S174) блок 164 добавления первых кандидатов на информацию о движении со слиянием выполняет процесс обработки следующей комбинации. Если опорное изображение для L0-предсказания кандидата М на информацию о движении со слиянием является неидентичным опорному изображению L1-предсказания кандидата N на информацию о движении со слиянием (ДА на этапе S175), то блок 164 добавления первых кандидатов на информацию о движении со слиянием извлекает кандидата на информацию о двунаправленном движении со слиянием, типом межкадрового предсказания которого является Pred_BI, в результате комбинирования вектора движения и опорного изображение для L0-предсказания кандидата М на информацию о движении со слиянием с вектором движения и опорным изображением для L1-предсказания кандидата N на информацию о движении со слиянием (S176). В этом случае блок 164 добавления первых кандидатов на информацию о движении со слиянием извлекает в качестве первого дополнительного кандидата на информацию о движении со слиянием информацию о двунаправленном движении со слиянием, полученную в результате комбинации информации о движении для L0-предсказания кандидата на информацию о движении со слиянием на информацию о движении для L1-предсказания кандидата на информацию о движении со слиянием, являющегося неидентичным вышеуказанному кандидату. В случае идентичности опорного изображения для L0-предсказания кандидата М на информацию о движении со слиянием и опорного изображения для L1-предсказания кандидата N на информацию о движении со слиянием (НЕТ на этапе S175) блок 164 добавления первых кандидатов на информацию о движении со слиянием выполняет процесс обработки следующей комбинации. После этапа S176 блок 164 добавления первых кандидатов на информацию о движении со слиянием добавляет кандидата на информацию о двунаправленном движении со слиянием в список кандидатов на информацию о движении со слиянием (S178). После этапа S178 блок 164 добавления первых кандидатов на информацию о движении со слиянием проверяет, достигает ли число порций извлеченной информации о двунаправленном движении со слиянием MaxNumGenCand или нет (S179). Если число порций извлеченной информации о двунаправленном движении со слиянием достигает MaxNumGenCand (ДА на этапе S179), то блок 164 добавления первых кандидатов на информацию о движении со слиянием завершает процесс обработки. Если число порций извлеченной информации о двунаправленном движении со слиянием не достигает MaxNumGenCand (НЕТ на этапе S179), то блок 164 добавления первых кандидатов на информацию о движении со слиянием выполняет процесс обработки следующей комбинации (S180). По окончании обработки всех комбинаций блок 164 добавления первых кандидатов на информацию о движении со слиянием завершает процесс обработки.

В этом случае первый дополнительный кандидат на информацию о движении со слиянием задается в качестве кандидата на информацию о двунаправленном движении со слиянием, у которого направление предсказания с компенсацией движения является двунаправленным, в результате комбинирования вектора движения и опорного изображения для L0-предсказания кандидата на информацию о движении со слиянием, добавленного в список кандидатов на информацию о движении со слиянием, с вектором движения и опорным изображением для L1-предсказания неидентичного кандидата на информацию о движении со слиянием. Однако первый дополнительный кандидат на информацию о движении со слиянием не ограничивается только этим кандидатом. При этом в случае, когда NumCandList не превышает 1, комбинирование вектора движения и опорного изображения кандидата на информацию о движении со слиянием, добавленного в список кандидатов на информацию о движении со слиянием, для L0-предсказания с вектором движения и опорным изображением неидентичного кандидата на информацию о движении со слиянием для L1-предсказания является невозможным. Таким образом, MaxNumGenCand задается равным 0. Например, первый дополнительный кандидат на информацию о движении со слиянием может представлять собой кандидата на информацию о движении со слиянием, имеющего двунаправленное направление предсказания с компенсацией движения, полученного в результате суммирования вектора движения для L0-предсказания и вектора движения для L1-предсказания кандидата на информацию о движении со слиянием, добавленного в список кандидатов на информацию о движении со слиянием, с величиной смещения, имеющей значение +1 или т.п., или кандидата на информацию о движении со слиянием, имеющего двунаправленное направление предсказания с компенсацией движения, полученного в результате суммирования вектора движения для L0-предсказания или вектора движения для L1-предсказания кандидата на информацию о движении со слиянием, добавленного в список кандидатов на информацию о движении со слиянием, с величиной смещения, имеющей значение +1 или т.п.

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

Подробное описание процесс работы блока 165 добавления вторых кандидатов на информацию о движении со слиянием

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

Прежде всего по уравнению 6 блок 165 добавления вторых кандидатов на информацию о движении со слиянием вычисляет MaxNumGenCand, представляющее собой максимальное число для извлекаемых вторых дополнительных кандидатов на информацию о движении со слиянием, из числа кандидатов на информацию о движении со слиянием (NumCandList), максимального числа кандидатов на слияние (MaxNumMergeCand) и числа доступных опорных кадров в списке L0 опорных кадров (num_ref_idx_10_active_minusl+1), добавленных в список кандидатов на информацию о движении со слиянием, подаваемый из блока 164 добавления первых кандидатов на информацию о движении со слиянием (S180). При этом Min(x, y) является функцией, придающей х и у минимальные значения.

Затем блок 165 добавления вторых кандидатов на информацию о движении со слиянием осуществляет рассматриваемые ниже процессы обработки с повторением MaxNumGenCand раз для i (S181-S186), где i является целым числом в диапазоне от 0 до (MaxNumGenCand - 1). Другими словами, в случае, когда число кандидатов на информацию о движении со слиянием (NumCandList), добавленных в список кандидатов на информацию о движении со слиянием, подаваемый из блока 164 добавления первых кандидатов на информацию о движении со слиянием, не достигает максимального числа кандидатов на слияние (MaxNumMergeCand), извлекается, по меньшей мере, один второй дополнительный кандидат на информацию о движении со слиянием, который и добавляется в список кандидатов на информацию о движении со слиянием. В то же время, если NumCandList превышает или равно MaxNumMergeCand, то ни извлечения второго дополнительного кандидата на информацию о движении со слиянием, ни добавления второго дополнительного кандидата на информацию о движении со слиянием в список кандидатов на информацию о движении со слиянием не осуществляется. Таким образом, в случае, когда NumCandList превышает или равно MaxNumMergeCand, в результате недобавления второго дополнительного кандидата на информацию о движении со слиянием в список кандидатов на информацию о движении со слиянием память для списка кандидатов на информацию о движении со слиянием с NumCandList, превышающим MaxNumMergeCand, становится ненужной. Блок 165 добавления вторых кандидатов на информацию о движении со слиянием извлекает второго дополнительного кандидата на информацию о движении со слиянием, который имеет вектор движения (mvL0)=(0,0) для L0-предсказания, опорный индекс (ref_idx_10)=i для L0-предсказания и тип межкадрового предсказания (predDir)=Pred_L0 (S182).

Затем блок 165 добавления вторых кандидатов на информацию о движении со слиянием проверяет, является или не является слайс В-слайсом (S183). В случае В-слайса (ДА на этапе S183) блок 165 добавления вторых кандидатов на информацию о движении со слиянием извлекает второго дополнительного кандидата на информацию о движении со слиянием, имеющего вектор движения (mvL1)=(0,0) для L1-предсказания, опорный индекс (ref_idx_11)=0 для L1-предсказания и типа межкадрового предсказания Pred_BI (S184), и добавляет этого второго дополнительного кандидата на информацию о движении со слиянием в список кандидата на информацию о движении со слиянием (S185).

В случае, когда слайс не является В-слайсом (НЕТ на этапе S183), блок 165 добавления вторых кандидатов на информацию о движении со слиянием добавляет в список кандидатов на информацию о движении со слиянием второго дополнительного кандидата на информацию о движении со слиянием, извлеченного на этапе S182, (S185).

Затем блок 165 добавления вторых кандидатов на информацию о движении со слиянием осуществляет процесс обработки для следующего i (S186). По окончании обработки всех i блок 165 добавления вторых кандидатов на информацию о движении со слиянием завершает процесс обработки.

При этом в случае Р-слайса второй дополнительный кандидат на информацию о движении со слиянием задается в качестве кандидата на информацию о движении со слиянием, имеющего вектор движения (0,0) и опорный индекс i для L0-предсказания и тип межкадрового предсказания Pred_L0, а в случае В-слайса второй дополнительный кандидат на информацию о движении со слиянием задается в качестве кандидата на информацию о движении со слиянием, имеющего вектор движения (0,0) и опорный индекс i для L0-предсказания, вектор движения (0,0) и опорный индекса 0 для L1-предсказания и тип межкадрового предсказания Pred_BI.

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

Ниже приводится подробное описание второго дополнительного кандидата на информацию о движении со слиянием в случае В-слайса.

Прежде всего рассмотрим процесс кодирования без перестановки между порядком ввода изображения и порядком кодирования и процесс кодирования с перестановкой между порядком ввода изображения и порядком кодирования.

На фиг. 21А и 21В представлены схематические иллюстрации взаимного расположения целевого кадра и опорных кадров. Фиг. 21А иллюстрирует взаимное расположение целевого кадра и опорных кадров в случае без перестановки между порядком ввода изображения и порядком кодирования, а фиг. 21В - в случае с перестановкой между порядком ввода изображения и порядком кодирования. На фиг. 21А изображения, имеющие РОС в диапазоне от n+4 до n+7, представляют опорный кадры, а изображение, имеющее РОС=n+8, представляет целевой кадр CurPic. На фиг. 21 В изображения, имеющие РОС=n+2, n+4, n+6 или n+8, представляют опорные кадры, а изображение, имеющее РОС=n+5, представляет целевой кадр CurPic.

Далее рассмотрим список опорных кадров при кодировании без перестановки между порядком ввода изображения и порядком кодирования и список опорных кадров при кодировании с перестановкой между порядком ввода изображения и порядком кодирования. Список опорных кадров создается с помощью блока 113 создания списка опорных кадров.

На фиг. 22А и 22В представлены таблицы, иллюстрирующие список опорных кадров. Фиг. 22А и 22В иллюстрируют примеры, в которых число доступных опорных кадров как в списке L0 опорных кадров, так и в списке L1 опорных кадров составляет 4, а фиг. 22А иллюстрирует список опорных кадров в случае без перестановки между порядком ввода изображения и порядком кодирования. Предполагается, что в памяти 110 кадров хранятся, по меньшей мере, опорный кадр, имеющий РОС=n+4, опорный кадр, имеющий РОС=n+5, опорный кадр, имеющий РОС=n+6, и опорный кадр, имеющий РОС=n+8. Фиг. 22В иллюстрирует список опорных кадров в случае с перестановкой между порядком ввода изображения и порядком кодирования. Предполагается, что в памяти 110 кадров хранятся, по меньшей мере, опорный кадр, имеющий РОС=n+2, опорный кадр, имеющий РОС=n+4, опорный кадр, имеющий РОС=n+6, и опорный кадр, имеющий РОС=n+8. В случае без перестановки между порядком ввода изображения и порядком кодирования список L0 опорных кадров и список L1 опорных кадров являются идентичными один другому, а в случае с перестановкой порядком ввода изображения и порядком кодирования список L0 опорных кадров и список L1 опорных кадров является неидентичными.

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

На фиг. 23А и 23В представлены таблицы, иллюстрирующие соотношения между опорным индексом второго дополнительного кандидата на информацию о движении со слиянием и РОС согласно первому варианту осуществления. Фиг. 23А и 23В иллюстрируют примеры второго дополнительного кандидата на информацию о движении со слиянием, в которых число доступных опорных кадров как в списке L0 опорных кадров, так и в списке L1 опорных кадров составляет 4, а фиг. 23А иллюстрирует опорный индекс второго дополнительного кандидата на информацию о движении со слиянием в случае без перестановки между порядком ввода изображения и порядком кодирования, а фиг. 23В иллюстрирует опорный индекс второго дополнительного кандидата на информацию о движении со слиянием в случае с перестановкой между порядком ввода изображения и порядком кодирования.

Рассмотрим таблицу, представленную на фиг. 23А. Так как опорный индекс 0-го (i=0) второго дополнительного кандидат на информацию о движении со слиянием для L0-предсказания равен 0, то для компенсации движения с предсказанием для L0-предсказания используется опорный кадр, имеющий РОС=n+7. Опорный индекс для L1-предсказания равен 0, и поэтому для компенсации движения с предсказанием для L1-предсказания используется опорный кадр, имеющий РОС=n+7. Вектор движения для L0-предсказания и вектор движения для L1-предсказания при (0,0) являются идентичными один другому, и соответствующие опорный кадры также являются идентичными один другому. Поэтому и соответствующие сигналы предсказания для L0-предсказания и L1-предсказания также идентичны один другому. Следовательно, несмотря на наличие информации о движении для двунаправленного предсказания в 0-м втором дополнительном кандидате на информацию о движении со слиянием, полученный сигнал предсказания является идентичным сигналу предсказания для однонаправленного предсказания, полученному в результате выполнения предсказания с компенсацией движения на опорном кадре, имеющем РОС=n+7, с использованием вектора движения (0,0).

В 1-м втором дополнительном кандидате на информацию о движении со слиянием для компенсации движения с предсказанием для L0-предсказания используется опорный кадр, имеющий РОС=n+6, а для компенсации движения с предсказанием для L1-предсказания используется опорный кадр, имеющий, РОС=n+7. Поэтому предсказание с компенсацией движения для двунаправленного предсказания выполняется с использованием самого близкого (1-го ближайшего) опорного кадра и 2-го ближайшего опорного кадра.

Точно так же и во 2-м втором дополнительном кандидате на информацию о движении со слиянием предсказание с компенсацией движения для двунаправленного предсказания выполняется с использованием самого близкого опорного кадра и 3-го ближайшего опорного кадра. В 3-м втором дополнительном кандидате на информацию о движении со слиянием предсказание с компенсацией движения для двунаправленного предсказания выполняется с использованием самого близкого опорного кадра и 4-го ближайшего опорного кадра.

Рассмотрим таблицу, представленную на фиг. 23В. Так как опорный индекс 0-го (i=0) второго дополнительного кандидат на информацию о движении со слиянием для L0-предсказания равен 0, то для компенсации движения с предсказанием для L0-предсказания используется опорный кадр, имеющий РОС=n+4. Опорный индекс для L1-предсказания равен 0, и поэтому для компенсации движения с предсказанием для L1-предсказания используется опорный кадр, имеющий РОС=n+6. Опорный кадр, имеющий РОС=n+4, и опорный кадр, имеющий РОС=n+6, являются опорными кадрами, следующими в порядке отображения соответственно непосредственно перед целевым кадром и непосредственно после целевого кадра. Поэтому предполагается, что предсказание с компенсацией движения для двунаправленного предсказания выполняется с относительно самой высокой избирательностью среди вторых дополнительных кандидатов на информацию о движении со слиянием.

В 1-м втором дополнительном кандидате на информацию о движении со слиянием для компенсации движения с предсказанием для L0-предсказания используется опорный кадр, имеющий РОС=n+2, а для компенсации движения с предсказанием для L1-предсказания используется опорный кадр, имеющий РОС n+6. Поэтому предсказание с компенсацией движения для двунаправленного предсказания выполняется с использованием опорного кадра, следующего в порядке отображения 2-м перед целевым кадром, и опорного кадра, следующего в порядке отображения непосредственно после целевого кадра.

Несмотря на наличие информации о движении для двунаправленного предсказания во 2-м втором дополнительном кандидате на информацию о движении со слиянием, полученный сигнал предсказания является идентичным сигналу предсказания для однонаправленного предсказания, полученному в результате выполнения предсказания с компенсацией движения на опорном кадре, имеющем РОС=n+6, с использованием вектора движения (0,0).

В 3-м втором дополнительном кандидате на информацию о движении со слиянием для компенсации движения с предсказанием для L0-предсказания используется опорный кадр, имеющий РОС=n+8, а для компенсации движения с предсказанием для L1-предсказания используется опорный кадр, имеющий РОС=n+6. Поэтому предсказание с компенсацией движения для двунаправленного предсказания выполняется с использованием опорного кадра, следующего в порядке отображения 2-м после целевого кадра, и опорного кадра, следующего в порядке отображения непосредственно после целевого кадра.

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

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

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

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

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

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

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

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

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

В рассматриваемом случае группа блоков-кандидатов в пространстве имеет пять блоков, группа блоков-кандидатов во времени имеет два блока, верхний предел максимального числа кандидатов на слияние составляет 5, максимальное число кандидатов на информацию о движении со слиянием в пространстве составляет 4, а максимальное число кандидатов на информацию о движении со слиянием во времени - 1. Однако перечисленные характеристики не ограничиваются только этими значениями.

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

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

Конфигурация блока 120 определения режима с предсказываемым вектором

Рассмотрим ниже детальную конфигурацию блока 120 определения режима с предсказываемым вектором. На фиг. 24 представлена блок-схема, иллюстрирующая конфигурацию блока обнаружения режима с предсказываемым вектором. Блок 120 определения режима с предсказываемым вектором включает в себя блок 130 создания списка кандидатов на предсказываемый вектор и блок 131 определения предсказываемого вектора. Контакт 17 подключен к блоку 122 определения режима кодирования с предсказанием.

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

Процесс работы блока 120 определения режима с предсказываемым вектором

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

Прежде всего рассмотрим процессы обработки, выполняемы для L0-предсказания. Пусть х=0. Блок 130 создания списка кандидатов на предсказываемый вектор получает опорный индекс для LX-предсказания, подаваемый с контакта 13, и создает список кандидатов на предсказываемый вектор для LX-предсказания, включающий в себя кандидатов на предсказываемый вектор, число которых равно максимальному числу кандидатов на предсказываемый вектор, из группы блоков-кандидатов, подаваемой с контакта 12, и опорный индекс для LX-предсказания (S200). Этот список кандидатов на предсказываемый вектор для LX-предсказания блок 130 создания списка кандидатов на предсказываемый вектор подает в блок 131 определения предсказываемого вектора.

Из списка кандидатов на предсказываемый вектор для LX-предсказания, подаваемого из блока 130 создания списка кандидатов на предсказываемый вектор, блок 131 определения предсказываемого вектора выбирает одного кандидата на предсказываемый вектор (S201) и определяет индекс предсказываемого вектора для LX-предсказаний (S202).

В результате вычитания предсказываемого вектора для LX-предсказания из вектора движения для LX-предсказания, подаваемого с контакта 13, блок 131 определения предсказываемого вектора вычисляет разность векторов для LX-предсказания (S203) и выводит разность векторов для LX-предсказания и индекс предсказываемого вектора для LX предсказания.

Из сигнала изображения, подаваемого с контакта 15, и сигнала предсказания для LX-предсказания, полученного в результате выполнения предсказания с компенсацией движения на опорном изображении, подаваемом с контакта 14, на основе вектора движения для LX-предсказания и опорного индекса для LX-предсказания, подаваемого с контакта 13, блок 131 определения предсказываемого вектора вычисляет величину ошибки предсказания и из этой ошибки предсказания и величины кода разности векторов для LX-предсказания, опорного индекса для LX-предсказания и индекса предсказываемого вектора для LX-предсказания вычисляет оценочное значение отношения сигнал/шум Pred_LX.

Затем процесс обработки, аналогичный процессу обработки для L0-предсказания, выполняется для L1-предсказания, для которого X=1.

Из сигнала изображения, подаваемого с контакта 15, и сигнала предсказания для В I-предсказания, полученного в результате усреднения сигнала предсказания для L0-предсказания и сигнала предсказания для L1-предсказания, блок 131 определения предсказываемого вектора вычисляет величину ошибки предсказания и из этой ошибки предсказания и величины кода разностей векторов для L0-предсказания и L1-предсказания, опорных индексов для L0-предсказания и L1-предсказания и индексов предсказываемого вектора для L0-предсказания и L1-предсказания вычисляет оценочное значение отношения сигнал/шум Pred_BI.

Блок 131 определения предсказываемого вектора сравнивает оценочное значение отношения сигнал/шум Pred_L0, оценочное значение отношения сигнал/шум Pred_L1 и оценочное значение отношения сигнал/шум Pred_BI и выбирает один режим кодирования с предсказанием, имеющим наименьшее оценочное значение отношения сигнал/шум. Затем блок 131 определения предсказываемого вектора подает информацию о движении, разности векторов, индексы предсказываемого вектора и оценочное значение отношения сигнал/шум на основе режима кодирования с предсказанием в блок 122 обнаружения режима кодирования с предсказанием. При этом в случае режима кодирования с предсказанием Pred_L0 вектором движения для L1-предсказания становится (0,0), а опорным индексом для L1-предсказания становится "-1". В случае режима кодирования с предсказанием Pred_L1 вектором движения для L0-предсказания становится (0,0), а опорным индексом для L0-предсказания становится "-1".

Конфигурация блока 130 создания списка кандидатов на предсказываемый вектор

Рассмотрим далее детальную конфигурацию блока 130 создания списка кандидатов на предсказываемый вектор. На фиг. 26 представлена схематическая иллюстрация конфигурации блока 130 создания списка кандидатов на предсказываемый вектор. Контакт 18 подключен к блоку 131 определения предсказываемого вектора 131. Блок 130 создания списка кандидатов на предсказываемый вектор включает в себя блок 150 извлечения кандидатов на предсказываемый вектор в пространстве, блок 151 блок извлечения кандидатов на предсказываемый вектор с масштабированием в пространстве, блок 152 извлечения кандидатов на предсказываемый вектор во времени, блок 153 создания списка предсказываемых векторов, блок 154 удаления избыточных кандидатов на предсказываемый вектор и блок 155 добавления кандидатов на предсказываемый вектор.

Процесс работы блока 130 создания списка кандидатов на предсказываемый вектор

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

Блок 130 создания списка кандидатов на предсказываемый вектор осуществляет разделение блоков-кандидатов, включенных в группу блоков-кандидатов в пространстве, подаваемую с контакта 12, на две группы: первую группу, образованную блоком Е и блоком А; и вторую группу, образованную блоком С, блоком В и блоком D, и осуществляет рассматриваемые ниже процессы обработки с повторением в указанном порядке: первая группа и вторая группа (S210-S212).

Группа блоков-кандидатов, подаваемая с контакта 12, является группой блоков-кандидатов, идентичной этой группе в случае режима слияния.

Блок 150 генерирования кандидатов на предсказываемый вектор в пространстве извлекает кандидатов на предсказываемый вектор в пространстве для LX-предсказания, число которых составляет нуль или один, из группы блоков-кандидатов i-й группы (i=1 или 2) и опорного индекса для LX-предсказания, подаваемого с контакта 13, (S211) и подает этого кандидата на предсказываемый вектор в пространстве для LX-предсказания в блок 153 создания списка предсказываемых векторов. Подробное описание процесса работы блока 150 извлечения кандидатов на предсказываемый вектор в пространстве приведем ниже. Описание процесса взаимодействия между блоком 150 извлечения кандидатов на предсказываемый вектор в пространстве и блоком 151 извлечения кандидатов на предсказываемый вектор с масштабированием в пространстве также приведем ниже.

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

Если флаг разрешения использования кандидата во времени равен 1 (ДА на этапе S213), то блок 152 извлечения кандидатов на предсказываемый вектор во времени извлекает кандидатов на предсказываемый вектор во времени для LX-предсказания, число которых составляет нуль или один, из группы блоков-кандидатов, подаваемой с контакта 12, и опорного индекса для LX-предсказания, подаваемого с контакта 13, (S214) и подает этого кандидата на предсказываемый вектор во времени для LX-предсказания в блок 153 создания списка предсказываемых векторов. Подробное описание процесса работы блока 152 извлечения кандидатов на предсказываемый вектор во времени приведем ниже.

Если флаг разрешения использования кандидата во времени равен 0 (НЕТ на этапе S213), то этап S214 пропускается.

Затем блок 153 создания списка предсказываемых векторов создает список кандидатов на предсказываемый вектор для LX-предсказания из кандидатов на предсказываемый вектор в пространстве для LX-предсказания, число которых составляет от нуля до двух, кандидатов на предсказываемый вектор во времени для LX-предсказания, число которых составляет от нуля до одного (S215) и подает этот список кандидатов на предсказываемый вектор для LX-предсказания в блок 154 удаления избыточных кандидатов на предсказываемый вектор. При этом в список кандидатов на предсказываемый вектор для LX-предсказания добавляется до трех кандидатов на предсказываемый вектор в указанном порядке: кандидаты на предсказываемый вектор в пространстве, кандидат на предсказываемый вектор во времени.

Затем блок 154 удаления избыточных кандидатов на предсказываемый вектор осуществляет проверку кандидатов на предсказываемый вектор, добавленных в список кандидатов на предсказываемый вектор для LX-предсказания, сохраняет в случае существования множества кандидатов на предсказываемый вектор, имеющих идентичный вектор, одного кандидата на предсказываемый вектор и удаляет остальных кандидатов на предсказываемый вектор. Затем блок 154 удаления 154 избыточных кандидатов на предсказываемый вектор удаляет в случае, когда число кандидатов на предсказываемый вектор, добавленных в список кандидатов на предсказываемый вектор для LX-предсказания, превышает максимальное число кандидатов на предсказываемый вектор, кандидатов на предсказываемый вектор из последней части списка кандидатов на предсказываемый вектор для LX-предсказания при сохранении кандидатов на предсказываемый вектор, добавленных в список кандидатов на предсказываемый вектор для LX-предсказания,, число которых не превышает максимального числа кандидатов на предсказываемый вектор (S216), и подает этот список кандидатов на предсказываемый вектор для LX-предсказания в блок 155 добавления кандидатов на предсказываемый вектор. Поэтому все кандидаты на предсказываемый вектор, добавленные в список кандидатов на предсказываемый вектор для LX-предсказания, выводимые из блока 154 удаления избыточных кандидатов на предсказываемый вектор, являются неидентичными кандидатами на предсказываемый вектор. Кроме того, в случае сохранения двух кандидатов на предсказываемый вектор в пространстве для LX-предсказания добавлять кандидата на предсказываемый вектор во времени для LX-предсказания становится необязательным.

Затем блок 155 добавления кандидатов на предсказываемый вектор генерирует дополнительных кандидатов на предсказываемый вектора, добавляет этих дополнительных кандидатов на предсказываемый вектор в список кандидатов на предсказываемый вектор для LX-предсказания до достижения максимального числа кандидатов на предсказываемый вектор, добавленных в список кандидатов на предсказываемый вектор для LX-предсказания, (S217) и подает этих дополнительных кандидатов на предсказываемый вектор на контакт Предположим, что дополнительные кандидаты на предсказываемый вектора имеют вектор движения (0,0). В этом случае дополнительные кандидаты на предсказываемый вектор задаются в качестве кандидатов с вектором движения (0,0). Однако дополнительные кандидаты на предсказываемый вектора могут иметь заданное значение вектора движения, такое как (1,1), могут передаваться в битовом потоке или иметь вектор движения с горизонтальным компонентом или вертикальным компонентом кандидата на предсказываемый вектор в пространстве, составляющими +1 или -1.

Подробное описание процесса работы блока 150 извлечения кандидатов на предсказываемый вектор в пространстве

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

Блок 150 извлечения кандидатов на предсказываемый вектор в пространстве осуществляет рассматриваемые ниже процессы обработки с повторением для блока-кандидата в i-й группе (i=1 или 2) (S220-S226). Проверка первой группы осуществляется в указанном порядке: блок Е, блок А, а проверка второй группы - в указанном порядке: блок С, блок В, блок D.

Рассматриваемые ниже процессы обработки осуществляются с повторением для каждого блока-кандидата в указанном порядке: L0-предсказание и L1-предсказание (S221-S225). Рассмотрим L0-предсказание и L1-предсказание в качестве LN-предсказания. Блок 150 извлечения кандидатов на предсказываемый вектор в пространстве проверяет действительность или недействительность LN-предсказания блока-кандидата (S222). Действительность LN-предсказания блока-кандидата означает, что опорный индекс блока-кандидата для LN-предсказания составляет не менее 0.

В случае действительности LN-предсказания блока-кандидата (ДА на этапе S222) блок 150 извлечения кандидатов на предсказываемый вектор в пространстве осуществляет проверку идентичности или неидентичности опорного изображения, указываемого опорным индексом для LN-предсказания блока-кандидата опорному изображению, указываемому опорным индексом для LX-предсказания (S223).

В случае идентичности опорных изображений (ДА на этапе S223) блок 150 извлечения кандидатов на предсказываемый вектор в пространстве задает вектор движения для LN-предсказания блока-кандидата в качестве кандидата на предсказываемый вектор в пространстве для LX-предсказания (S224), и процесс обработки завершается.

Если в случае недействительности LN-предсказания блока-кандидата (НЕТ на этапе S222) или неидентичности опорных изображений (НЕТ на этапе S223) LN-предсказание является L0-предсказанием, то блок 150 извлечения кандидатов на предсказываемый вектор в пространстве осуществляет проверку L1-предсказания, а если LN-предсказание является L1-предсказанием, то блок 150 извлечения кандидатов на предсказываемый вектор в пространстве осуществляет проверку следующего блока-кандидата (S225).

По окончании проверки всех блоков-кандидатов (S226) в пространстве блок 150 извлечения кандидатов на предсказываемый вектор в пространстве проверяет равенство или неравенство 0 флага разрешения использования кандидата времени (enable_temporal_mvp_flag) (S227).

Если флаг разрешения использования кандидата во времени равен 0 (ДА на этапе S227), то блок 151 извлечения кандидатов на предсказываемый вектор с масштабированием в пространстве извлекает кандидатов на предсказываемый вектор в пространстве для LX-предсказания, число которых составляет нуль или один, (S228) и завершает процесс обработки. Подробное описание процесса работы блока 151 извлечения кандидатов на предсказываемый вектор с масштабированием в пространстве приведем ниже.

Если флаг разрешения использования кандидата во времени равен 1 (НЕТ на этапе S227), то блок 151 извлечения кандидатов на предсказываемый вектор с масштабированием в пространстве пропускает этап S228 и завершает процесс обработки.

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

Подробное описание процесса работы блока 151 извлечения кандидатов на предсказываемый вектор с масштабированием в пространстве

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

Блок 151 извлечения кандидатов на предсказываемый вектор с масштабированием в пространстве осуществляет рассматриваемые ниже процессы обработки с повторением для блока-кандидата в i-й группе (i=1 или 2) (S230-S236). Проверка первой группы осуществляется в указанном порядке: блок Е, блок А, а проверка второй группы - в указанном порядке: блок С, блок В, блок D.

Рассматриваемые ниже процессы обработки осуществляются с повторением для каждого блока-кандидата в указанном порядке: L0-предсказание и L1-предсказание (S231-S235). Рассмотрим L0-предсказание и L1-предсказание в качестве LN-предсказания.

Затем блок 151 извлечения кандидатов на предсказываемый вектор с масштабированием в пространстве проверяет действительность или недействительность LN-предсказания блока-кандидата (S232). Действительность LN-предсказания блока-кандидата означает, что опорный индекс блока-кандидата для LN-предсказания составляет не менее 0.

В случае действительности LN-предсказания блока-кандидата (ДА на этапе S232) блок 151 извлечения кандидатов на предсказываемый вектор с масштабированием в пространстве осуществляет проверку идентичности или неидентичности опорного изображения, указываемого опорным индексом для LN-предсказания блока-кандидата опорному изображению, указываемому опорным индексом для LX-предсказания (S233).

В случае идентичности опорных изображений (ДА на этапе S233) блок 151 извлечения кандидатов на предсказываемый вектор с масштабированием в пространстве извлекает кандидата на предсказываемый вектор в пространстве с использованием вектора движения для LN-предсказания блок-кандидата в качестве базисного вектора для LX-предсказания (S234) и завершает процесс обработки. Подробное описание способа извлечения кандидата на предсказываемый вектор в пространстве блоком 151 извлечения кандидатов на предсказываемый вектор с масштабированием в пространстве приведем ниже.

Если в случае недействительности LN-предсказания блока-кандидата (НЕТ на этапе S232) или неидентичности опорных изображений (НЕТ на этапе S233) LN-предсказание является L0-предсказанием, то блок 151 извлечения кандидатов на предсказываемый вектор с масштабированием в пространстве осуществляет проверку L1-предсказания, а если LN-предсказание является L1-предсказанием, то блок 151 извлечения кандидатов на предсказываемый вектор с масштабированием в пространстве осуществляет проверку следующего блока-кандидата (S235).

По окончании проверки всех блоков-кандидатов блок 151 извлечения кандидатов на предсказываемый вектор с масштабированием в пространстве завершает процесс обработки (S236).

Рассмотрим далее способ извлечения кандидата на предсказываемый вектор в пространстве блоком 151 извлечения кандидатов на предсказываемый вектор с масштабированием в пространстве в деталях. Если расстояние между изображениями, представляющими собой опорное изображение NeiRefLXPic, к которому относится базисный вектор для LX-предсказания, и целевое изображение CurPic, расстояние между изображениями, представляющими собой опорное изображение RefLXPic, указываемое опорным индексом для LX-предсказания, и целевое изображение CurPic, и базисный вектор движения для LX-предсказания обозначить соответственно через td, tb и mvLX, то кандидат mvScLX на предсказываемый вектор в пространстве вычисляется по уравнению 1 или по уравнениям 2-4, приведенным выше.

Подробное описание процесса работы блока 152 извлечения кандидатов на предсказываемый вектор во времени

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

Описываемые ниже процессы обработки осуществляются для блоков-кандидатов во времени с повторением (S240-S243). Проверка блоков-кандидатов во времени выполняется в указанном порядке: блок Н, блок I.

Прежде всего блок 152 извлечения кандидатов на предсказываемый вектор во времени проверяет действительность или недействительность LN-предсказания блока-кандидата (S241). При этом предположим, что LN-предсказание является идентичным LX-предсказанию. Однако LN-предсказание может быть и неидентичным LX-предсказанию. Действительность LN-предсказания блока-кандидата означает, что опорный индекс LN-предсказания блока-кандидата составляет не менее 0.

В случае действительности LN-предсказания блока-кандидата (ДА на этапе S241) блок 152 извлечения кандидатов на предсказываемый вектор во времени извлекает кандидата на предсказываемый вектор во времени с использованием вектора движения для LN-предсказания блока-кандидата в качестве базисного вектора для LX-предсказания (S242) и завершает процесс обработки. Подробное описание способа извлечения кандидата на предсказываемый вектор во времени приведем ниже.

В случае недействительности LN-предсказания блока-кандидата (НЕТ на этапе S241) блок 152 извлечения кандидатов на предсказываемый вектор во времени осуществляет проверку следующего блока-кандидата (S243).

По окончании проверки всех блоков-кандидатов блок 152 извлечения кандидатов на предсказываемый вектор во времени завершает процесс обработки (S243).

Рассмотрим далее способ извлечения кандидата на предсказываемый вектор во времени в деталях. Если расстояние между изображениями, представляющими собой ColPic с блоком-кандидатом во времени и ColRefLXPic, являющееся опорным изображением, к которому относится блок-кандидат во времени при предсказании с компенсацией движения для LN-предсказания, расстояние между изображениями, представляющими собой опорное изображение RefLXPic, указываемое опорным индексом для LX-предсказания, и целевое изображение CurPic, и базисный вектор движения для LX-предсказания обозначить соответственно через td, tb и mvLX, то кандидат mvLXCol на предсказываемый вектор во времени вычисляется по уравнению 1 или по уравнениям 2-4, приведенным выше.

Конфигурация устройства 200 декодирования движущегося изображения

Рассмотрим далее устройство 200 декодирования движущегося изображения согласно первому варианту осуществления. На фиг. 31 представлена блок-схема, иллюстрирующая конфигурацию устройства 200 декодирования движущегося изображения согласно первому варианту осуществления. Устройство 200 декодирования движущегося изображения является устройством, генерирующим воспроизведенное изображение в результате декодирования битового потока, кодированного с помощью устройство 100 кодирования движущегося изображения. Операции определения типа слайса и максимального значения опорного индекса, который может быть использован в слайсе, разделения блока кодирования, определения режима пропуска, определения типа размера блока предсказания, определения размера блока предсказания и положения блока предсказания в блоке кодирования (информации о положении блока предсказания), а также определения режима кодирования с предсказанием как внутрикадрового или невнутрикадрового выполняются блоком 208 управления декодированием, не входящим в состав устройства 200 декодирования движущегося изображения, и результаты выполнения этих операций подаются в устройство 200 декодирования движущегося изображения. Список опорных кадров создается блоком 209 создания списка опорных кадров, не входящим в состав устройства 200 декодирования движущегося изображения, и подается в устройство 200 декодирования движущегося изображения. Рассмотрим случай, в котором режим кодирования с предсказанием является невнутрикадровым. Кроме случаев, оговоренных особо, рассмотрим в первом варианте осуществления В-кадр (В-слайс), который соответствует двунаправленному предсказанию. Для Р-кадра (Р-слайса), который не соответствует двунаправленному предсказанию, L1-предсказание можно не рассматривать.

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

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

Устройство 200 декодирования движущегося изображения согласно первому варианту осуществления включает в себя блок 201 анализа битового потока, блок 202 декодирования ошибки предсказания, блок 203 суммирования, блок 204 воспроизведения информации о движении, блок 205 компенсации движения, память 206 кадров и память 207 для информации о движении.

Процесс работы устройства 200 декодирования движущегося изображения

Рассмотрим далее функции каждого компонента в процессе работы. Блок 201 анализа битового потока анализирует битовый поток, подаваемый с контакта 30, и подвергает данные кодирования ошибки предсказания, флаг слияния, индекс слияния, направление предсказания (тип межкадрового предсказания) при предсказании с компенсацией движения, опорный индекс, разность векторов и индекс предсказываемого вектора энтропийному декодированию в соответствии с синтаксисом. Энтропийное декодирование выполняется по методу, включающему в себя кодирование с переменной длиной слова, такое как арифметическое кодирование, кодирование Хаффмана или т.п. Блок 201 анализа битового потока подает данные кодирования ошибки предсказания в блок 202 декодирования ошибки предсказания, а флаг слияния, индекс слияния, тип межкадрового предсказания, опорный индекс, разность векторов и индекс предсказываемого вектора - в блок 204 воспроизведения информации о движении.

Блок 201 анализа битового потока декодирует информацию о разделении для блока кодирования, тип размера блока предсказания и режим кодирования с предсказанием, которые используются в устройстве 200 декодирования движущегося изображения, из битового потока вместе с SPS (набором параметров последовательности), определяющим группу параметров для определения свойств битового потока, PPS (набором параметров кадра), определяющим группу параметров для определения свойств кадра, заголовком слайса, определяющим группу параметров для определения свойства слайса и т.п.

Блок 204 воспроизведения информации о движении воспроизводит информацию о движении из флага слияния, индекса слияния, типа межкадрового предсказания, опорного индекса, разности векторов и индекса предсказываемого вектора, подаваемых из блока 201 анализа битового потока, и группы блоков-кандидатов, подаваемых с помощью памяти 207 для информации о движении, и подает эту информацию о движении в блок 205 компенсации движения и память 207 для информации о движении. Детальную конфигурацию блока 204 воспроизведения информации о движении рассмотрим ниже.

Блок 205 компенсации движения выполняет компенсацию движения на опорном изображении в памяти 206 кадров, указываемом опорным индексом, на основе информации о движении, подаваемой блоком 204 воспроизведения информации о движении, и генерирует сигнал предсказания. Если направление предсказания является двунаправленным предсказанием, то блок 205 компенсации движения генерирует в качестве сигнала предсказания среднее значение сигналов предсказания для L0-предсказания и L1-предсказания и подает этот сигнал предсказания в блок 203 суммирования.

В результате выполнения процесса обработки, такого как обратное квантование, обратное ортогональное преобразование или т.п.на данных кодирования ошибки предсказания блок 202 декодирования ошибки предсказания генерирует сигнал ошибки предсказания, подаваемый из блока 201 анализа битового потока, и подает этот сигнал ошибки предсказания в блок 203 суммирования.

Блок 203 суммирования в результате суммирования сигнала ошибки предсказания, подаваемого из блока 202 декодирования ошибки предсказания, и сигнала предсказания, подаваемого из блока 205 компенсации движения, генерирует сигнал декодированного изображения и подает этот сигнал декодированного изображения в память 206 кадров и на контакт 31.

Память 206 кадров и память 207 для информации о движении имеют функции, идентичные функциям соответственно памяти 110 кадров и памяти 111 для информации о движении в составе устройства 100 кодирования движущегося изображения. Память 206 кадров хранит сигнал декодированного изображения, подаваемый из блока 203 суммирования. Память 207 для информации о движении хранит информацию о движении, подаваемую из блока 204 воспроизведения информации о движении, в единицах минимальных размеров блока предсказания. Блок 209 создания списка опорных кадров создает список опорных кадр в соответствии с типом слайса, подаваемым из блока 208 управления декодирования. В случае Р-слайса или В-слайса блок 209 создания списка опорных кадров создает список L0 опорных кадров, а в случае В-слайса блок 209 создания списка опорных кадров создает список L1 опорных кадров. Конкретный способ создания списка L0 опорных кадров и списка L1 опорных кадров является аналогичным способу, реализуемому блоком 113 создания списка опорных кадров в составе устройства 100 кодирования движущегося изображения.

Детальная конфигурация блока 204 воспроизведения информации о движении

Рассмотрим далее детальную конфигурацию блока 204 воспроизведения информации о движении. На фиг. 32 представлена конфигурация блока 204 воспроизведения информации о движении. Блок 204 воспроизведения информации о движении включает в себя блок 210 принятия решения о режиме кодирования, блок 211 воспроизведения вектора движения и блок 212 воспроизведения информации о движении со слиянием. Контакт 32, контакт 33, контакт 34 и контакт 36 подключены соответственно к блоку 201 анализа битового потока, памяти 207 для информации о движении, блоку 205 компенсации движения и памяти 207 для информации о движении.

Подробное описание процесса работы блока 204 воспроизведения информации о движении

Рассмотрим далее функции каждого компонента в процессе работы. Блок 210 принятия решения о режиме кодирования определяет равенство флага слияния, подаваемого из блока 201 анализа битового потока, "0" или "1". Если флаг слияния равен "0", то блок 210 принятия решения о режиме кодирования подает тип межкадрового предсказания, опорный индекс, разность векторов и индекс предсказываемого вектора, подаваемые из блока 201 анализа битового потока, в блок 211 воспроизведения вектора движения. Если флаг слияния равен "1", то блок 210 принятия решения о режиме кодирования подает индекс слияния, подаваемый из блока 201 анализа битового потока, в блок 212 воспроизведения информации о движении со слиянием.

Блок 211 воспроизведения вектора движения воспроизводит вектор движения из типа межкадрового предсказания, опорного индекса, разности векторов и индекса предсказываемого вектора, подаваемых из блока 210 принятия решения о режиме кодирования, и группы блоков-кандидатов, подаваемых с контакта 22, генерирует информацию о движении и подает эту информацию о движении на контакт 34 и контакт 36.

Блок 212 воспроизведения информации о движении со слиянием создает список кандидатов с информацией о движении со слиянием из группы блоков-кандидатов, подаваемой с контакта 33, выбирает информацию о движении кандидата с информацией о движении со слиянием, указываемого индексом слияния, подаваемым из блока 210 принятия решения о режиме кодирования, из списка кандидатов с информацией о движении со слиянием, и подает эту информацию о движении на контакт 34 и контакт 36.

Детальная конфигурация блока 212 воспроизведения информации о движении со слиянием

Рассмотрим далее детальную конфигурацию блока 212 воспроизведения информации о движении со слиянием. На фиг. 33 представлена конфигурация блока 212 воспроизведения информации о движении со слиянием. Блок 212 воспроизведения информации о движении со слиянием включает в себя блок 230 создания списка кандидатов с информацией о движении со слиянием и блок 231 выбора информации о движении со слиянием. Контакт 35 подключен к блоку 210 принятия решения о режиме кодирования.

Подробное описание процесса работы блока 212 воспроизведения информации о движении со слиянием

Рассмотрим далее функции каждого компонента в процессе работы. На фиг. 34 представлена блок-схема, иллюстрирующая последовательность операций в процессе работы блока 212 воспроизведения информации о движении со слиянием. Блок 230 создания списка кандидатов на информацию о движении со слиянием создает список кандидатов на информацию о движении со слиянием из группы блоков-кандидатов, подаваемой с контакта 33, (S310) и подает этот список кандидатов на информацию о движении со слиянием в блок 231 выбора информации о движении со слиянием.

Блок 231 выбора информации о движении со слиянием получает индекс слияния, подаваемый с контакта 35 (S311), выбирает кандидата на информацию о движении со слиянием, указываемого индексом слияния из списка кандидатов на информацию о движении со слиянием, подаваемого из блока 230 создания списка кандидатов на информацию о движении со слиянием, определяет информацию о движении со слиянием (S312) и подает эту информацию о движении со слиянием на контакты 34 и 36.

Детальная конфигурация блока 211 воспроизведения вектора движения

Рассмотрим далее детальную конфигурацию блока 211 воспроизведения вектора движения. На фиг. 35 представлена блок-схема, иллюстрирующая конфигурацию блока 211 воспроизведения вектора движения. Блок 211 воспроизведения вектора движения включает в себя блок 220 создания списка кандидатов на предсказываемый вектор, блок 221 выбора предсказываемого вектора и блок 222 суммирования. Контакт 35 подключен к блоку 210 принятия решения о режиме кодирования.

Подробное описание процесса работы блока 211 воспроизведения вектора движения

Рассмотрим далее функции каждого компонента в процессе работы. На фиг. 36 представлена блок-схема, иллюстрирующая последовательность операций в процессе работы блока 211 воспроизведения вектора движения. Если тип межкадрового предсказания, подаваемого с контакта 35, является L0-предсказанием, то блок 211 воспроизведения вектора движения вычисляет вектор движения для L0-предсказания, если тип межкадрового предсказания является L1-предсказанием, то выполняется вычисление вектора движения для L1-предсказания, а если тип межкадрового предсказания является BI-предсказанием, то выполняется вычисление вектора движения для L0-предсказания и L1-предсказания. Вычисление вектора движения для каждого LX-предсказания выполняется следующим образом.

Блок 211 воспроизведения вектора движения создает список кандидатов на предсказываемый вектор для LX-предсказания из опорного индекса для LX-предсказания, подаваемого с контакта 35, и группы блоков-кандидатов, подаваемой с контакта 33 (S320) и подает этот список кандидатов на предсказываемый вектор для LX-предсказания в блок 221 выбора предсказываемого вектора.

Блок 221 выбора предсказываемого вектора получает индекс предсказываемого вектора для LX-предсказания, подаваемый с контакта 35 (S321), выбирает кандидата на предсказываемый вектор, указываемый индексом предсказываемого вектора для LX-предсказания, из списка предсказываемых векторов для LX-предсказания, подаваемого из блока 220 создания списка кандидатов на предсказываемый вектор, определяет кандидата на предсказываемый вектор в качестве предсказываемого вектора для LX-предсказания (S322) и в результате суммирования этого предсказываемого вектора для LX-предсказания и разности векторов LX-предсказания, подаваемой с контакта 35, вычисляет вектор движения для LX-предсказания (S323).

Информация о движении, генерированная в результате комбинирования этого вектора движения для LX-предсказания и типа межкадрового предсказания, подается на контакт 34 и 36.

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

Второй вариант осуществления

Рассмотрим далее второй вариант осуществления. Отличие от первого варианта осуществления состоит в работе блока 165 добавления вторых кандидатов на информацию о движении со слиянием. Рассмотрим далее отличительные моменты второго варианта осуществления. На фиг. 37 представлена блок-схема, иллюстрирующая последовательность операций в процессе работы блока 165 добавления вторых кандидатов на информацию о движении со слиянием согласно второму варианту осуществления. Отличие работы блока 165 добавления вторых кандидатов на информацию о движении со слиянием от первого варианта осуществления состоит в добавлении этапов S187-S189 вместо этапа S184. Рассмотрим далее эти этапы S187-S189. При этом будем считать, что число доступных опорных кадров в списке L0 опорных кадров равно или превышает число доступных опорных кадров в списке L1 опорных кадров.

Блок 165 добавления вторых кандидатов на информацию о движении со слиянием проверяет, не превышает ли i максимального значения опорного индекса для L1-предсказания (num_ref_idx_11_active_minusl) (S187). Если i не превышает максимального значения опорного индекса для L1-предсказания (num_ref_idx_11_active_minusl) (ДА на этапе S187), то блок 165 добавления вторых кандидатов на информацию о движении со слиянием извлекает второго дополнительного кандидата на информацию о движении со слиянием, имеющего вектор движения (mvL1) (0,0) для L1-предсказания, опорный индекс (ref_idx_11) i для L1-предсказания и тип межкадрового предсказания Pred_BI (S188), и добавляет этого второго дополнительного кандидата на информацию о движении со слиянием в список кандидатов на информацию о движении со слиянием (S185). Если i превышает максимальное значение опорного индекса для L1-предсказания (num_ref_idx_11_active_minusl) (НЕТ на этапе S187), то блок 165 добавления вторых кандидатов на информацию о движении со слиянием извлекает второго дополнительного кандидата на информацию о движении со слиянием, имеющего вектор движения (mvLl) (0,0) для L1-предсказания, опорный индекс (ref_idx_11) 0 для L1-предсказания и тип межкадрового предсказания Pred_BI, (SI89) и добавляет этого второго дополнительного кандидата на информацию о движении со слиянием в список кандидатов на информацию о движении со слиянием (S185).

На фиг. 38А и 38В представлены таблицы, иллюстрирующие соотношения между опорным индексом второго дополнительного кандидата на информацию о движении со слиянием и РОС согласно второму варианту осуществления. Фиг. 38А и 38В иллюстрируют примеры, в которых число доступных опорных кадров в списке L0 опорных кадров составляет 4, а число доступных опорных кадров в списке L1 опорных кадров составляет 2. Фиг. 38А иллюстрирует опорный индекс второго дополнительного кандидата на информацию о движении со слиянием в случае без перестановки между порядком ввода изображения и порядком кодирования. Фиг. 38В иллюстрирует опорный индекс второго дополнительного кандидата на информацию о движении со слиянием в случае с перестановкой между порядком ввода изображения и порядком кодирования.

Рассмотрим таблицу, представленную на фиг. 38А. Вследствие того, что как опорный индекс для L0-предсказания, так и опорный индекс для L1-предсказания 0-го второго дополнительного кандидата на информацию о движении со слиянием равен 0, и как опорный кадр для L0-предсказания, так и опорный кадр для L1-предсказания являются идентичными опорным кадрам, имеющим РОС=n+7, то при наличии информации о движения для двунаправленного предсказания у этого 0-го второго дополнительного кандидата на информацию о движении со слиянием этот 0-й второй дополнительный кандидат на информацию о движении со слиянием представляет сигнал предсказания, идентичный сигналу предсказания для однонаправленного предсказания, полученному в результате выполнения предсказания с компенсацией движения на опорном кадре, имеющем РОС=n+7, с использованием вектора движения (0,0).

Вследствие того, что как опорный индекс для L0-предсказания, так и опорный индекс для L1-предсказания 1-го второго дополнительного кандидата на информацию о движении со слиянием равен 1, и как опорный кадр для L0-предсказания, так и опорный кадр для L1-предсказания являются идентичными опорным кадрам, имеющим РОС=n+6, то при наличии информации о движения для двунаправленного предсказания у этого 1-го второго дополнительного кандидата на информацию о движении со слиянием этот 1-й второй дополнительный кандидат на информацию о движении со слиянием представляет сигнал предсказания, идентичный сигналу предсказания для однонаправленного предсказания, полученному в результате выполнения предсказания с компенсацией движения на опорном кадре, имеющем РОС=n+6, с использованием вектора движения (0,0).

У 2-го второго дополнительного кандидата на информацию о движении со слиянием опорный индекс для L0-предсказания и опорный индекс для L1-предсказания равны соответственно 2 и 0, а опорный кадр для L0-предсказания и опорный кадр для L1-предсказания являются соответственно опорным кадром, имеющим РОС=n+5, и опорным кадром, имеющим РОС=n+7.

У 3-го второго дополнительного кандидата на информацию о движении со слиянием опорный индекс для L0-предсказания и опорный индекс для L1-предсказания равны соответственно 3 и 0, а опорный кадр для L0-предсказания и опорный кадр для L1-предсказания являются соответственно опорным кадром, имеющим РОС=n+4, и опорным кадром, имеющим РОС=n+7.

Как показано выше, в результате задания i-го второго дополнительного кандидата на информацию о движении со слиянием для представления информации о движении с вектором движения (0,0) для L0-предсказания и L1-предсказания, опорным индексом i для L0-предсказания и L1-предсказания и типом межкадрового предсказания Pred_BI в случае, когда опорный кадр в списке L1 опорных кадров имеется, и задания i-го второго дополнительного кандидата на информацию о движении со слиянием для представления информации о движении с вектором движения (0,0) для L0-предсказания, опорным индексом i для L0-предсказания и опорным индексом 0 для L1-предсказания и типом межкадрового предсказания Pred_BI в случае, когда опорного кадра в списке L1 опорных кадров не имеется, обеспечивает возможность извлечения вторых дополнительных кандидатов на информацию о движении со слиянием, имеющих информацию о движении с двунаправленным предсказанием, представляющую сигналы предсказания, идентичные соответствующим сигналам для однонаправленного предсказания, число которых может достигать числа доступных опорных кадров в списке L1 опорных кадров, и, как правило, позволяет осуществлять предсказание с компенсацией движения с использованием только опорного кадра, близкого к целевому изображению, с высокой корреляцией с целевым изображением, а также осуществлять двунаправленное предсказание с использованием самого близкого опорного кадра в случае, когда число извлеченных вторых дополнительных кандидатов на информацию о движении со слиянием превышает число доступных опорных кадров в списке L1 опорных кадров.

В этом случае, например, при неидентичности опорного кадра, имеющего РОС=n+7, и целевого кадра вследствие наличия экранирующего объекта в части движущегося изображения, и при идентичности опорного кадра, имеющего РОС=n+6, и целевого изображения вследствие отсутствия экранирующего объекта в опорном кадре, имеющем РОС=n+6, использование 1-го второго дополнительного кандидата на информацию о движении со слиянием обеспечивает возможность получения сигнала предсказания высокой точности.

Рассмотрим таблицу, представленную на фиг. 38В. Как опорный индекс для L0-предсказания, так и опорный индекс для L1-предсказания 0-го второго дополнительного кандидата на информацию о движении со слиянием равен 0, а опорный кадр для L0-предсказания и опорный кадр для L1-предсказания являются соответственно опорным кадром, имеющим РОС=n+4, и опорным кадром, имеющим РОС=n+6.

Опорный индекс L0-предсказания и опорный индекс L1-предсказания первого второго дополнительного кандидата на информацию о движении со слиянием и 1, и опорный кадр L0-предсказания и опорное изображения для L1-предсказания являются соответственно опорным кадром, имеющим РОС=n+2, и опорным кадром, имеющим РОС=n+8.

Вследствие того, что опорный индекс для L0-предсказания и опорный индекс для L1-предсказания 2-го второго дополнительного кандидата на информацию о движении со слиянием равны соответственно 2 и 0, и как опорный кадр для L0-предсказания, так и опорный кадр для L1-предсказания являются идентичными опорным кадрам, имеющим РОС=n+6, то при наличии информации о движения для двунаправленного предсказания у этого 2-го второго дополнительного кандидата на информацию о движении со слиянием этот 2-й второй дополнительный кандидат на информацию о движении со слиянием представляет сигнал предсказания, идентичный сигналу предсказания для однонаправленного предсказания, полученному в результате выполнения предсказание с компенсацией движения на опорном кадре, имеющем РОС=n+6, с использованием вектора движения (0,0).

Опорный индекс для L0-предсказания и опорный индекс для L1-предсказания 3-го второго дополнительного кандидата на информацию о движении со слиянием равны соответственно 3 и 0, а опорный кадр L0-предсказания и опорный кадр для L1-предсказания являются соответственно опорным кадром, имеющим РОС=n+8, и опорным кадром, имеющим РОС=n+6.

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

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

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

Третий вариант осуществления

Рассмотрим далее третий вариант осуществления. Отличие от первого варианта осуществления состоит в работе блока 165 добавления вторых кандидатов на информацию о движении со слиянием. Рассмотрим далее отличительные моменты второго варианта осуществления. На фиг. 39 представлена блок-схема, иллюстрирующая последовательность операций в процессе работы блока добавления вторых кандидатов на информацию о движении со слиянием согласно третьему варианту осуществления. Отличие работы блока 165 добавления вторых кандидатов на информацию о движении со слиянием от первого варианта осуществления состоит в добавлении этапов S190-S192 вместо этапа S184. Кроме того, отличается и уравнение для вычисления MaxNumGenCand, представляющего собой максимальное число извлекаемых вторых дополнительных кандидатов на информацию о движении со слиянием. Рассмотрим далее эти этапы S190-S192.

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

Кроме того, блок 165 добавления вторых кандидатов на информацию о движении со слиянием проверяет, имеется ли опорный кадр, указываемый опорным индексом для L0-предсказания, в списке опорных кадров для L1-предсказания или нет (S190).

Если опорный кадр, указываемый опорным индексом для L0-предсказания, имеется в списке опорных кадров для L1-предсказания, то блок 165 добавления вторых кандидатов на информацию о движении со слиянием извлекает второго дополнительного кандидата на информацию о движении со слиянием, имеющего вектор движения (mvL1) (0,0) для L1-предсказания, опорный индекс для L1-предсказания, указывающий на опорный кадр, идентичный опорному кадру, указываемому опорным индексом для L0-предсказания, и тип межкадрового предсказания Pred_BI, (S191) и добавляет этого второго дополнительного кандидата на информацию о движении со слиянием в список кандидатов на информацию о движении со слиянием (S185). При этом предположим, что getRefIdxL1 (ref_idx_10) является функцией для получения опорного индекса для L1-предсказания, указывающего на опорный кадр, идентичный опорному кадру, указываемому опорным индексом для L0-предсказания.

В случае отсутствия опорного кадра, указываемого опорным индексом для L0-предсказания, в списке опорных кадров для L1-предсказания, блок 165 добавления вторых кандидатов на информацию о движении со слиянием извлекает второго дополнительного кандидата на информацию о движении со слиянием, имеющего вектор движения (mvL1) (0,0) для L1-предсказания, опорный индекс i для L1-предсказания и тип межкадрового предсказания Pred_BI, (S192) и добавляет этого второго дополнительного кандидата на информацию о движении со слиянием в список кандидатов на информацию о движении со слиянием (S185).

В случае без перестановки между порядком ввода изображения и порядком кодирования и, как указано, идентичности списка L0 опорных кадров и списка L1 опорных кадров одного другому возможно также избежать реализации этапов S190 и S191.

На фиг. 40А и 40В представлены таблицы, иллюстрирующие соотношения между опорным индексом второго дополнительного кандидата на информацию о движении со слиянием и РОС согласно третьему варианту осуществления. Фиг. 40А и 40В иллюстрируют примеры, в которых число доступных опорных кадров в списке L0 опорных кадров составляет 4 и число доступных опорных кадров в списке L1 опорных кадров составляет 4. Фиг. 40А иллюстрирует опорный индекс второго дополнительного кандидата на информацию о движении со слиянием в случае без перестановки между порядком ввода изображения и порядком кодирования, а фиг. 40В иллюстрирует опорный индекс второго дополнительного кандидата на информацию о движении со слиянием в случае с перестановкой между порядком ввода изображения и порядком кодирования.

Рассмотрим таблицу, представленную на фиг. 40А. Вследствие того, что как опорный индекс для L0-предсказания, так и опорный индекс для L1-предсказания 0-го второго дополнительного кандидата на информацию о движении со слиянием равен 0, и как опорный кадр для L0-предсказания, так и опорный кадр для L1-предсказания являются идентичными опорным кадрам, имеющим РОС=n+7, то при наличии информации о движения для двунаправленного предсказания у этого 0-го второго дополнительного кандидата на информацию о движении со слиянием полученный кадр предсказания является идентичным сигналу предсказания для однонаправленного предсказания, полученному в результате выполнения предсказания с компенсацией движения на опорном кадре, имеющем РОС=n+7, с использованием вектора движения (0,0).

Вследствие того, что как опорный индекс для L0-предсказания, так и опорный индекс для L1-предсказания 1-го второго дополнительного кандидата на информацию о движении со слиянием равен 1, и как опорный кадр для L0-предсказания, так и опорный кадр для L1-предсказания являются идентичными опорным кадрам, имеющим РОС=n+6, то при наличии информации о движения для двунаправленного предсказания у этого 1-го второго дополнительного кандидата на информацию о движении со слиянием полученный кадр предсказания является идентичным сигналу предсказания для однонаправленного предсказания, полученному в результате выполнения предсказания с компенсацией движения на опорном кадре, имеющем РОС=n+6, с использованием вектора движения (0,0).

Вследствие того, что как опорный индекс для L0-предсказания, так и опорный индекс для L1-предсказания 2-го второго дополнительного кандидата на информацию о движении со слиянием равен 2, и как опорный кадр для L0-предсказания, так и опорный кадр для L1-предсказания являются идентичными опорным кадрам, имеющим РОС=n+5, то при наличии информации о движения для двунаправленного предсказания у этого 2-го второго дополнительного кандидата на информацию о движении со слиянием полученный кадр предсказания является идентичным сигналу предсказания для однонаправленного предсказания, полученному в результате выполнения предсказания с компенсацией движения на опорном кадре, имеющем РОС=n+5, с использованием вектора движения (0,0).

Вследствие того, что как опорный индекс для L0-предсказания, так и опорный индекс для L1-предсказания 3-го второго дополнительного кандидата на информацию о движении со слиянием равен 3, и как опорный кадр для L0-предсказания, так и опорный кадр для L1-предсказания являются идентичными опорным кадрам, имеющим РОС=n+4, то при наличии информации о движения для двунаправленного предсказания у этого 3-го второго дополнительного кандидата на информацию о движении со слиянием полученный кадр предсказания является идентичным сигналу предсказания для однонаправленного предсказания, полученному в результате выполнения предсказания с компенсацией движения на опорном кадре, имеющем РОС=n+4, с использованием вектора движения (0,0).

Рассмотрим таблицу, представленную на фиг. 40В. Вследствие того, что опорный индекс для L0-предсказания и опорный индекс для L1-предсказания 0-го второго дополнительного кандидата на информацию о движении со слиянием равны соответственно 0 и 2, и как опорный кадр для L0-предсказания, так и опорный кадр для L1-предсказания являются идентичными опорным кадрам, имеющим РОС=n+4, то при наличии информации о движения для двунаправленного предсказания у этого 0-го второго дополнительного кандидата на информацию о движении со слиянием полученный кадр предсказания является идентичным сигналу предсказания для однонаправленного предсказания, полученному в результате выполнения предсказания с компенсацией движения на опорном кадре, имеющем РОС=n+4, с использованием вектора движения (0,0).

Вследствие того, что опорный индекс для L0-предсказания и опорный индекс для L1-предсказания 1-го второго дополнительного кандидата на информацию о движении со слиянием равны соответственно 1 и 3, и как опорный кадр для L0-предсказания, так и опорный кадр для L1-предсказания являются идентичными опорным кадрам, имеющим РОС=n+2, то при наличии информации о движения для двунаправленного предсказания у этого 1-го второго дополнительного кандидата на информацию о движении со слиянием полученный кадр предсказания является идентичным сигналу предсказания для однонаправленного предсказания, полученному в результате выполнения предсказания с компенсацией движения на опорном кадре, имеющем РОС=n+2, с использованием вектора движения (0,0).

Вследствие того, что опорный индекс для L0-предсказания и опорный индекс для L1-предсказания 2-го второго дополнительного кандидата на информацию о движении со слиянием равны соответственно 2 и 0, и как опорный кадр для L0-предсказания, так и опорный кадр для L1-предсказания являются идентичными опорным кадрам, имеющим РОС=n+6, то при наличии информации о движения для двунаправленного предсказания у этого 2-го второго дополнительного кандидата на информацию о движении со слиянием полученный кадр предсказания является идентичным сигналу предсказания для однонаправленного предсказания, полученному в результате выполнения предсказания с компенсацией движения на опорном кадре, имеющем РОС=n+6, с использованием вектора движения (0,0).

Вследствие того, что опорный индекс для L0-предсказания и опорный индекс для L1-предсказания 3-го второго дополнительного кандидата на информацию о движении со слиянием равны соответственно 3 и 1, и как опорный кадр для L0-предсказания, так и опорный кадр для L1-предсказания являются идентичными опорным кадрам, имеющим РОС=n+8, то при наличии информации о движения для двунаправленного предсказания у этого 3-го второго дополнительного кандидата на информацию о движении со слиянием полученный кадр предсказания является идентичным сигналу предсказания для однонаправленного предсказания, полученному в результате выполнения предсказания с компенсацией движения на опорном кадре, имеющем РОС=n+8, с использованием вектора движения (0,0).

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

В этом случае, например, при неидентичности изображения в положении, совпадающем с положением целевого блока в самом близком опорном кадре, и изображения целевого блока вследствие наличия экранирующего объекта в положении, совпадающем с положением целевого блока в самом близком опорном кадре, и при идентичности изображения в положении, совпадающем с положением целевого блока в опорном кадре на некотором удалении, и изображения целевого блока вследствие отсутствия экранирующего объекта использование второго дополнительного кандидата на информацию о движении со слиянием, относящегося к опорному кадру без экранирующего объекта, обеспечивает возможность получения сигнала предсказания высокой точности. В частности, на фиг. 40А при неидентичности изображения в положении, совпадающем с положением целевого блока в опорном кадре, имеющем РОС=n+7, и изображения целевого блока вследствие наличия экранирующего объекта в опорном кадре, имеющем РОС=n+7, и при идентичности изображения в положении, совпадающем с положением целевого блока в опорном кадре, имеющем РОС=n+6, и изображения целевого блока вследствие отсутствия экранирующего объекта в опорном кадре, имеющем РОС=n+6, выбор 1-го второго дополнительного кандидата на информацию о движении со слиянием обеспечивает возможность получения сигнала предсказания высокой точности.

Кроме того, например, в движущихся изображениях со статическими кадрами, опережающими целевой кадр, и кадрами с движением, следующими за целевым кадром, возможность получения сигнала предсказания высокой точности может быть обеспечена за счет использования опорного кадра с временным опережением целевого кадра. В частности, на фиг. 40В, в движущихся изображениях со статическими кадрами, опережающими целевой кадр, и опорным кадром, имеющим РОС=n+6, и кадрами с движением, следующими за целевым кадром, возможность получения сигнала предсказания высокой точности может быть обеспечена за счет использования 0-го второго дополнительного кандидата на информацию о движении со слиянием, относящегося к опорному кадру, имеющему РОС=n+4, с временным опережением целевого кадра.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

генерирования списка кандидатов на информацию о движении со слиянием, являющегося списком кандидатов на информацию о движении со слиянием, с использованием кандидата на информацию о движении со слиянием в пространстве и кандидата на информацию о движении со слиянием во времени;

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

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

Пункт 4. Устройство передачи, содержащее:

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

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

где способ кодирования движущегося изображения включает в себя этапы:

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

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

генерирования списка кандидата на информацию о движении со слиянием, являющегося списком кандидатов на информацию о движении со слиянием, с использованием кандидата на информацию о движении со слиянием в пространстве и кандидата с информацией о движении со слиянием во времени;

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

выбора одного кандидата на информацию о движении со слиянием из списка кандидатов на информацию о движении со слиянием с добавленным новым кандидатом на информацию о движении со слиянием и извлечения выбранного кандидата на информацию о движении со слиянием в качестве информации о движении блока предсказания, являющегося объектом кодирования; и

кодирования индекса определения для определения выбранного кандидата на информацию о движении со слиянием.

Пункт 5. Способ передачи, содержащий этапы:

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

передачи данных кодирования, подвергнутых пакетированию,

где способ кодирования движущегося изображения включает в себя этапы:

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

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

генерирования списка кандидата на информацию о движении со слиянием, являющегося списком кандидатов на информацию о движении со слиянием, с использованием кандидата на информацию о движении со слиянием в пространстве и кандидата с информацией о движении со слиянием во времени;

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

выбора одного кандидата на информацию о движении со слиянием из списка кандидатов на информацию о движении со слиянием с добавленным новым кандидатом на информацию о движении со слиянием и извлечения выбранного кандидата на информацию о движении со слиянием в качестве информации о движении блока предсказания, являющегося объектом кодирования; и

кодирования индекса определения для определения выбранного кандидата на информацию о движении со слиянием.

Пункт 6. Устройство приема, адаптированное к извлечению информация о движении

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

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

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

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

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

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

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

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

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

ОПИСАНИЕ НОМЕРОВ ПОЗИЦИЙ

100 - устройство кодирования движущегося изображения, 101 - блок получения изображения блока предсказания, 102 - блок вычитания, 103 - блок кодирования ошибки предсказания, 104 - блок генерирования битового потока, 105 - блок декодирования ошибки предсказания, 106 блок - компенсации движения, 107 - блок суммирования, 108 - блок обнаружения вектора движения, 109 - блок генерирования информации о движении, 110 - память кадров, 111 - память для информации о движении, 112 - блок управления кодированием, 113 - блок создания списка опорных кадров, 120 - блок определения режима с предсказываемым вектором, 121 - блок определения режима слияния, 122 - блок определения режима кодирования с предсказанием, 130 - блок создания списка кандидатов на предсказываемый вектор, 131 - блок определения предсказываемого вектора, 140 - блок создания списка кандидатов на информацию о движении со слиянием, 141 - блок выбора информации о движении со слиянием, 150 - блок извлечения кандидатов на предсказываемый вектор в пространстве, 151 - блок извлечения кандидатов на предсказываемый вектор с масштабированием в пространстве, 152 - блок извлечения кандидатов на предсказываемый вектор во времени, 153 - блок создания списка предсказываемых векторов, 154 - блок удаления избыточных кандидатов на предсказываемый вектор, 155 - блок добавления кандидатов на предсказываемый вектор, 160 - блок извлечения кандидатов на информацию о движении со слиянием в пространстве, 161 - блок извлечения кандидатов на информацию о движении со слиянием во времени, 162 - блок создания списка кандидатов на информацию о движении со слиянием, 163 - блок удаления избыточных кандидатов на информацию о движении со слиянием, 164 - блок добавления первых кандидатов на информацию о движении со слиянием, 165 - блок добавления вторых кандидатов на информацию о движении со слиянием, 200 - устройство декодирования движущегося изображения, 201 - блок анализа битового потока, 202 - блок декодирования ошибки предсказания, 203 - блок суммирования, 204 - блок воспроизведения информации о движении, 205 - блок компенсации движения, 206 - память кадров, 207 - память для информации о движении, 208 - блок управления декодированием, 209 - блок создания списка опорных кадров, 210 - блок принятия решения о режиме кодирования, 211 - блок воспроизведения вектора движения, 212 - блок воспроизведения информации о движении со слиянием, 220 - блок создания списка кандидатов на предсказываемый вектор, 221 - блок выбора предсказываемого вектора, 222 - блок суммирования, 230 - блок создания списка кандидатов на информацию о движении со слиянием, 231 - блок выбора информации о движении со слиянием.

Промышленная применимость

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

Похожие патенты RU2594985C2

название год авторы номер документа
Устройство кодирования движущегося изображения, способ кодирования движущегося изображения и программа кодирования движущегося изображения, а также устройство декодирования движущегося изображения, способ декодирования движущегося изображения и программа декодирования движущегося изображения 2012
  • Такехара Хидеки
  • Накамура Хиройя
  • Фукусима Сигеру
RU2606399C2
УСТРОЙСТВО И СПОСОБ ДЕКОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ, ДОЛГОВРЕМЕННЫЙ СЧИТЫВАЕМЫЙ КОМПЬЮТЕРОМ НОСИТЕЛЬ ЗАПИСИ ДЛЯ ХРАНЕНИЯ ПРОГРАММЫ ДЕКОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ 2013
  • Такехара Хидеки
  • Фукусима Сигеру
  • Накамура Хиройя
RU2629359C1
УСТРОЙСТВО И СПОСОБ ДЕКОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ, ДОЛГОВРЕМЕННЫЙ СЧИТЫВАЕМЫЙ КОМПЬЮТЕРОМ НОСИТЕЛЬ ЗАПИСИ ДЛЯ ХРАНЕНИЯ ПРОГРАММЫ ДЕКОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ 2017
  • Такехара Хидеки
  • Фукусима Сигеру
  • Накамура Хиройя
RU2654516C1
Устройство кодирования движущегося изображения, способ кодирования движущегося изображения и программа кодирования движущегося изображения, а также устройство декодирования движущегося изображения, способ декодирования движущегося изображения и программа декодирования движущегося изображения 2012
  • Фукусима Сигеру
  • Накамура Хиройя
  • Такехара Хидеки
RU2623796C9
Устройство кодирования движущегося изображения, способ кодирования движущегося изображения и программа кодирования движущегося изображения, а также устройство декодирования движущегося изображения, способ декодирования движущегося изображения и программа декодирования движущегося изображения 2013
  • Накамура Хиройя
  • Фукусима Сигеру
  • Такехара Хидеки
RU2617920C9
Устройство декодирования движущегося изображения и способ декодирования движущегося изображения 2019
  • Накамура Хиройя
  • Фукусима Сигеру
  • Такехара Хидеки
RU2708360C1
Устройство кодирования движущегося изображения и способ кодирования движущегося изображения 2019
  • Накамура Хиройя
  • Фукусима Сигеру
  • Такехара Хидеки
RU2708359C1
УСТРОЙСТВО КОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ, СПОСОБ КОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ И ПРОГРАММА КОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ, А ТАКЖЕ УСТРОЙСТВО ДЕКОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ, СПОСОБ ДЕКОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ И ПРОГРАММА ДЕКОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ 2012
  • Фукусима Сигеру
  • Накамура Хиройя
  • Такехара Хидеки
RU2579665C9
УСТРОЙСТВО И СПОСОБ ДЕКОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ, АДАПТИРОВАННЫЕ К ИЗВЛЕЧЕНИЮ ИНФОРМАЦИИ О ДВИЖЕНИИ 2019
  • Такехара Хидеки
  • Фукусима Сигеру
  • Накамура Хиройя
RU2699388C1
Устройство и способ декодирования движущегося изображения, адаптированные к извлечению информации о движении, долговременный считываемый компьютером носитель записи, хранящий программу декодирования движущегося изображения, адаптированную к извлечению информации о движении 2018
  • Такехара Хидеки
  • Фукусима Сигеру
  • Накамура Хиройя
RU2688149C1

Иллюстрации к изобретению RU 2 594 985 C2

Реферат патента 2016 года УСТРОЙСТВО КОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ, СПОСОБ КОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ И ПРОГРАММА КОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ, А ТАКЖЕ УСТРОЙСТВО ДЕКОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ, СПОСОБ ДЕКОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ И ПРОГРАММА ДЕКОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ

Изобретение относится к видеокодированию, в частности к кодированию информации о движении, используемой при предсказании с компенсацией движения. Техническим результатом является уменьшение размера кода информации о движении и повышение эффективности кодирования за счет задания множества кандидатов на информацию о движении в случае, когда информация о движении не передается. Указанный технический результат достигается тем, что блок 162 создания списка кандидатов на информацию о движении со слиянием генерирует список кандидатов на информацию о движении со слиянием, являющийся списком кандидатов на информацию о движении со слиянием, с использованием кандидата на информацию о движении со слиянием в пространстве и кандидата на информацию о движении со слиянием во времени. Блок 165 добавления вторых кандидатов на информацию о движении со слиянием генерирует нового кандидата на информацию о движении со слиянием, который в случае, когда указанный опорный индекс указывает на доступный опорный кадр, включает в себя этот опорный индекс, а в случае, когда указанный опорный индекс не указывает на доступный опорный кадр, включает в себя заданный опорный индекс вместе с вектором движения, имеющим предварительно заданные размер и направление, и добавляет этого нового кандидата на информацию о движении со слиянием в список кандидатов на информацию о движении со слиянием. Блок 141 выбора информации о движении со слиянием выбирает одного кандидата на информацию о движении со слиянием из списка кандидатов на информацию о движении со слиянием с добавленным новым кандидатом на информацию о движении со слиянием и извлекает выбранного кандидата на информацию о движении со слиянием в качестве информации о движении блока предсказания, являющегося объектом кодирования. 3 н.п. ф-лы, 50 ил.

Формула изобретения RU 2 594 985 C2

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

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

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

Документы, цитированные в отчете о поиске Патент 2016 года RU2594985C2

TOSHIYASU SUGIO ET AL, Parsing Robustness for Merge/AMVP, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, JCTVC-F470_R4, 6th Meeting: Torino, 14-22 July 2011
OUDIN S
ET AL, Cross-check of CU-based Merge Candidate List Construction, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3

RU 2 594 985 C2

Авторы

Такехара Хидеки

Фукусима Сигеру

Накамура Хиройя

Даты

2016-08-20Публикация

2013-01-18Подача