Устройство кодирования видео, способ кодирования видео и программа кодирования видео
Иллюстрации
Показать всеИзобретение относится к технологии кодирования видео для улучшения качества изображения. Техническим результатом является уменьшение объема вычислений при поиске движения и выборе режима кодирования. Предложено устройство кодирования видео, которое использует внешнее кодирование с компенсацией движения и внутреннее кодирование относительно входного видеосигнала, которое использует внутреннее кодирование и внешнее кодирование с компенсацией движения относительно входного видеосигнала, содержащее модуль определения для определения, соответствует ли входной видеосигнал стационарной области, области с незначительным движением, или области с обычным движением; первый модуль кодирования для внешнего кодирования вектора движения относительно области, определенной как стационарная область; второй модуль кодирования для поиска движения и внешнего кодирования в ограниченном диапазоне поиска относительно области, определенной как область, имеющая незначительное движение; третий модуль кодирования для поиска движения и внешнего кодирования в обычном диапазоне поиска относительно области, определенной как область, имеющая обычное движение. Модуль определения определяет, является или нет входной видеосигнал сигналом стационарной области со ссылкой на подобие между целевым кадром кодирования и опорным кадром, и когда определено, что он не является таким сигналом, модуль определения определяет, является ли входной видеосигнал сигналом области, имеющей обычное движение, или сигналом области, имеющей незначительное движение, на основании результата сравнения между | P M V | , которое является центральным значением вектора движения, вычисленным в периферийном блоке, и порогом. 3 н. и 10 з.п. ф-лы, 2 ил.
Реферат
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к технологии кодирования видео для улучшения качества изображения кодера и, более конкретно, к устройству кодирования видео, способу кодирования видео и программе кодирования видео, которые уменьшают объем вычислений при поиске движения и выборе режима кодирования.
Испрашивается приоритет японской заявки на патент № 2011-051354, поданной 9 марта 2011 г., содержание которой включено в настоящее описание посредством ссылки.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
При кодировании видео, представленном H.264/AVC (ISO/IEC 14496-10 “MPEG-4 Part 10 Advanced Video Coding”), внутреннее кодирование, при котором кодирование выполняется относительно информации в кадре с использованием корреляции в пространственном направлении, и внешнее кодирование, в котором кодирование выполняется относительно информации между кадрами с использованием корреляции во временном направлении, адаптивно переключаются для использования в ответ на характеристики целевого изображения кодирования, что дает в результате улучшение эффективности сжатия. Внешнее кодирование использует технологию с компенсированным движением и ищет вектор движения, указывающий позицию, в которой целевая область существует в прошлом или в будущем кадре, называемом опорным кадром, то есть степень движения целевой области кодирования между опорным кадром и целевым кадром кодирования. В этом случае можно предполагать, что должна быть аналогичная область в позиции, отделенной вектором движения в опорном кадре, и значение разности с этой областью будет существенно малым. С использованием этого кодируется разностный сигнал с опорным кадром вместо сигнала целевой области кодирования таким образом, что можно улучшить эффективность кодирования.
В процессе поиска движения получения вектора движения широко используется способ, называемый сопоставлением блоков. В H.264/AVC область прямоугольного блока, полученная с помощью разделения экрана, используется в качестве элемента кодирования. При центрировании диапазона поиска на позиции целевого блока кодирования в опорном кадре вычисляется оценочное значение, такое как сумма абсолютных значений разности пикселей с целевым блоком кодирования, и расстояние между позицией шаблона блока, имеющей минимальное значение, и позицией целевого блока кодирования устанавливается в качестве вектора движений. При сопоставлении блоков используется способ, называемый полный поиск, чтобы вычислять оценочное значение, в то же время сдвигая все шаблоны блоков в диапазоне поиска опорного диапазона на один пиксель.
Однако объем вычислений, требуемый при сопоставлении блоков, значительно больше по сравнению с другими процессами кодирования. В частности, когда сопоставление блоков применяется к устройству кодирования для распространения реального видео в реальном времени, необходимо уменьшать объем вычислений поиска движения. Объем вычислений поиска движения увеличивается пропорционально размеру диапазона поиска. Однако если диапазон поиска просто равномерно сужается для того чтобы уменьшить объем вычислений, когда имеется область, указывающая большое движение, невозможно обнаружить подходящий вектор движения, что дает в результате проблему, что эффективность кодирования уменьшается.
Кроме того, при внешнем кодировании H.264/AVC допускается множество режимов кодирования на основе изменения размера блока. Элементом целевого блока кодирования является прямоугольный блок из 16×16 пикселей, называемый макроблоком.
Допускается, что макроблок разделен на следующие блоки:
(1) Использование одного вектора движения в блоках 16×16.
(2) Использование двух векторов движения посредством разделения макроблока на два блока 16×8.
(3) Использование двух векторов движения посредством разделения макроблока на два блока 8×16.
(4) Разделение макроблока на четыре блока 8×8 и допущение следующих разделений с (4-1) по (4-4) для соответственных блоков 8×8.
(4-1) Использование одного вектора движения в блоках 8×8.
(4-2) Использование двух векторов движения посредством разделения блоков 8×8 на два блока 8×4.
(4-3) Использование двух векторов движения посредством разделения блоков 8×8 на два блока 4×8
(4-4) Использование двух векторов движения посредством разделения блоков 8×8 на четыре блока 4×4.
Для того чтобы выполнить выбор оптимального режима кодирования, необходимо обнаружить вектор движения для всех типов допустимого разделения блока. Кроме того, как описано выше, поскольку H.264/AVC включает в себя внутреннее кодирование дополнительно к внешнему кодированию, необходимо выполнять внутреннее кодирование, чтобы вычислять объем кода и сравнивать объем кода с объемом кода при внешнем кодировании для того, чтобы обнаруживать, какое из внешнего кодирования и внутреннего кодирования должно быть использовано. Нагрузка, требуемая для этого выбора режима, также вызывает увеличение объема вычислений при кодировании видео.
Традиционно, для того чтобы уменьшить нагрузку поиска движения, величина движения оценивается для каждой области, и область поиска соответствующим образом сужается для области, имеющей небольшое движение, таким образом, что объем вычислений уменьшается. Этот способ, например, является эффективным в видео, для которого камера является фиксированной, как с TV конференцией, поскольку стационарная область, такая как фон, и движущаяся область отчетливо отличаются друг от друга. Предшествующий уровень техники оценки величины движения для каждой области и управления областью поиска, например, раскрыт в патентном документе 1. В патентном документе 1 на основе результата коррелятивной оценки целевого кадра кодирования и опорного кадра уменьшается диапазон поиска движения таким образом, что уменьшается объем вычислений поиска движения.
Однако в патентном документе 1, поскольку диапазон поиска движения ограничивается без учета объема информации относительно вектора движения, качество изображения может ухудшаться. Кроме того, поскольку способ выбора внешнего режима и определения внутреннего/внешнего кодирования не описан, операционная нагрузка, являющаяся следствием выполнения определения режима кодирования, не уменьшается.
Документы предшествующего уровня техники
Патентный документ
Патентный документ 1: японская заявка на патент, не прошедшая экспертизу, первая публикация № 8-32969.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Проблемы, решаемые изобретением
Уменьшение объема вычислений при поиске движений необходимо для увеличения скорости устройства кодирования. Однако когда диапазон поиска равномерно сужается, имеется проблема, что эффективность кодирования уменьшается. Кроме того, в схеме, имеющей много режимов кодирования, как с H.264/AVC, также необходимо учитывать уменьшение объема вычислений, являющегося следствием выбора режима.
В технологии, раскрытой в патентном документе 1, на основе результата коррелятивной оценки целевого кадра кодирования и опорного кадра диапазон поиска движения уменьшается для области, имеющей высокую корреляцию, таким образом, что объем вычислений поиска движения уменьшается. Однако не учитывается объем информации вектора движения при принятии решения о диапазоне поиска. Целевой объект кодирования также включается в вектор движения дополнительно к значению пикселя целевой области кодирования. В H.264/AVC вычисляется предсказывающий вектор, называемый PMV, с использованием центрального значения вектора движения, вычисленного в периферийном блоке целевого блока кодирования, и кодируется значение разности между вектором движения, обнаруженным в целевом блоке кодирования, и PMV.
Независимо от того, имеет ли PMV большое значение, при сужении диапазона поиска с использованием только результата коррелятивной оценки эффективность кодирования уменьшается, когда объем информации вектора движения является большим. Кроме того, поскольку способ выбора внешнего режима и определение внутреннего/внешнего кодирования не описаны, необходимо кодировать соответственные режимы, допустимые в схеме кодирования, для определения режима кодирования, и, следовательно, операционная нагрузка, являющаяся следствием кодирования, не уменьшается. Как описано выше, в предшествующем уровне техники объем кода вектора движения, вероятно, должен увеличиваться, то есть имеется проблема того, что уменьшение объема вычислений, являющегося следствием определения режима кодирования, не достигается.
В свете вышеизложенного задачей настоящего изобретения является предоставить устройство кодирования видео, способ кодирования видео и программу кодирования видео, с помощью которых можно эффективно уменьшать объем вычислений при кодировании видео, являющийся следствием поиска движения и определения режима кодирования, по сравнению с предшествующим уровнем техники.
В соответствии с аспектом настоящего изобретения, для того чтобы выполнить вышеупомянутые задачи, предоставлено устройство кодирования видео, которое использует внутреннее кодирование и внешнее кодирование с компенсацией движения по отношению к входному видеосигналу, включающее в себя модуль определения, который определяет, соответствует ли целевой входной видеосигнал кодирования стационарной области, области, имеющей незначительное движение, или области, имеющей обычное движение, первый модуль кодирования, который выполняет внешнее кодирование вектора движения (0, 0) относительно области, определенной как стационарная область модулем определения, второй модуль кодирования, который выполняет поиск движения и внешнее кодирование в ограниченном диапазоне поиска относительно области, определенной как область, имеющая незначительное движение, модулем определения, и третий модуль кодирования, который выполняет поиск движения и внешнее кодирование в обычном диапазоне поиска относительно области, определенной как область, имеющая обычное движение, модулем определения.
В соответствии с аспектом настоящего изобретения, модуль определения может определять стационарную область, область, имеющую незначительное движение, или область, имеющую обычное движение, с использованием подобия между опорным кадром и целевым кадром кодирования и с использованием вектора движения в периферийной области.
В соответствии с аспектом настоящего изобретения, область, определенная как стационарная область, может быть закодирована посредством ограничения режима внешнего кодирования.
В соответствии с аспектом настоящего изобретения, область, определенная как область, имеющая незначительное движение, может быть закодирована посредством ограничения режима внешнего кодирования.
В соответствии с аспектом настоящего изобретения, устройство кодирования видео дополнительно может включать в себя модуль принятия решения, который принимает решение, выполнять ли или нет внутреннее кодирование относительно области, определенной как стационарная область, или области, имеющей незначительное движение.
В соответствии с аспектом настоящего изобретения, для того чтобы выполнить вышеупомянутые задачи, предоставлен способ кодирования видео, который использует внутреннее кодирование и внешнее кодирование с компенсацией движения по отношению к входному видеосигналу, включающий в себя этап определения, на котором определяют, соответствует ли входной видеосигнал кодирования стационарной области, области, имеющей незначительное движение, или области, имеющей обычное движение, первый этап кодирования, на котором выполняют внешнее кодирование вектора движения (0, 0) относительно области, определенной как стационарная область на этапе определения, второй этап кодирования, на котором выполняют поиск движения и внешнее кодирование в ограниченном диапазоне поиска относительно области, определенной как область, имеющая незначительное движение, на этапе определения, и третий этап кодирования, на котором выполняют поиск движения и внешнее кодирование в обычном диапазоне поиска относительно области, определенной как область, имеющая обычное движение, на этапе определения.
В соответствии с аспектом настоящего изобретения, на этапе определения определяют стационарную область, область, имеющую незначительное движение, или область, имеющую обычное движение, с использованием подобия между опорным кадром и целевым кадром кодирования и с использованием вектора движения в периферийной области.
В соответствии с аспектом настоящего изобретения, область, определенная как стационарная область, может быть закодирована посредством ограничения режима внешнего кодирования.
В соответствии с аспектом настоящего изобретения, область, определенная как область, имеющая незначительное движение, может быть закодирована посредством ограничения режима внешнего кодирования.
В соответствии с аспектом настоящего изобретения, способ кодирования видео дополнительно может включать в себя этап принятия решения, на котором принимают решение, выполнять ли внутреннее кодирование относительно области, определенной как стационарная область, или области, имеющей незначительное движение.
В соответствии с аспектом настоящего изобретения, для того чтобы выполнить вышеупомянутые задачи, предоставлена программа кодирования видео, чтобы заставлять компьютер в устройстве кодирования видео, использующем внутреннее кодирование и внешнее кодирование с компенсацией движения относительно входного видеосигнала, выполнять процесс кодирования видео, включающий в себя этап определения, на котором определяют, является ли кодируемый целевой входной видеосигнал стационарной областью, областью, имеющей незначительное движение, или областью, имеющей обычное движение, первый этап кодирования, на котором выполняют внешнее кодирование вектора движения (0, 0) относительно области, определенной как стационарная область, на этапе определения, второй этап кодирования, на котором выполняют поиск движения и внешнее кодирование в ограниченном узком диапазоне поиска относительно области, определенной как область, имеющая незначительное движение, на этапе определения, и третий этап кодирования, на котором выполняют поиск движения и внешнее кодирование в обычном диапазоне поиска относительно области, определенной как область, имеющая обычное движение, на этапе определения.
Результат изобретения
В соответствии с настоящим изобретением, значение периферийного вектора используется для определения области, таким образом получая результат, что можно уменьшать объем вычислений, являющийся следствием поиска движения, в то же время уменьшая снижение эффективности кодирования вследствие увеличения объема кода вектора движения. Кроме того, получается результат, что также можно уменьшать объем вычислений, являющийся следствием выбора режима кодирования, таким же способом.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 - блок-схема, иллюстрирующая исполнение первого варианта осуществления настоящего изобретения.
Фиг.2 - блок-схема последовательности этапов, иллюстрирующая операцию обработки диапазона поиска при поиске движения и принятия решения о режиме кодирования в первом варианте осуществления настоящего изобретения.
ВАРИАНТЫ ОСУЩЕСТВЛЕНИЯ ДЛЯ ВЫПОЛНЕНИЯ ИЗОБРЕТЕНИЯ
Далее в настоящей заявке со ссылкой на сопровождающие чертежи будут описаны способ кодирования видео, устройство кодирования видео и программа кодирования видео, в соответствии с первым вариантом осуществления настоящего изобретения. Фиг.1 - блок-схема, иллюстрирующая исполнение первого варианта осуществления. На фиг.1 ссылочный номер 100 указывает модуль кодирования, который выполняет кодирование видео, и процесс кодирования в модуле 100 кодирования является тем же, что и в устройстве, которое выполняет кодирование видео традиционного MPEG-2 и H.264 и тому подобного, за исключением обмена информацией между модулем 102 определения области, памятью 103 вектора движения и модулем 114 принятия решения о режиме кодирования. Кроме того, при описании состава модуля 100 кодирования со ссылкой на фиг.1, традиционно известная функция и состав модуля 100 кодирования будут описаны просто, если они не имеют прямого отношения к описанию настоящего изобретения.
Входной видеосигнал, накопленный в памяти 101 кадров, вводится в модуль 120 генерации предсказывающего остаточного сигнала, изменяется на предсказывающий остаточный сигнал, который является остатком с предсказывающим сигналом, выведенным из модуля 119 принятия решения о внутреннем/внешнем режиме, а затем вводится в модуль 104 ортогонального преобразования таким образом, что выводится коэффициент преобразования на основе ортогонального преобразования. Коэффициент преобразования вводится в модуль 105 квантования, и модуль 105 квантования квантует коэффициент преобразования в соответствии с размером шага квантования, который устанавливается из модуля 109 управления кодированием. Квантованный коэффициент преобразования вводится в модуль 106 кодирования с переменной длиной кода и подвергается кодированию с переменной длиной кода в модуле 106 кодирования с переменной длиной кода. Закодированные данные, выведенные из модуля 106 кодирования с переменной длиной кода, мультиплексируются в модуле 107 мультиплексирования и сохраняются в буферном модуле 108. Буферный модуль 108 выводит поток кодирования.
Модуль 109 управления кодированием управляет объемом кода генерации в модуле 105 квантования из объема закодированных данных, сохраненных в буферном модуле 108.
Кроме того, квантованный коэффициент преобразования обратно квантуется в модуле 110 обратного квантования и подвергается обратному ортогональному преобразованию в модуле 111 обратного ортогонального преобразования таким образом, что генерируется декодированный предсказывающий остаточный сигнал. Декодированный предсказывающий остаточный сигнал суммируется с предсказывающим сигналом на основе внутреннего или внешнего кодирования в сумматоре 121 и генерируется как декодированный сигнал. Декодированный сигнал сохраняется в памяти 112 локального декодированного изображения для того, чтобы постоянно использоваться в качестве опорного изображения при кодировании кадра с предсказанием.
Кроме того, входной видеосигнал, накопленный в памяти 101 кадров, также вводится в модуль 102 определения области для другой цели, отличной от вышеупомянутого процесса кодирования, и модуль 102 определения области выполняет определение относительно того, является ли область стационарной областью, областью, имеющей незначительное движение, или областью, имеющей обычное движение, на основе входного видео и информации вектора движения относительно периферийной области, которая вводится из памяти 103 вектора движения, и вводит сигнал управления поиском движения для выбора диапазона поиска и режима внешнего кодирования на основе результата определения в модуль 113 поиска движения на основе результата определения.
Модуль 113 поиска движения выполняет процесс поиска движения в соответствии с диапазоном поиска и режимом кодирования, решение о котором было принято на основе сигнала управления поиском движения, введенного из модуля 102 определения области, с использованием входного видеосигнала из памяти 101 кадров и локального декодированного изображения, сохраненного в памяти 112 локального декодированного изображения. Модуль 115 компенсации движения генерирует предсказывающий сигнал на основе внешнего кодирования с обращением к памяти 112 локального декодированного изображения, в соответствии с декодированным вектором движения. Модуль 116 принятия решения о внешнем режиме принимает решение о режиме внешнего кодирования на основе результата обработки модуля 115 компенсации движения.
Кроме внешнего кодирования выполняется внутреннее кодирование. Однако до этого модуль 114 принятия решения о режиме кодирования решает, выполнять ли или нет внутреннее кодирование, с использованием результата определения области из модуля 102 определения области и оценочного значения, такого как сумма абсолютных значений разности, полученная с помощью поиска движения. Модуль 117 внутреннего кодирования выполняет или не выполняет внутреннее кодирование в ответ на сигнал управления режимом, который является результатом обработки модуля 114 принятия решения о режиме кодирования. В случае выполнения внутреннего кодирования модуль 117 внутреннего кодирования выполняет внутреннее кодирование с использованием входного видеосигнала, введенного из памяти 101 кадров, и модуль 118 принятия решения о режиме внутреннего кодирования принимает решение о режиме внутреннего кодирования на основе результата внутреннего кодирования.
Модуль 119 принятия решения о внутреннем/внешнем режиме принимает решение об используемом режиме на основе результатов внутреннего режима и внешнего режима и выводит предсказывающий сигнал режима, о котором принято решение. Кроме того, когда модуль 114 принятия решения о режиме кодирования принял решение, что внутренний режим не выполняется, модуль 119 принятия решения о внутреннем/внешнем режиме обязательно выбирает внешний режим в соответствии с сигналом управления из модуля 114 принятия решения о режиме кодирования.
Далее со ссылкой на фиг.2 будет описана операция обработки диапазона поиска при поиске движения и принятии решения о режиме кодирования. Фиг.2 - блок-схема последовательности этапов, иллюстрирующая операцию обработки диапазона поиска при поиске движения и принятии решения о режиме кодирования. Сначала вычисляется подобие ∆DC между соответствующими позициями опорного кадра и кодируемого кадра (этап S1). Кроме того, для подобия ∆DC обычно используется сумма абсолютного значения разности между пикселями опорного кадра и кодируемого кадра. Однако для того чтобы уменьшить объем вычислений среди пикселей, для которых вычисляется абсолютное значение разности, один пиксель или два пикселя могут быть игнорированы. Затем определяется, равно ли или нет значение ∆DC 0 (этап S2). Когда ∆DC равно 0, определяется стационарная область, принимается решение о векторе движения как (0, 0) без выполнения поиска движения и фиксируется режим внешнего кодирования (этап S3). В случае стационарной области, поскольку векторы движения во всех блоках равны (0, 0), даже когда размер блока разделяется, не применяется изменение режима кодирования. В H.264/AVC является эффективным использовать размер блока 16×16, в котором число векторов движения является наименьшим.
Кроме того, когда ∆DC больше, чем 0, определяется, меньше ли или нет ∆DC, чем пороговое значение Th_DC (этап S8). В результате определения, когда ∆DC меньше, чем пороговое значение Th_DC, вычисляется |PMV| от центрального значения периферийного вектора (этап S9) и определяется, равно ли или нет |PMV| 0 (этап S10). В результате определения, когда |PMV| равно 0, определяется стационарная область, принимается решение о векторе движения как (0, 0) без выполнения поиска движения, и фиксируется режим внешнего кодирования (этап S3) аналогично случаю, в котором ∆DC равно 0.
Когда значение |PMV| больше, чем 0, определяется, меньше ли или нет |PMV|, чем пороговое значение Th_PMV (этап S11). В результате определения, когда |PMV| меньше, чем пороговое значение Th_PMV, в этом случае определяется область, имеющая незначительное движение, диапазон поиска устанавливается как узкий и выполняется поиск движения (этап S12). В качестве установленного диапазона поиска, например, считается минимальный диапазон поиска, включающий в себя вектор движения, равный PMV. На фиг.2 режим внешнего кодирования специально не ограничен. Однако в случае незначительного движения не предполагается фактическая разность векторов движения, полученных в блоках, даже когда размер блока разделяется, размер блока может быть зафиксирован в 16×16, в котором число векторов движения является наименьшим, или не может быть выполнен поиск движения в других режимах внешнего кодирования для того, чтобы дополнительно сдержать объем вычислений.
После того как выполняется этап S3 или этап S12, вычисляется стоимость значения оценки, полученная с помощью вектора движения (этап S4). Обычно в способе сопоставления блоков сумма абсолютного значения разности используется в качестве стоимости значения оценки. Затем определяется, меньше ли или нет стоимость, чем пороговое значение Th_Cost (этап S5). Когда стоимость меньше, чем пороговое значение Th_Cost, режим кодирования фиксируется во внешний режим, а внутреннее кодирование не выполняется таким образом, что объем вычислений, являющийся следствием выбора режима, уменьшается (этап S6). Когда стоимость не меньше, чем пороговое значение Th_Cost, выполняется внутреннее кодирование, эффективность внутреннего режима сравнивается с эффективностью внешнего режима и выполняется определение режима (этап S7). Кроме того, когда ∆DC больше, чем пороговое значение Th_DC, или когда значение |PMV| больше, чем пороговое значение Th_PMV, поиск движения выполняется в обычном диапазоне поиска, а режим кодирования не ограничивается (этап S13).
Как описано выше, определяется, является ли кодируемая область стационарной областью, областью, имеющей незначительное движение, или областью, имеющей нормальное движение, с использованием подобия с опорным кадром и величины периферийного блока, и для области, определенной как стационарная область, ограничивается режим внешнего кодирования, и принимается решение о векторе движения как (0, 0) без выполнения поиска движения. Кроме того, для области, определенной как область, имеющая незначительное движение, диапазон поиска ограничивается и выполняется поиск движения. Кроме того, для этих областей принимается решение, выполнять ли или нет внутреннее кодирование с помощью сравнения значения оценки, вычисленной при поиске движения, с пороговым значением. Для области, определенной как область, имеющая обычное движение, поиск движения выполняется в обычном диапазоне поиска.
В соответствии с вышеописанным способом, используется как подобие с опорным кадром, так и величина периферийного блока, при определении стационарной области, области, имеющей незначительное движение, или области, имеющей обычное движение, таким образом, что предотвращается увеличение объема информации вектора движения. Для стационарной области и области, имеющей незначительное движение, поиск движения выполняется только в узком диапазоне таким образом, что уменьшается объем вычислений поиска движения. Кроме того, для стационарной области ограничивается режим внешнего кодирования таким образом, что уменьшается объем вычислений, являющийся следствием выбора внешнего режима. Кроме того, для этих областей принимается решение, выполнять ли внутреннее кодирование, только посредством сравнения значения оценки, вычисленной при поиске движения, и порогового значения без выполнения внутреннего кодирования, что дает в результате уменьшение объема вычислений, являющегося следствием выбора внутреннего/внешнего режима.
Кроме того, программа, предназначенная для выполнения функций модулей обработки на фиг.1, может быть записана на машиночитаемом носителе записи и может быть загружена в компьютерную систему для выполнения таким образом, что может быть выполнен процесс кодирования видео. Допускается, что “компьютерная система”, описанная в настоящей заявке, включает в себя OS и аппаратное обеспечение, такое как периферийные устройства и тому подобные. Кроме того, “машиночитаемый носитель записи” указывает портативный носитель, такой как гибкий диск, магнитно-оптический диск, ROM или CD-ROM, и запоминающее устройство, такое как жесткий диск, встроенный в компьютерную систему. Кроме того, допускается, что “машиночитаемый носитель записи” включает в себя носитель, который содержит в себе программу в течение постоянного времени, как с сервером и энергозависимой памятью (RAM) в компьютерной системе (клиенте), когда программа передана через сеть, такую как Internet, или линию связи, такую как телефонная линия.
Кроме того, программа может быть передана из компьютерной системы, которая хранит программу в запоминающем устройстве или тому подобном, в другую компьютерную систему через среду передачи или передающую волну в среде передачи. В данном случае “среда передачи” для передачи программы указывает среду, имеющую функцию передачи информации, как с сетью (сетью связи), такой как Internet, или линией связи, такой как телефонная линия. Кроме того, программа также может быть использована, чтобы выполнять часть вышеупомянутых функций. Кроме того, программа может быть реализована посредством объединения программы, которая уже записала вышеупомянутые функции, в компьютерной системе, известной как остаточный файл (остаточная программа).
Можно предоставить устройство кодирования видео, которое может эффективно уменьшать объем вычислений при поиске движения и определении режима кодирования.
ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ
Настоящее изобретение может быть применено для важной цели уменьшения объема вычислений, являющегося следствием поиска движения и определения режима кодирования в процессе кодирования видео.
Описание ссылочных позиций:
100 Модуль кодирования
101 Память кадров
102 Модуль определения области
103 Память векторов движения
104 Модуль ортогонального преобразования
105 Модуль квантования
106 Модуль кодирования с переменной длиной кода
107 Модуль мультиплексирования
108 Буферный модуль
109 Модуль управления кодированием
110 Модуль обратного квантования
111 Модуль обратного ортогонального преобразования
112 Память локального декодированного изображения
113 Модуль поиска движения
114 Модуль принятия решения о режиме кодирования
115 Модуль компенсации движения
116 Модуль принятия решения о внешнем режиме
117 Модуль внутреннего кодирования
118 Модуль принятия решения о внутреннем режиме
119 Модуль принятия решения о внутреннем/внешнем режиме
120 Модуль генерации предсказывающего остаточного сигнала
121 Сумматор.
1. Устройство кодирования видео, которое использует внешнее кодирование с компенсацией движения и внутреннее кодирование относительно входного видеосигнала, содержащеемодуль определения, который определяет, соответствует ли подлежащий кодированию входной видеосигнал стационарной области, области, имеющей незначительное движение, или области, имеющей обычное движение,первый модуль кодирования, который выполняет внешнее кодирование вектора движения (0, 0) относительно области, определенной как стационарная область модулем определения,второй модуль кодирования, который выполняет поиск движения и внешнее кодирование в ограниченном диапазоне поиска относительно области, определенной как область, имеющая незначительное движение, модулем определения, итретий модуль кодирования, который выполняет поиск движения и внешнее кодирование в обычном диапазоне поиска относительно области, определенной как область, имеющая обычное движение, модулем определения, при этоммодуль определения определяет, является или нет входной видеосигнал сигналом стационарной области со ссылкой на подобие между целевым кадром кодирования и опорным кадром, икогда определено, что входной видеосигнал не является сигналом стационарной области, модуль определения определяет, является ли входной видеосигнал сигналом области, имеющей обычное движение, или сигналом области, имеющей незначительное движение, на основании результата сравнения между , которое является центральным значением вектора движения, вычисленным в периферийном блоке, и порогом.
2. Устройство кодирования видео по п.1, в котором даже когда определено, что входной видеосигнал не является сигналом стационарной области, модуль определения выполняет дополнительное определение перед упомянутым сравнением между и порогом, причем при упомянутом дополнительном определении входной видеосигнал определяется как сигнал стационарной области, если значение равно 0, и не сигнал стационарной области, если значение не равно 0.
3. Устройство кодирования видео по п.1 или 2, в котором область, определенная как стационарная область, кодирована посредством ограничения режима кодирования режимом внешнего кодирования.
4. Устройство кодирования видео по п.1 или 2, в котором область, определенная как область, имеющая незначительное движение, кодирована посредством ограничения режима кодирования режимом внешнего кодирования.
5. Устройство кодирования видео по п.1 или 2, дополнительно содержащее модуль принятия решения, который принимает решение, выполнять или нет внутреннее кодирование относительно области, определенной как стационарная область, или области, имеющей незначительное движение.
6. Устройство кодирования видео по п.1 или 2, дополнительно содержащее модуль принятия решения, который принимает решение, выполнять или нет внутреннее кодирование относительно области, определенной как стационарная область, или области, имеющей незначительное движение, при этом область, определенная как стационарная область, кодируется посредством ограничения режима кодирования режимом внешнего кодирования, и область, имеющая незначительное движение, кодируется посредством ограничения режима кодирования упомянутым режимом внешнего кодирования.
7. Способ кодирования видео, который использует внешнее кодирование с компенсацией движения и внутреннее кодирование относительно входного видеосигнала, содержащийэтап определения, на котором определяют, соответствует ли входной видеосигнал, подлежащий кодированию, стационарной области, области, имеющей незначительное движение, или области, имеющей обычное движение,первый этап кодирования, на котором выполняют внешнее кодирование вектора движения (0, 0) относительно области, определенной как стационарная область, на этапе определения,второй этап кодирования, на котором выполняют поиск движения и внешнее кодирование в ограниченном диапазоне поиска относительно области, определенной как область, имеющая незначительное движение, на этапе определения, итретий этап кодирования, на котором выполняют поиск движения и внешнее кодирование в обычном диапазоне поиска относительно области, определенной как область, имеющая обычное движение, на этапе определения, при этомна этапе определения определяют, является или нет входной видеосигнал сигналом стационарной области со ссылкой на подобие между целевым кадром кодирования и опорным кадром, икогда определено, что входной видеосигнал не является сигналом стационарной области, на этапе определения определяют, является ли входной видеосигнал сигналом области, имеющей обычное движение, или сигналом области, имеющей незначительное движение, на основании результата сравнения между , которое является центральным значением вектора движения, вычисленным в периферийном блоке, и порогом.
8. Способ кодирования видео по п. 7, в котором даже когда определено, что входной видеосигнал не является стационарной областью, на этапе определения выполняют дополнительное определение перед упомянутым сравнением между и порогом, причем при упомянутом дополнительном определении входной видеосигнал определяется как сигнал стационарной области, если значение равно 0, и не сигнал стационарной области, если значение не равно 0.
9. Способ кодирования видео по п.7 или п.8, в котором область, определенную как стационарная область, кодируют посредством ограничения режима кодирования режимом внешнего кодирования.
10. Способ кодирования видео по п.7 или п.8, в котором область, определенную как область, имеющую незначительное движение, кодируют п