Устройство кодирования видео и устройство декодирования видео
Иллюстрации
Показать всеИзобретение относится к устройству кодирования видео и устройству декодирования видео. Технический результат заключается в уменьшении дополнительной информации по информации выбора вектора движения при повышении степеней свободы для вычисления вектора движения посредством выбора одного из кодированных блоков. Такой результат достигается за счет того, что устройство кодирования видео является устройством кодирования видео для подвергания видеоизображения прогнозирующему кодированию с компенсацией движения, содержащим модуль обнаружения, чтобы обнаруживать доступные блоки для блоков, имеющих векторы движения, из кодированных блоков, смежных с блоком, который должен быть кодирован, и число доступных блоков, модуль выбора, чтобы выбирать один выборочный блок из кодированных доступных блоков, кодер информации выбора, чтобы кодировать информацию выбора, указывающую выборочный блок, с использованием кодовой таблицы, соответствующей числу доступных блоков, и кодер изображений, чтобы подвергать блок, который должен быть кодирован, прогнозирующему кодированию с компенсацией движения с использованием вектора движения выборочного блока. 2 н. и 8 з.п. ф-лы, 14 ил.
Реферат
Область техники, к которой относится изобретение
Настоящее изобретение относится к устройству кодирования видео и устройству декодирования видео, которые извлекают вектор движения из кодированного и декодированного изображения и выполняют прогнозирование с компенсацией движения.
Уровень техники
Предусмотрено прогнозирование с компенсацией движения в качестве одной из технологий, используемых для кодирования видеоизображения.
При прогнозировании с компенсацией движения устройство кодирования видео обнаруживает вектор движения с использованием изображения, которое должно быть кодировано, которое должно заново кодироваться, и локальное декодированное изображение, уже сформированное, и формирует прогнозное изображение посредством выполнения компенсации движения с использованием этого вектора движения.
В качестве одного из способов для обнаружения вектора движения при прогнозировании с компенсацией движения предусмотрен прямой режим для формирования прогнозного изображения с использованием вектора движения блока, который должен быть кодирован, извлеченного из вектора движения кодированного блока (см. патент (Япония) № 4020789 и патент (США) № 7233621). Поскольку вектор движения не кодируется в прямом режиме, число кодированных битов информации вектора движения может сокращаться. Прямой режим используется в H.264/AVC.
Сущность изобретения
В прямом режиме вектор движения формируется посредством способа для вычисления вектора движения из среднего значения вектора движения кодированного блока, смежного с блоком, который должен быть кодирован, при формировании вектора движения блока, который должен быть кодирован, посредством прогнозирования. Следовательно, степени свободы для вычисления вектора движения являются низкими. Помимо этого, когда способ для вычисления вектора движения посредством выбора одного из множества кодированных блоков используется для повышения степеней свободы, позицию блока следует всегда отправлять в качестве информации выбора вектора движения, чтобы указывать выбранный кодированный блок. По этой причине число кодированных битов может быть увеличено.
Задача настоящего изобретения заключается в том, чтобы обеспечить устройство кодирования видео и устройство декодирования видео, которые уменьшают дополнительную информацию по информации выбора вектора движения при повышении степеней свободы для вычисления вектора движения посредством выбора одного из кодированных блоков.
Аспект настоящего изобретения представляет устройство кодирования видео для подвергания видеоизображения прогнозирующему кодированию с компенсацией движения, причем устройство содержит модуль обнаружения для обнаружения доступных блоков, имеющих векторы движения, и числа доступных блоков из кодированных блоков, смежных с блоком, который должен быть кодирован, и модуль выбора для выбора выборочного блока из доступных блоков из кодированных блоков, модуль кодирования информации выбора для кодирования информации выбора, указывающей выборочный блок, с использованием кодовой таблицы, соответствующей числу доступных блоков, и модуль кодирования изображений для подвергания блока, который должен быть кодирован, прогнозирующему кодированию с компенсацией движения с использованием вектора движения выбранного блока.
Другой аспект настоящего изобретения представляет устройство декодирования видео для подвергания видеоизображения прогнозирующему декодированию с компенсацией движения, причем устройство содержит модуль декодирования информации выбора для декодирования информации выбора посредством переключения кодовой таблицы согласно числу доступных блоков из декодированных блоков, имеющих векторы движения и граничащих с блоком, который должен быть декодирован, модуль выбора для выбора выборочного блока из доступных блоков в соответствии с информацией выбора, и модуль декодирования изображения для подвергания изображения, которое должно быть декодировано, прогнозирующему декодированию с компенсацией движения с использованием вектора движения выборочного блока, выбранного посредством модуля выбора.
Краткое описание чертежей
Фиг. 1 является блок-схемой устройства кодирования видео, связанного с вариантом осуществления настоящего изобретения.
Фиг. 2 является блок-схемой последовательности операций способа, представляющей процедуру обработки устройства кодирования видео.
Фиг. 3 является блок-схемой последовательности операций способа, представляющей процедуру обработки модуля обнаружения/выбора.
Фиг. 4A является схемой для описания способа различения на основе размера блока.
Фиг. 4B является схемой для описания способа различения на основе размера блока.
Фиг. 4C является схемой для описания способа различения на основе размера блока.
Фиг. 5 является схемой для описания способа различения посредством однонаправленного или двунаправленного.
Фиг. 6 является блок-схемой последовательности операций способа, представляющей процедуру обработки кодера информации выбора.
Фиг. 7 показывает пример индекса информации выбора.
Фиг. 8 показывает пример кодовой таблицы информации выбора.
Фиг. 9 является схематичным видом синтаксической структуры.
Фиг. 10 показывает структуру данных макроблочного уровня.
Фиг. 11 показывает блок-схему устройства декодирования видео, связанного с вариантом осуществления настоящего изобретения.
Фиг. 12 показывает блок-схему последовательности операций способа, представляющую процедуру обработки устройства декодирования видео.
Оптимальный режим осуществления изобретения
Далее поясняются варианты осуществления настоящего изобретения со ссылкой на чертежи.
Устройство кодирования видео, связанное с вариантом осуществления, описывается со ссылкой на фиг. 1 далее. Модуль 101 вычитания вычисляет разность между входным видеосигналом 11 и прогнозирующе-кодированным видеосигналом 15 и выводит сигнал 12 ошибки прогнозирования. Выходной терминал модуля 101 вычитания соединяется с кодером 111 переменной длины через ортогональный преобразователь 102 и квантователь 103. Ортогональный преобразователь 102 ортогонально преобразует сигнал 12 ошибки прогнозирования из модуля 101 вычитания, и квантователь 103 квантует коэффициент ортогонального преобразования и выводит информацию 13 квантованного коэффициента ортогонального преобразования. Кодер 111 переменной длины выполняет кодирование переменной длины для информации 13 квантованного коэффициента ортогонального преобразования из квантователя 103.
Выходной терминал квантователя 103 соединяется с сумматором 106 через деквантователь 104 и обратный ортогональный преобразователь 105. Деквантователь 104 деквантует информацию 13 квантованного коэффициента ортогонального преобразования и преобразует ее в коэффициент ортогонального преобразования. Обратный ортогональный преобразователь 105 преобразует коэффициент ортогонального преобразования в сигнал ошибки прогнозирования. Сумматор 106 суммирует сигнал ошибки прогнозирования обратного ортогонального преобразователя 105 и прогнозирующе-кодированный видеосигнал 15, чтобы формировать сигнал 14 локального декодированного изображения. Выходной терминал сумматора 106 соединяется с модулем 108 прогнозирования с компенсацией движения через запоминающее устройство 107 кадров.
Запоминающее устройство 107 кадров сохраняет сигнал 14 локального декодированного изображения. Модуль 114 задания задает режим прогнозирования с компенсацией движения (режим прогнозирования) блока, который должен быть кодирован. Режим прогнозирования включает в себя однонаправленное прогнозирование с использованием одного опорного изображения и двунаправленное прогнозирование с использованием двух опорных изображений. Однонаправленное прогнозирование включает в себя прогнозирование L0 и прогнозирование L1 AVC. Модуль 108 прогнозирования с компенсацией движения содержит модуль 109 прогнозирования и модуль 110 обнаружения/выбора.
Модуль 110 обнаружения/выбора обнаруживает доступные блоки, имеющие векторы движения, и число доступных блоков из кодированных блоков, смежных с блоком, который должен быть кодирован, и выбирает выборочный блок из доступных блоков. Модуль 108 прогнозирования с компенсацией движения выполняет прогнозирование с использованием сигнала 14 локально декодированного изображения, сохраненного в запоминающем устройстве 107 кадров, в качестве опорного изображения, и формирует прогнозирующее кодированный видеосигнал 15. Модуль 110 обнаружения/выбора выбирает один блок (выборочный блок) из смежных блоков, смежных с блоком, который должен быть кодирован. Например, блок, имеющий надлежащий вектор движения из смежных блоков, выбирается в качестве выборочного блока. Модуль 110 обнаружения/выбора выбирает вектор движения выборочного блока в качестве вектора 16 движения, который должен использоваться для прогнозирования с компенсацией движения, и отправляет его в модуль 109 прогнозирования. Помимо этого, модуль 110 обнаружения/выбора формирует информацию 17 выбора выборочного блока и отправляет ее в кодер 111 переменной длины.
Кодер 111 переменной длины имеет кодер 112 информации выбора. Кодер 112 информации выбора подвергает информацию 17 выбора кодированию переменной длины при переключении кодовой таблицы так, чтобы иметь в ней число записей, идентичное числу доступных блоков из кодированных блоков. Доступный блок является блоком, имеющим вектор движения, из кодированных блоков, смежных с блоком, который должен быть кодирован. Мультиплексор 113 мультиплексирует информацию квантованного коэффициента ортогонального преобразования и информацию выбора и выводит кодированные данные.
Работа устройства кодирования видео вышеуказанной конфигурации описывается со ссылкой на блок-схему последовательности операций способа по фиг. 2.
Сначала сигнал 12 ошибки прогнозирования формируется (S11). При формировании этого сигнала 12 ошибки прогнозирования выбирается вектор движения и прогнозное изображение формируется с использованием выбранного вектора движения. Модуль 101 вычитания вычисляет разность между сигналом прогнозного изображения, т.е. сигналом 15 прогнозного изображения, и входным видеосигналом 11, чтобы формировать сигнал 12 ошибки прогнозирования.
Ортогональный преобразователь 102 ортогонально преобразует сигнал 12 ошибки прогнозирования, чтобы формировать коэффициент ортогонального преобразования (S12). Квантователь 103 квантует коэффициент ортогонального преобразования (S13). Деквантователь 104 деквантует информацию квантованного коэффициента ортогонального преобразования (S14) и затем подвергает ее обратному ортогональному преобразованию, чтобы предоставлять воспроизведенный сигнал ошибки прогнозирования (S15). Сумматор 106 суммирует воспроизведенный сигнал ошибки прогнозирования и прогнозирующе-кодированный видеосигнал 15, чтобы формировать сигнал 14 локального декодированного изображения (S16). Сигнал 14 локального декодированного изображения сохраняется в запоминающем устройстве 107 кадров (в качестве опорного изображения) (S17), и сигнал локального декодированного изображения, считанный из запоминающего устройства 107 кадров, вводится в модуль 108 прогнозирования с компенсацией движения.
Модуль 109 прогнозирования модуля 108 прогнозирования с компенсацией движения подвергает сигнал локального декодированного изображения (опорное изображение) прогнозированию с компенсацией движения с использованием вектора 16 движения, чтобы формировать прогнозирующе-кодированный видеосигнал 15. Прогнозирующе-кодированный видеосигнал 15 отправляется в модуль 101 вычитания, чтобы вычислять разность относительно входного видеосигнала 11, и дополнительно отправляется в сумматор 106, чтобы формировать сигнал 14 локального декодированного изображения.
Модуль 110 обнаружения/выбора выбирает выборочный блок из смежных блоков, формирует информацию выбора 17 и отправляет вектор движения 16 выборочного блока в модуль 109 прогнозирования, который выполняет прогнозирование с компенсацией движения с использованием вектора движения упомянутого выборочного блока. Информация 17 выбора отправляется в кодер 112 информации выбора. Когда выборочный блок выбирается из смежных блоков, смежный блок, имеющий надлежащий вектор движения, дающий возможность снижения числа кодированных битов, выбирается.
Информация 13 коэффициента ортогонального преобразования, квантованная с помощью квантователя 103, также вводится в кодер 111 переменной длины и подвергается кодированию переменной длины (S18). Модуль 110 обнаружения/выбора выводит информацию 16 выбора, используемую для прогнозирования с компенсацией движения, и вводит ее в кодер 112 информации выбора. Кодер 112 информации выбора переключает кодовую таблицу так, чтобы иметь в ней число записей, идентичное числу доступных блоков из кодированных блоков, граничащих с блоком, который должен быть кодирован, и имеющих векторы движения, и информация 17 выбора подвергается кодированию переменной длины. Мультиплексор 113 мультиплексирует информацию квантованного коэффициента ортогонального преобразования из кодера 111 переменной длины и информацию выбора, чтобы выводить поток битов кодированных данных 18 (S19). Кодированные данные 18 отправляются в систему хранения данных (не показана) или тракт передачи.
В блок-схеме последовательности операций способа по фиг. 2 последовательность операций этапов S14-S17 может заменяться посредством последовательности операций этапов S18 и S19.
Другими словами, этап кодирования S18 переменной длины и этап S19 мультиплексирования могут быть выполнены после этапа S13 квантования, и этапы от этапа S14 деквантования до этапа S17 сохранения могут быть выполнены после этапа S19 мультиплексирования.
Работа модуля 110 обнаружения/выбора описывается со ссылкой на блок-схему последовательности операций способа, показанную на фиг. 3.
Сначала выполняется поиск вариантов доступных блоков, являющихся кодированными блоками, граничащими с блоком, который должен быть кодирован, и имеющими векторы движения (S101). Когда поиск вариантов доступных блоков выполняется, размер блока для прогнозирования с компенсацией движения этих вариантов доступных блоков определяется (S102). Затем определяется то, являются варианты доступных блоков однонаправленным прогнозированием или двунаправленным прогнозированием (S103). Доступный блок извлекается из вариантов доступных блоков на основе определенного результата и режима прогнозирования блока, который должен быть кодирован. Один выборочный блок выбирается из извлеченных доступных блоков, и информация, указывающая выборочный блок, обнаруживается в качестве информации выбора (S104).
Процесс для определения размера блока описывается со ссылкой на фиг. 4A-4C (S102).
Смежные блоки, используемые в настоящем варианте осуществления, допускаются как блоки, которые размещаются слева, слева сверху, сверху и справа сверху от блока, который должен быть кодирован. Следовательно, когда блок, который должен быть кодирован, размещается слева на самом верху кадра, этот блок, который должен быть кодирован, не может применяться к настоящему изобретению, поскольку нет доступного блока, смежного с блоком, который должен быть кодирован. Когда блок, который должен быть кодирован, находится в верхнем конце экрана, доступным блоком является только левый блок, а когда блок, который должен быть кодирован, находится левее всего, а не в самом верхнем конце, - два блока из блоков, которые должны быть кодированы, которые размещаются сверху и справа сверху от него.
Когда размером блока является размер 16×16, размеры блоков для прогнозирования с компенсацией движения смежных блоков составляют четыре вида размера 16×16, размера 16×8, размера 8×16 и размера 8×8, как показано на фиг. 4A-4C. При рассмотрении этих четырех видов смежные блоки, которые могут быть доступными блоками, составляют 20 видов, как показано на фиг. 4A-4C. Другими словами, предусмотрено четыре вида для размера 16×16, как показано на фиг. 4A, 10 видов для размера 16×8, как показано на фиг. 4B, и шесть видов для размера 8×8, как показано на фиг. 4C. При различении размера блока (S102) поиск доступного блока выполняется согласно размеру блока из 20 видов блоков. Например, когда размер доступного блока допускается как только размер 16×16, доступные блоки, определенные посредством этого размера блока, составляют четыре вида блоков размера 16×16, как показано на фиг. 4A. Другими словами, доступными блоками являются блок на левой верхней стороне блока, который должен быть кодирован, блок на верхней стороне блока, который должен быть кодирован, и блок на левой стороне блока, который должен быть кодирован, и блок на верхней правой стороне блока, который должен быть кодирован. Помимо этого, даже если размер макроблока расширен до не меньше размера 16×16, он может быть доступным блоком аналогично размеру макроблока 16×16. Например, когда размер макроблока составляет 32×32, размер блока для прогнозирования с компенсацией движения смежного блока составляют четыре вида размера 32×32, размера 32×16, размера 16×32 и размера 16×16, и смежные блоки, которые могут быть доступными блоками, составляют 20 видов.
Определение однонаправленного прогнозирования или двунаправленного прогнозирования, которое выполняется посредством модуля 110 обнаружения/выбора (S103), описывается со ссылкой на фиг. 5.
Например, размер блока ограничивается 16×16 и допускается, что однонаправленное или двунаправленное прогнозирование смежного блока относительно блока, который должен быть кодирован, имеет место, как показано на фиг. 5. При различении однонаправленного или двунаправленного прогнозирования (S103) поиск доступного блока выполняется согласно направлению прогнозирования. Например, смежный блок, имеющий направление L0 прогнозирования, допускается как доступный блок, определенный в направлении прогнозирования. Другими словами, верхний, левый и верхний правый блоки для блоков, которые должны быть кодированы, показанных на фиг. 5(a), являются доступными блоками, определенными в направлении прогнозирования. В этом случае левый верхний блок для блоков, которые должны быть кодированы, не используется. Когда смежный блок, включающий в себя направление L1 прогнозирования, допускается как доступный блок, определенный в направлении прогнозирования, левый верхний и верхний блоки для блоков, которые должны быть кодированы, показанных на фиг. 5(b), являются доступными блоками, определенными в направлении прогнозирования. В этом случае левый и верхний правый блоки для блоков, которые должны быть кодированы, не используются. Когда смежный блок, включающий в себя направление L0/L1 прогнозирования, допускается как доступный блок, определенный в направлении прогнозирования, только верхний блок для блоков, которые должны быть кодированы, показанных на фиг. 5(c), является доступным блоком, определенным в направлении прогнозирования. В этом случае левый, левый верхний и верхний правый блоки для блоков, которые должны быть кодированы, не используются. Помимо этого, направление L0 (L1) прогнозирования соответствует направлению прогнозирования для прогнозирования L0 (прогнозирования L1) в AVC.
Кодер 112 информации выбора описывается со ссылкой на блок-схему последовательности операций способа, показанную на фиг. 6.
Поиск доступного блока для кодированного блока, имеющего вектор движения, выполняется из числа смежных блоков, смежных с блоком, который должен быть кодирован, и информации доступных блоков, определенной посредством размера блока, и однонаправленное или двунаправленное прогнозирование обнаруживается (S201). Кодовые таблицы, соответствующие числу доступных блоков, как показано на фиг. 8, переключаются с использованием этой информации доступных блоков (S202). Информация 17 выбора, отправляемая из модуля 110 обнаружения/выбора, подвергается кодированию переменной длины с использованием измененной кодовой таблицы (S203).
Пример индекса информации выбора далее поясняется со ссылкой на фиг. 7.
Когда отсутствуют доступные блоки, как показано на фиг. 7(a), информация выбора не отправляется, поскольку настоящее изобретение является неподходящим к этому блоку. Когда имеется один доступный блок, как показано на фиг 7(b), информация выбора не отправляется, поскольку вектор движения доступного блока, используемого для компенсации движения блока, который должен быть кодирован, определяется уникально. Когда имеется два доступных блока, как показано на фиг. 7(c), информация выбора индекса 0 или 1 отправляется. Когда имеется три доступных блока, как показано на фиг. 7(d), информация выбора индекса 0, 1 или 2 отправляется. Когда имеется четыре доступных блока, как показано на фиг. 7(e), информация выбора индекса 0, 1, 2 или 3 отправляется.
Помимо этого, в качестве примера задания индекса доступного блока пример задания индекса равным доступному блоку в порядке слева, слева сверху, сверху и справа сверху для блоков, которые должны быть кодированы, показывается на фиг. 7. Другими словами, индекс задается равным блоку, который должен быть использован, за исключением блока, который не используется.
Далее описывается кодовая таблица информации 17 выбора со ссылкой на фиг. 8.
Кодер 112 информации выбора переключает кодовую таблицу согласно числу доступных блоков (S202). Как упомянуто выше, когда имеется два или более доступных блоков, информация 17 выбора должна быть кодирована.
Сначала, когда имеется два доступных блока, индексы 0 и 1 необходимы, и кодовая таблица указывается посредством таблицы слева на фиг. 8. Когда имеется три доступных блока, индексы 0, 1 и 2 необходимы, и кодовая таблица указывается посредством таблицы в центре на фиг. 8. Когда имеется четыре доступных блока, индексы 0, 1, 2, 3 и 4 необходимы, и кодовая таблица указывается посредством таблицы справа на фиг. 8. Эти кодовые таблицы переключаются согласно числу доступных блоков.
Поясняется способ кодирования информации выбора.
Фиг. 9 показывает принципиальную схему структуры синтаксиса, используемой в этом варианте осуществления.
Синтаксис содержит, главным образом, три части, при этом высокоуровневый синтаксис 801 заполнен синтаксической информацией верхнего уровня не меньше серии последовательных макроблоков. Синтаксис 804 уровня серии последовательных макроблоков указывает информацию, необходимую для каждой серии последовательных макроблоков, синтаксис 807 уровня макроблока указывает кодированный на основе кода переменной длины сигнал ошибки или информацию режима, которая необходима для каждого макроблока.
Эти синтаксисы содержат более подробные синтаксисы. Высокоуровневый синтаксис 801 содержит синтаксисы уровней последовательности и изображения, к примеру, синтаксис 802 набора параметров последовательности и синтаксис 803 набора параметров изображения. Синтаксис 804 уровня серии последовательных макроблоков содержит синтаксис 405 заголовка серии последовательных макроблоков, синтаксис 406 данных серии последовательных макроблоков и т.д. Дополнительно, синтаксис 807 уровня макроблока содержит синтаксис 808 макроблочного уровня, синтаксис 809 макроблочного прогнозирования и т.д.
Синтаксической информацией, необходимой для этого варианта осуществления, является синтаксис 808 макроблочного уровня. Синтаксис описывается в дальнейшем.
Available_block_num, показанный на фиг. 10(a) и (b), указывает число доступных блоков. Когда он равняется двум или более, необходимо кодировать информацию выбора. Помимо этого, mvcopy_flag указывает флаг, представляющий то, используется или нет вектор движения доступного блока при прогнозировании с компенсацией движения. Когда имеется один или более доступных блоков, и флаг равняется "1", вектор движения доступного блока может быть использован при прогнозировании с компенсацией движения. Дополнительно, mv_select_info указывает информацию выбора, и кодовая таблица является такой, как описано выше.
Фиг. 10(a) показывает синтаксис, когда информация выбора кодируется после mb_type. Когда, например, размером блока является только размер 16×16, mvcopy_flag и mv_select_info не должны быть кодированы, если mb_type отличается от 16×16. Если mb_type составляет 16×16, mvcopy_flag, и mv_select_info кодируются.
Фиг. 10(b) показывает синтаксис, когда информация выбора кодируется перед mb_type. Если, например, mvcopy_flag равняется 1, необязательно кодировать mb_type. Если mv_copy_flag равняется 0, mb_type кодируется.
В этом варианте осуществления конкретный порядок может использоваться в порядке сканирования для кодирования. Например, линейное сканирование или Z-сканирование являются применимыми к настоящему изобретению.
Устройство декодирования видео, связанное с другим вариантом осуществления, поясняется со ссылкой на фиг. 11.
Кодированные данные 18, выводимые из устройства кодирования видео по фиг. 1, вводятся в демультиплексор 201 устройства декодирования видео в качестве кодированных данных 21, которые должны быть декодированы, через систему хранения данных или систему передачи. Демультиплексор 201 демультиплексирует кодированные данные 21, чтобы разделять кодированные данные 21 на информацию квантованного коэффициента ортогонального преобразования и информацию выбора. Выходной терминал демультиплексора 201 соединяется с декодером 202 переменной длины. Декодер 202 переменной длины декодирует информацию квантованного коэффициента ортогонального преобразования и информацию выбора. Выходной терминал декодера 202 переменной длины соединяется с сумматором 206 через деквантователь 204 и обратный ортогональный преобразователь 205. Деквантователь 204 деквантует информацию квантованного коэффициента ортогонального преобразования, чтобы преобразовывать ее в коэффициент ортогонального преобразования. Обратный ортогональный преобразователь 205 подвергает коэффициент ортогонального преобразования обратному ортогональному преобразованию, чтобы формировать сигнал ошибки прогнозирования. Сумматор 206 прибавляет сигнал ошибки прогнозирования к прогнозирующе-кодированному видеосигналу из формирователя 207 прогнозных изображений, чтобы формировать видеосигнал.
Формирователь 207 прогнозных изображений включает в себя модуль 208 прогнозирования и модуль обнаружения/выбора 209. Модуль обнаружения/выбора 209 выбирает выборочный блок из доступных блоков с использованием информации 23 выбора, декодированной декодером 203 информации выбора декодера 202 переменной длины, и отправляет вектор 25 движения выборочного блока в модуль 208 прогнозирования. Модуль 208 прогнозирования выполняет компенсацию движения опорного изображения, сохраненного в запоминающем устройстве 210 кадров, посредством упомянутого вектора движения 25, чтобы формировать прогнозное изображение.
Работа устройства декодирования видео вышеуказанной конфигурации описывается со ссылкой на блок-схему последовательности операций способа по фиг. 12.
Демультиплексор 201 демультиплексирует кодированные данные 21 (S31), и декодер 202 переменной длины декодирует их, чтобы формировать информацию 22 квантованного коэффициента ортогонального преобразования (S32). Помимо этого, декодер 203 информации выбора проверяет состояние смежного блока, смежного с блоком, который должен быть декодирован, и декодирует его посредством переключении кодовых таблиц согласно числу доступных блоков для смежных кодированных блоков, имеющих векторы движения, как показано на фиг. 8, аналогично кодеру 112 информации выбора устройства кодирования, так чтобы формировать информацию 23 выбора (S33).
Информация 22 квантованного коэффициента ортогонального преобразования, которая является информацией выводимой из декодера 202 переменной длины, отправляется в деквантователь 204, и информация 23 выбора, которая является информацией, выводимой из декодера 203 информации выбора, отправляется в модуль обнаружения/выбора.
Информация 22 квантованного коэффициента ортогонального преобразования деквантуется с помощью деквантователя 204 (S34) и затем подвергается обратному ортогональному преобразованию с помощью обратного ортогонального преобразователя 205 (S35). Как результат сигнал 24 ошибки прогнозирования получается. Сумматор 206 прибавляет сигнал прогнозного изображения к сигналу 24 ошибки прогнозирования, чтобы воспроизводить видеосигнал 26 (S36). Воспроизведенный видеосигнал 27 сохраняется в запоминающем устройстве 210 кадров (S37).
Формирователь 207 прогнозных изображений формирует прогнозное изображение 26 с использованием вектора движения доступного блока, который является декодированным блоком, граничащим с блоком, который должен быть декодирован, и имеющим вектор движения, причем вектор движения представляет собой вектор движения выборочного блока, выбранного на основе декодированной информации 23 выбора. Модуль 209 обнаружения/выбора выбирает один вектор движения из смежных блоков на основе информации доступных блоков для смежного блока и информации 23 выбора, декодированной с помощью декодера 203 информации выбора, аналогично модулю 110 обнаружения/выбора устройства кодирования. Модуль 208 прогнозирования формирует прогнозное изображение 26 с использованием этого выбранного вектора движения 25 и отправляет его в сумматор 206, чтобы формировать видеосигнал 27.
Согласно настоящему изобретению, кодирование информации выбора согласно числу доступных блоков дает возможность отправки информации выбора с использованием подходящей кодовой таблицы, приводя к тому, что дополнительная информация по информации выбора может быть уменьшена.
Помимо этого, использование вектора движения доступного блока для прогнозирования с компенсацией движения блока, который должен быть кодирован, дает возможность уменьшения дополнительной информации по информации вектора движения.
Кроме того, способ вычисления вектора движения не является фиксированным и повышает степени свободы вычисления вектора движения по сравнению с прямым режимом посредством выбора надлежащего из числа доступных блоков.
Технология настоящего изобретения, изложенная в варианте осуществления настоящего изобретения, может быть выполнена с помощью компьютера и также может распространяться в качестве программы, допускающей инструктирование компьютеру выполнять ее посредством сохранения на носителе записи, таком как магнитный диск (гибкий диск, жесткий диск и т.д.), оптический диск (CD-ROM, DVD и т.д.), полупроводниковое запоминающее устройство и т.д.
Помимо этого, настоящее изобретение не ограничено вышеописанными вариантами осуществления и может быть модифицировано в компонентах в рамках объема без отступления от предмета изобретения.
Помимо этого, можно предоставлять различные изобретения посредством комбинирования надлежащим образом множества компонентов, раскрытых в вышеописанных вариантах осуществления. Например, некоторые компоненты могут быть удалены из числа всех компонентов, показанных в вариантах осуществления. Дополнительно, компоненты различных вариантов осуществления могут быть комбинированы надлежащим образом.
Промышленная применимость
Устройство согласно настоящему изобретению применяется к процессу сжатия изображений для связи, хранения и широковещательной передачи.
1. Устройство кодирования видео для подвергания видеоизображения кодированию с компенсацией движения, причем устройство содержит:- модуль обнаружения, чтобы обнаруживать доступные блоки, имеющие векторы движения, из кодированных блоков, смежных с блоком, который должен быть кодирован, и число доступных блоков;- модуль выбора, чтобы выбирать один выборочный блок из доступных блоков;- модуль кодирования информации выбора, чтобы выбирать одну кодовую таблицу выбора из множества кодовых таблиц в зависимости от числа доступных блоков и кодировать информацию выбора для указания выборочного блока с использованием выбранной кодовой таблицы; и- модуль кодирования изображений, чтобы подвергать блок, который должен быть кодирован, прогнозирующему кодированию с компенсацией движения с использованием вектора движения выборочного блока.
2. Устройство кодирования видео по п.1, отличающееся тем, что каждой из множества кодовых таблиц является кодовая таблица, имеющая число записей, идентичное числу доступных блоков.
3. Устройство кодирования видео по п.2, отличающееся тем, что кодовая таблица, когда число доступных блоков равняется 2, представляет информацию выбора с помощью кодового слова в 1 бит, кодовая таблица, когда число доступных блоков равняется 3, представляет информацию выбора с помощью кодового слова переменной длины, имеющего длину от 1 бита до 2 битов, и кодовая таблица, когда число доступных блоков равняется 4, представляет информацию выбора с помощью кодового слова переменной длины, имеющего длину от 1 бита до 3 битов.
4. Устройство кодирования видео по п.3, отличающееся тем, что модуль обнаружения обнаруживает в качестве доступного блока блок с конкретным размером блока, имеющий вектор движения, из кодированных блоков.
5. Устройство кодирования видео по п.4, отличающееся тем, что оно дополнительно содержит модуль задания, чтобы задавать режим прогнозирования блока, который должен быть кодирован, как любой из следующего:(A) первое однонаправленное прогнозирование с использованием только первого вектора,(B) второе однонаправленное прогнозирование с использованием только второго вектора, и(C) двунаправленное прогнозирование с использованием, как первого вектора, так и второго вектора,- при этом модуль обнаружения обнаруживает в качестве доступного блока блок с конкретным размером блока, имеющий вектор движения, необходимый для подвергания блока, который должен быть кодирован, прогнозированию с компенсацией движения в режиме прогнозирования.
6. Устройство декодирования видео для подвергания видеоизображения прогнозирующему декодированию с компенсацией движения, причем устройство содержит:- модуль обнаружения, чтобы получать доступные блоки, имеющие векторы движения, и число доступных блоков из декодированных блоков, смежных с блоком, который должен быть декодирован;- модуль декодирования информации выбора, чтобы выбирать одну кодовую таблицу выбора из множества кодовых таблиц в зависимости от числа доступных блоков и информации выбора декодирования для указания выборочного блока с использованием кодовой таблицы, соответствующей числу доступных блоков;- модуль выбора, чтобы выбирать один выборочный блок из доступных блоков согласно информации выбора; и- модуль декодирования видео, чтобы подвергать блок, который должен быть декодирован, прогнозирующему декодированию с компенсацией движения с использованием вектора движения выборочного блока.
7. Устройство декодирования видео по п.6, отличающееся тем, что каждой из множества кодовых таблиц является кодовая таблица, имеющая число записей, идентичное числу доступных блоков.
8. Устройство декодирования видео по п.7, отличающееся тем, что кодовая таблица, когда число доступных блоков равняется 2, представляет информацию выбора с помощью кодового слова в 1 бит, кодовая таблица, когда число доступных блоков равняется 3, представляет информацию выбора с помощью кодового слова переменной длины, имеющего длину от 1 бита до 2 битов, и кодовая таблица, когда число доступных блоков равняется 4, представляет информацию выбора с помощью кодового слова переменной длины, имеющего длину от 1 бита до 3 битов.
9. Устройство декодирования видео по п.8, отличающееся тем, что модуль обнаружения обнаруживает в качестве доступного блока блок с конкретным размером блока, имеющий вектор движения, из кодированного блока.
10. Устройство декодирования видео по п.9, отличающееся тем, что оно дополнительно содержит модуль задания, чтобы задавать режим прогнозирования блока, который должен быть декодирован, как любой из следующего:(A) первое однонаправленное прогнозирование с использованием только первого вектора,(B) второе однонаправленное прогнозирование с использованием только второго вектора, и(С) двунаправленное прогнозирование с использованием как первого вектора, так и второго вектора,- при этом модуль обнар