УСТРОЙСТВО КОДИРОВАНИЯ С ПРЕДСКАЗАНИЕМ ИЗОБРАЖЕНИЙ, СПОСОБ КОДИРОВАНИЯ С ПРЕДСКАЗАНИЕМ ИЗОБРАЖЕНИЙ, ПРОГРАММА КОДИРОВАНИЯ С ПРЕДСКАЗАНИЕМ ИЗОБРАЖЕНИЙ, УСТРОЙСТВО ДЕКОДИРОВАНИЯ С ПРЕДСКАЗАНИЕМ ИЗОБРАЖЕНИЙ, СПОСОБ ДЕКОДИРОВАНИЯ С ПРЕДСКАЗАНИЕМ ИЗОБРАЖЕНИЙ, ПРОГРАММА ДЕКОДИРОВАНИЯ С ПРЕДСКАЗАНИЕМ ИЗОБРАЖЕНИЙ
IMAGE PREDICTION ENCODING DEVICE, IMAGE PREDICTION ENCODING METHOD, IMAGE PREDICTION ENCODING PROGRAMME, IMAGE PREDICTION DECODING DEVICE, IMAGE PREDICTION DECODING METHOD, IMAGE PREDICTION DECODING PROGRAMME

Область техники
Настоящее изобретение относится к устройству кодирования с предсказанием изображений, способу кодирования с предсказанием изображений, программе кодирования с предсказанием изображений, устройству декодирования с предсказанием изображений, способу декодирования с предсказанием изображений, программе декодирования с предсказанием изображений. Более конкретно, настоящее изобретение относится к устройству кодирования с предсказанием изображений, способу кодирования с предсказанием изображений, программе кодирования с предсказанием изображений, устройству декодирования с предсказанием изображений, способу декодирования с предсказанием изображений, программе декодирования с предсказанием изображений, которые выполняют кодирование с предсказанием и декодирование с предсказанием с использованием деления области.
Предшествующий уровень техники
Технология кодирования со сжатием используется, чтобы эффективно передавать и хранить данные неподвижного изображения и данные движущегося изображения. Системы стандартов MPEG-1 до MPEG-4 и ITU (Международный Телекоммуникационный Союз) H.261 до H.264 широко используются для системы кодирования со сжатием для движущихся изображений.
В таких системах кодирования, обработка кодирования, обработка декодирования выполняются после деления изображения, служащего целью кодирования, на множество блоков. При внутрикартинном кодировании с предсказанием (предиктивном кодировании) сигнал предсказания целевого блока формируется с использованием сигнала смежного восстановленного изображения в пределах той же самой картины, куда включен целевой блок. Восстановленный сигнал изображения формируется путем восстановления сжатых данных изображения. Затем, во внутрикартинном кодировании с предсказанием, формируется дифференциальный сигнал путем вычитания сигнала предсказания из сигнала целевого блока, и дифференциальный сигнал кодируется. В межкартинном кодировании с предсказанием, обращаясь к восстановленному сигналу изображения в пределах другой картины, отличной от картины, куда включен целевой блок, выполняется компенсация движения, и сигнал предсказания, таким образом, формируется. Затем, в межкартинном кодировании с предсказанием, сигнал предсказания вычитается из сигнала целевого блока, чтобы сформировать дифференциальный сигнал, и дифференциальный сигнал кодируется.
Например, внутрикартинное кодирование с предсказанием H.264 принимает метод, в котором сигнал предсказания формируется путем экстраполяции, в предопределенном направлении, восстановленных пиксельных значений (восстановленных сигналов) пикселов, расположенных по соседству с блоком, служащим целью кодирования. На фиг.20 показано схематичное представление, описывающее метод внутрикартинного предсказания, используемый в ITU H.264. Фиг.20(A) показывает внутрикартинный метод предсказания, в котором экстраполяция выполняется в вертикальном направлении. На фиг.20(A) 4×4-пиксельный целевой блок 802 является целевым блоком, служащим целью кодирования. Группа 801 пикселов, составленная из пикселов от А до М, расположенная по соседству с границей целевого блока 802, является соседней областью и является сигналом изображения, который был восстановлен в прошлом процессе. В предсказании, показанном на фиг.20(A), пиксельные значения смежных пикселов от А до D, расположенных непосредственно выше целевого блока 802, экстраполируются вниз, чтобы сформировать сигнал предсказания.
Фиг.20(B) показывает внутрикартинный метод предсказания, в котором экстраполяция выполняется в горизонтальном направлении. В предсказании, показанном на фиг.20(B), сигнал предсказания формируется путем экстраполяции пиксельных значений восстановленных пикселов от I до L, расположенных слева от целевого блока 802 направо.
Во внутрикартинном методе предсказания сигнал предсказания, имеющий самое низкое различие относительно исходного сигнала целевого блока, принимается в качестве оптимального сигнала предсказания, из девяти сигналов предсказания, сформированных методами, показанными на фиг.20(A)-(I). Конкретные методы для формирования сигнала предсказания таким образом описаны, например, в патентной литературе 1.
В типичном межкартинном кодировании с предсказанием сигнал предсказания формирует путь поиска сигнала, напоминающего исходный сигнал блока, служащего целью кодирования, из восстановленных картин. В межкартинном кодировании предсказания кодируются вектор движения и остаточный сигнал между исходным сигналом и сигналом предсказания целевого блока. Вектор движения является вектором, указывающим величину пространственного смещения между целевым блоком и областью, где находится искомый сигнал. Метод поиска вектора движения для каждого блока, таким образом, называется проверкой блоков на соответствие.
На фиг.21 показано схематичное представление, описывающее проверку блоков на соответствие. На фиг.21 восстановленная картина 903 показана в (a), а картина 901, включающая в себя целевой блок 902, показана в (b). Здесь, область 904 на картине 903 является областью, которая находится в той же самой пространственной позиции, что и целевой блок 902. При проверке блоков на соответствие устанавливается диапазон 905 поиска, окружающий область 904, и область 906, которая имеет самую низкую сумму абсолютных разностей относительно исходного сигнала целевого блока 902, обнаруживается из диапазона поиска. Сигнал области 906 становится сигналом предсказания, и вектор, указывающий величину смещения из области 904 к области 906, определяется как вектор 907 движения.
При проверке блоков на соответствие также имеется метод, в котором подготавливается множество опорных картин 903, и опорная картина для выполнения проверки блоков на соответствие выбирается для каждого целевого блока, и определяется информация выбора опорной картины. В H.264, чтобы учитывать локальные изменения признаков в изображениях, подготавливается множество типов предсказания с различными размерами блока для кодирования вектора движения. Типы предсказания H.264 описаны, например, в патентной литературе 2.
В кодировании со сжатием данных движущегося изображения каждая картина (кадр или поле) может быть закодирована в любой последовательности. Поэтому, имеется три подхода для порядка кодирования в межкартинном предсказании, которое формирует сигнал предсказания со ссылкой на восстановленные картины. Первым подходом является прямое предсказание, которое формирует сигнал предсказания со ссылкой на восстановленные картины в прошлом в порядке отображения. Вторым подходом является обратное предсказание, которое формирует сигнал предсказания со ссылкой на восстановленные картины в будущем в порядке отображения. Третьим подходом является двунаправленное предсказание, которое выполняет как прямое предсказание, так и обратное предсказание, чтобы усреднить два сигнала предсказания. Эти типы межкартинного предсказания описаны, например, в патентной литературе 3.
Список цитированных источников
Патентная литература
Патентная литература 1: Патент США № 6765964
Патентная литература 2: Патент США № 7003035
Патентная литература 2: Патент США № 6259739
Сущность изобретения
Техническая проблема
Как описано выше, формирование сигнала предсказания выполняется для каждой блочной единицы. Однако, так как местоположение и движение движущегося объекта могут быть произвольно установлены в видео, когда картина делится на блоки с равными интервалами, есть случаи, когда две или более области с различными движениями и шаблонами включаются в блок. В таком случае кодирование с предсказанием для фильма вызывает большую ошибку предсказания вблизи края объекта.
Как описано выше, в H.264, чтобы учесть локальные изменения признаков в изображениях и подавить увеличение ошибки предсказания, подготавливается множество типов предсказания с различными размерами блока. Однако когда размер блока становится меньшим, дополнительная информация, требуемая для формирования сигнала предсказания (вектора движения и т.д.), необходима для каждого малого блока, что приводит к возрастанию величины кода дополнительной информации. Кроме того, когда подготавливается много размеров блока, необходима информация режима для выбора размера блока, что также приводит к возрастанию величины кода информации о режиме.
Ввиду этих проблем один аспект настоящего изобретения нацелен на обеспечение устройства кодирования с предсказанием изображений, способа кодирования с предсказанием изображений и программы кодирования с предсказанием изображений, которые могут эффективно кодировать изображение, одновременно подавляя увеличение информации прогнозирования, такой как дополнительная информация (векторы движения и т.д.) и информация режима, и уменьшая ошибку предсказания целевого блока. Дополнительно, другой аспект настоящего изобретения нацелен на обеспечение устройства декодирования с предсказанием изображений, способа декодирования с предсказанием изображений и программы декодирования с предсказанием изображений, которые соответствуют такому аспекту кодирования.
Решение проблемы
Один аспект настоящего изобретения касается кодирования изображения. Устройство кодирования с предсказанием изображений согласно одному варианту осуществления содержит: (a) средство разделения на области для разделения входного изображения на множество областей; (b) средство оценки информации предсказания для формирования сигнала предсказания целевой области среди множества областей из восстановленного сигнала и получения информации предсказания, которая используется для формирования сигнала предсказания, как информации предсказания, ассоциированной с целевой областью; (c) средство кодирования информации предсказания для кодирования информации предсказания, ассоциированной с целевой областью; (d) средство решения для выполнения сравнения информации предсказания, ассоциированной с целевой областью, и информации предсказания, ассоциированной с соседней областью, расположенной по соседству с целевой областью, и принятия решения на основе результата сравнения, может ли информация предсказания, ассоциированная с соседней областью, использоваться, чтобы сформировать сигнал предсказания целевой области; (е) средство определения ширины области для того, чтобы, когда средством решения принято решение, что информация предсказания, ассоциированная с соседней областью, может использоваться, чтобы сформировать сигнал предсказания целевой области, определять ширину области сегмента, который включен в целевую область, и где информация предсказания, ассоциированная с соседней областью, используется для формирования сигнала предсказания; (f) средство кодирования ширины области для кодирования информации, идентифицирующей ширину области, ассоциированную с целевой областью; (g) средство формирования сигнала предсказания для формирования сигнала предсказания целевой области из восстановленного сигнала с использованием информации предсказания, ассоциированной с целевой областью, информации предсказания, ассоциированной с соседней областью, и ширины области; (h) средство формирования остаточного сигнала для формирования остаточного сигнала между сигналом предсказания целевой области и исходным сигналом целевой области; (i) средство кодирования остаточного сигнала для кодирования остаточного сигнала; (j) средство восстановления остаточного сигнала для формировании декодированного остаточного сигнала путем декодирования кодированных данных остаточного сигнала; (k) средство суммирования для формирования восстановленного сигнала целевой области путем суммирования сигнала предсказания с декодированным остаточным сигналом; и (l) средство хранения для сохранения восстановленного сигнала целевой области в качестве восстановленного сигнала.
Кроме того, способ кодирования с предсказанием изображений согласно одному варианту осуществления содержит: (a) этап разделения на области для разделения входного изображения на множество областей; (b) этап оценки информации предсказания для формирования сигнала предсказания целевой области среди множества областей из восстановленного сигнала и получения информации предсказания, которая используется для формирования сигнала предсказания, как информации предсказания, ассоциированной с целевой областью; (c) этап кодирования информации предсказания для кодирования информации предсказания, ассоциированной с целевой областью; (d) этап решения для выполнения сравнения информации предсказания, ассоциированной с целевой областью, и информации предсказания, ассоциированной с соседней областью, расположенный смежно с целевой областью, и принятия решения на основе результата сравнения, может ли информация предсказания, ассоциированная с соседней областью, использоваться для формирования сигнала предсказания целевой области; (е) этап определения ширины области для того, чтобы, когда на этапе решения принято решение, что информация предсказания, ассоциированная с соседней областью, может использоваться, чтобы формировать сигнал предсказания целевой области, определять ширину области сегмента, который включен в целевую область, и где информация предсказания, ассоциированная с соседней областью, используется для формирования сигнала предсказания; (f) этап кодирования ширины области для кодирования информации, идентифицирующей ширину области; (g) этап формирования сигнала предсказания для формирования сигнала предсказания целевой области из восстановленного сигнала с использованием информации предсказания, ассоциированной с целевой областью, информации предсказания, ассоциированной с соседней областью, и ширины области; (h) этап формирования остаточного сигнала для формирования остаточного сигнала между сигналом предсказания целевой области и исходным сигналом целевой области; (i) этап кодирования остаточного сигнала для кодирования остаточного сигнала; (j) этап восстановления остаточного сигнала для формирования декодированного остаточного сигнала путем декодирования кодированных данных остаточного сигнала; (k) этап формирования восстановленного сигнала для формирования восстановленного сигнала целевой области путем суммирования сигнала предсказания с декодированным остаточным сигналом; и (l) этап хранения для сохранения восстановленного сигнала целевой области в качестве восстановленного сигнала.
Кроме того, программа кодирования с предсказанием изображений согласно одному варианту осуществления побуждает компьютер функционировать как: (a) средство разделения на области для разделения входного изображения на множество областей; (b) средство оценки информации предсказания для формирования сигнала предсказания целевой области среди множества областей из восстановленного сигнала и получения информации предсказания, которая используется для формирования сигнала предсказания, как информации предсказания, ассоциированной с целевой областью; (c) средство кодирования информации предсказания для кодирования информации предсказания, ассоциированной с целевой областью; (d) средство решения для выполнения сравнения информации предсказания, ассоциированной с целевой областью, и информации предсказания, ассоциированной с соседней областью, расположенной смежно с целевой областью, и принятия решения на основе результата сравнения, может ли информация предсказания, ассоциированная с соседней областью, использоваться для формирования сигнала предсказания целевой области; (е) средство определения ширины области для того, чтобы, когда средством решения принято решение, что информация предсказания, ассоциированная с соседней областью, может использоваться, чтобы формировать сигнал предсказания целевой области, определять ширину сегмента, который включен в целевую область, и где информация предсказания, ассоциированная с соседней областью, используется для формирования сигнала предсказания; (f) средство кодирования ширины области для кодирования информации, идентифицирующей ширину области; (g) средство формирования сигнала предсказания для формирования сигнала предсказания целевой области из восстановленного сигнала с использованием информации предсказания, ассоциированной с целевой областью, информации предсказания, ассоциированной с соседней областью, и ширины области; (h) средство формирования остаточного сигнала для формирования остаточного сигнала между сигналом предсказания целевой области и исходным сигналом целевой области; (i) средство кодирования остаточного сигнала для кодирования остаточного сигнала; (j) средство восстановления остаточного сигнала для формирования декодированного остаточного сигнала путем декодирования кодированных данных остаточного сигнала; (k) средство суммирования для формирования восстановленного сигнала целевой области путем суммирования сигнала предсказания с декодированным остаточным сигналом; и (l) средство хранения для сохранения восстановленного сигнала целевой области в качестве восстановленного сигнала.
Согласно аспекту кодирования настоящего изобретения, когда информация предсказания соседней области может быть использована, сигнал предсказания сегмента в целевой области формируется с использованием информации предсказания соседней области. Поэтому, согласно аспекту кодирования настоящего изобретения, ошибка предсказания целевой области, где существует край, может быть уменьшена. Кроме того, так как информация предсказания соседней области используется для формирования сигнала предсказания сегмента в целевой области, является возможным подавить увеличение количества информации предсказания.
В одном варианте осуществления, когда принято решение, что информация предсказания, ассоциированная с целевой областью, и информация предсказания, ассоциированная с соседней областью, являются теми же самыми, подобными, равными, соответствующими или идентичными, может быть принято решение, что информация предсказания, ассоциированная с соседней областью, не используется для формирования сигнала предсказания целевой области. Это объясняется тем, что когда информация предсказания, ассоциированная с целевой областью, и информация предсказания, ассоциированная с соседней областью, являются теми же самыми, сокращение ошибки предсказания целевой области не достигается.
В одном варианте осуществления, когда принято решение, что комбинация информации предсказания, ассоциированной с целевой областью, и информации предсказания, ассоциированной с соседней областью, не удовлетворяет предопределенному условию, может быть принято решение, что информация предсказания, ассоциированная с соседней областью, не используется для формирования сигнала предсказания целевой области.
В аспекте кодирования настоящего изобретения, когда принято решение, что информация предсказания, ассоциированная с соседней областью, не может использоваться для формирования сигнала предсказания целевой области, кодированные данные ширины области, ассоциированной с целевой областью, могут не выводиться. Величина кода, таким образом, уменьшается.
В одном варианте осуществления соседняя область может быть двумя соседними областями, одна из которых слева, а другая наверху целевой области. В таком случае, когда принято решение, что обе информации предсказания, ассоциированные с двумя соседними областями, могут использоваться для формирования сигнала предсказания целевой области, информация идентификации, которая идентифицирует соседнюю область, имеющую информацию предсказания, подлежащую использованию для формирования сигнала предсказания целевой области из двух соседних областей, может кодироваться. В соответствии с таким признаком можно сформировать сигнал предсказания сегмента из оптимальной соседней области из двух соседних областей, при этом достигается дальнейшее уменьшение ошибки предсказания.
Другой аспект настоящего изобретения относится к декодированию изображения. Устройство декодирования с предсказанием изображения согласно одному варианту осуществления содержит: (a) средство анализа данных для извлечения из сжатых данных, которые были сформированы путем деления изображения на множество областей и кодирования областей, кодированных данных информации предсказания, которая использовалась для формирования сигнала предсказания целевой области, кодированных данных информации, идентифицирующей ширину области сегмента в целевой области, где информация предсказания, ассоциированная с соседней областью, расположенной по соседству с целевой областью, использовалась для формирования сигнала предсказания, и кодированных данных остаточного сигнала; (b) средство декодирования информации предсказания для восстановления информации предсказания, ассоциированной с целевой областью, путем декодирования кодированных данных информации предсказания; (c) средство решения для выполнения сравнения информации предсказания, ассоциированной с целевой областью, и информации предсказания, ассоциированной с соседней областью, и принятия решения, на основе результата сравнения, может ли информация предсказания, ассоциированная с соседней областью, использоваться для формирования сигнала предсказания целевой области; (d) средство декодирования ширины области для того, чтобы, когда средством решения принято решение, что информация предсказания, ассоциированная с соседней областью, может использоваться для формирования сигнала предсказания целевой области, восстанавливать ширину области путем декодирования кодированных данных информации, идентифицирующей ширину области; (e) средство формирования сигнала предсказания для формирования сигнала предсказания целевой области из восстановленного сигнала с использованием информации предсказания, ассоциированной с целевой областью, информации предсказания, ассоциированной с соседней областью, и ширины области; (f) средство восстановления остаточного сигнала для восстановления декодированного остаточного сигнала целевой области из кодированных данных остаточного сигнала; (g) средство суммирования для формирования восстановленного сигнала целевой области путем суммирования сигнала предсказания целевой области с декодированным остаточным сигналом; и (h) средство хранения для сохранения восстановленного сигнала целевой области в качестве восстановленного сигнала.
Кроме того, способ декодирования с предсказанием изображения согласно одному варианту осуществления содержит: (a) этап анализа данных для извлечения из сжатых данных, которые были сформированы путем деления изображения на множество областей и кодирования областей, кодированных данных информации предсказания, которая использовалась для формирования сигнала предсказания целевой области, кодированных данных информации, идентифицирующей ширину области сегмента в целевой области, где информация предсказания, ассоциированная с соседней областью, расположенной по соседству с целевой областью, использовалась для формирования сигнала предсказания, и кодированных данных остаточного сигнала; (b) этап декодирования информации предсказания для восстановления информации предсказания, ассоциированной с целевой областью, путем декодирования кодированных данных информации предсказания; (c) этап решения для выполнения сравнения информации предсказания, ассоциированной с целевой областью, и информации предсказания, ассоциированной с соседней областью, и принятия решения на основе результата сравнения, может ли информация предсказания, ассоциированная с соседней областью, использоваться для формирования сигнала предсказания целевой области; (d) этап декодирования ширины области для того, чтобы, когда на этапе решения принято решение, что информация предсказания, ассоциированная с соседней областью, может использоваться для формирования сигнала предсказания целевой области, восстанавливать ширину области путем декодирования кодированных данных информации, идентифицирующей ширину области; (e) этап формирования сигнала предсказания для формирования сигнала предсказания целевой области из восстановленного сигнала с использованием информации предсказания, ассоциированной с целевой областью, информации предсказания, ассоциированной с соседней областью, и ширины области; (f) этап восстановления остаточного сигнала для восстановления декодированного остаточного сигнала целевой области из кодированных данных остаточного сигнала; (g) этап формирования восстановленного сигнала для формирования восстановленного сигнала целевой области путем суммирования сигнала предсказания целевой области с декодированным остаточным сигналом; и (h) этап хранения для сохранения восстановленного сигнала целевой области в качестве восстановленного сигнала.
Кроме того, программа декодирования с предсказанием изображения согласно одному варианту осуществления побуждает компьютер функционировать как: (a) средство анализа данных для извлечения из сжатых данных, которые были сформированы путем деления изображения на множество областей, и кодирования областей, кодированных данных информации предсказания, которая использовалась для формирования сигнала предсказания целевой области, кодированных данных информации, идентифицирующей ширину области сегмента в целевой области, где информация предсказания, ассоциированная с соседней областью, расположенной по соседству с целевой областью, использовалась для формирования сигнала предсказания, и кодированных данных остаточного сигнала; (b) средство декодирования информации предсказания для восстановления информации предсказания, ассоциированной с целевой областью, путем декодирования кодированных данных информации предсказания; (c) средство решения для выполнения сравнения информации предсказания, ассоциированной с целевой областью, и информации предсказания, ассоциированной с соседней областью, и принятия решения на основе результата сравнения, может ли информация предсказания, ассоциированная с соседней областью, использоваться для формирования сигнала предсказания целевой области; (d) средство декодирования ширины области для того, чтобы, когда средством решения принято решение, что информация предсказания, ассоциированная с соседней областью, может использоваться для формирования сигнала предсказания целевой области, восстанавливать ширину области путем декодирования кодированных данных информации, идентифицирующей ширину области; (e) средство формирования сигнала предсказания для формирования сигнала предсказания целевой области из восстановленного сигнала с использованием информации предсказания, ассоциированной с целевой областью, информации предсказания, ассоциированной с соседней областью, и ширины области; (f) средство восстановления остаточного сигнала для восстановления декодированного остаточного сигнала целевой области из кодированных данных остаточного сигнала; (g) средство суммирования для формирования восстановленного сигнала целевой области путем суммирования сигнала предсказания целевой области с декодированным остаточным сигналом; и (h) средство хранения для сохранения восстановленного сигнала целевой области в качестве восстановленного сигнала.
Настоящее изобретение согласно такому декодированию позволяет предпочтительным образом воспроизводить изображение из сжатых данных, сформированных путем кодирования согласно настоящему изобретению, как описано выше.
В одном варианте осуществления, когда принято решение, что информация предсказания, ассоциированная с целевой областью, и информация предсказания, ассоциированная с соседней областью, являются теми же самыми, может быть принято решение, что информация предсказания, ассоциированная с соседней областью, не используется для формирования сигнала предсказания целевой области. Кроме того, когда принято решение, что комбинация информации предсказания, ассоциированной с целевой областью, и информации предсказания, ассоциированной с соседней областью, не удовлетворяет предопределенному условию, может быть принято решение, что информация предсказания, ассоциированная с соседней областью, не используется для формирования сигнала предсказания целевой области.
В одном варианте осуществления, когда принято решение, что информация предсказания, ассоциированная с соседней областью, не используется для формирования сигнала предсказания целевой области, ширина области, ассоциированная с целевой областью, может быть установлена в 0.
В одном варианте осуществления соседняя область может быть двумя соседними областями, одна из которых слева, а другая наверху целевой области. В таком случае, когда принято решение, что обе информации предсказания, ассоциированные с двумя соседними областями, могут использоваться для формирования сигнала предсказания целевой области, средство декодирования ширины области может декодировать информацию идентификации, которая идентифицирует соседнюю область, имеющую информацию предсказания, подлежащую использованию для формирования сигнала предсказания целевой области из двух соседних областей.
Полезные результаты изобретения
Как описано выше, согласно данному изобретению, предоставлены устройство кодирования с предсказанием изображений, способ кодирования с предсказанием изображений и программа кодирования с предсказанием изображений, которые могут эффективно кодировать изображение, при подавлении увеличения информации предсказания и уменьшении ошибки предсказания целевого блока. Кроме того, согласно данному изобретению, соответственно предоставлены устройство декодирования с предсказанием изображений, способ декодирования с предсказанием изображений и программа декодирования с предсказанием изображений.
Краткое описание чертежей
Фиг.1 - диаграмма, показывающая устройство кодирования с предсказанием изображений согласно одному варианту осуществления;
Фиг.2 - диаграмма, иллюстрирующая сегмент в целевом блоке, где сигнал предсказания формируется с использованием информации предсказания соседнего блока;
Фиг.3 - блок-схема, показывающая процедуры способа кодирования с предсказанием изображений согласно одному варианту осуществления;
Фиг.4 - подробная блок-схема этапа S108 на фиг.3;
Фиг.5 - подробная блок-схема этапа S202 на фиг.4;
Фиг.6 - подробная блок-схема этапа S110 на фиг.3;
Фиг.7 - диаграмма, показывающая устройство декодирования с предсказанием изображений согласно одному варианту осуществления;
Фиг.8 - блок-схема способа декодирования с предсказанием изображений согласно одному варианту осуществления;
Фиг.9 - подробная блок-схема этапа S508 на фиг.8;
Фиг.10 - диаграмма, иллюстрирующая другой пример соседнего блока;
Фиг.11 - блок-схема, показывающая детализированные процедуры другого примера этапа S108 на фиг.3;
Фиг.12 - блок-схема, показывающая детализированные процедуры другого примера этапа S508 на фиг.8;
Фиг.13 - диаграмма, иллюстрирующая другой пример сегмента в целевом блоке, где сигнал предсказания формируется с использованием информации предсказания соседнего блока;
Фиг.14 - диаграмма, показывающая другой пример сегмента;
Фиг.15 - диаграмма, показывающая другие примеры целевого блока и соседнего блока;
Фиг.16 - диаграмма, показывающая программу кодирования с предсказанием изображений согласно одному варианту осуществления;
Фиг.17 - диаграмма, показывающая программу декодирования с предсказанием изображений согласно одному варианту осуществления;
Фиг.18 - диаграмма, показывающая структуру аппаратных средств компьютера для выполнения программы, сохраненной на носителе записи;
Фиг.19 - вид в перспективе компьютера для выполнения программы, сохраненной на носителе записи;
Фиг.20 - схематичное представление, описывающее внутрикартинный метод предсказания, используемый в ITU H.264p; и
Фиг.21 - схематичное представление, описывающее проверку блоков на соответствие.
Описание вариантов осуществления
Предпочтительные варианты осуществления настоящего изобретения описаны подробно ниже со ссылками на чертежи. На каждом чертеже части, которые являются одинаковыми или эквивалентными, обозначены теми же самыми ссылочными позициями.
Фиг.1 - диаграмма, показывающая устройство кодирования с предсказанием изображений согласно одному варианту осуществления. Устройство 100 кодирования с предсказанием изображений, показанное на фиг.1, содержит входной терминал (вывод) 102, модуль 104 разделения на блоки, генератор 106 сигнала предсказания, память 108 кадров, вычитатель 110, преобразователь 112, квантователь 114, обратный квантователь 116, обратный преобразователь 118, сумматор 120, кодер 122 квантованных преобразованных коэффициентов, выходной терминал (вывод) 124, оценщик 128 информации предсказания, память 128 информации предсказания, модуль 130 принятия решения, кодер 132 информации предсказания, определитель 134 ширины области и кодер 136 ширины области. Преобразователь 112, квантователь 114 и кодер 122 квантованных преобразованных коэффициентов функционируют в качестве средства кодирования остаточного сигнала, в то время как обратный квантователь 116 и обратный преобразователь 118 функционируют как средство восстановления остаточного сигнала.
Каждый компонент устройства 100 кодирования с предсказанием изображений будет описан ниже. Входной терминал 102 является терминалом для ввода сигнала движущейся картины. Сигнал движущейся картины является сигналом, который включает в себя множество изображений. Входной терминал 102 связан через линию L102 с модулем 104 разделения на блоки.
Модуль 104 разделения на блоки делит изображение, которое включено в сигнал движущейся картины на множество областей. Более конкретно, модуль 104 разделения на блоки последовательно выбирает множество изображений, которые включены в сигнал движущейся картины в качестве целевого изображения кодирования. Модуль 104 разделения на блоки делит выбранное изображение на множество областей. В настоящем варианте осуществления область представляет собой блок 8×8 пикселов. Однако блок с различными размерами и/или формами может использоваться в качестве области. Модуль 104 разделения на блоки связан через линию L104 с оценщиком 126 информации предсказания.
Оценщик 126 информации предсказания детектирует информацию предсказания, требуемую для формирования сигнала предсказания целевой области (целевой блок), которая является целью обработки кодирования. Что касается способа формирования информации предсказания, который является методом предсказания, то применимы внутрикартинное предсказание или межкартинное предсказание, которые были описаны при характеристике предшествующего уровня техники. Настоящее изобретение, однако, не ограничено такими методами предсказания. Описание ниже дано в случае, где проверка блоков на соответствие, показанная на фиг.21, выполняется в процессе предсказания. Когда используется проверка блоков на соответствие, информация предсказания включает в себя векторы движения, информацию выбора опорной картины и т.п. В дальнейшем, информация предсказания, которая детектируется для формирования сигнала предсказания целевого блока, упоминается как "информация предсказания, ассоциированная с целевым блоком". Оценщик 126 информации предсказания соединен через линию L126a и линию L126b с памятью 128 информации предсказания и кодером 132 информации предсказания соответственно.
Память 128 информации предсказания получает информацию предсказания через линию L126a из оценщика 126 информации предсказания и сохраняет информацию предсказания. Память 128 информации предсказания соединена через линию L128 с модулем 130 решения.
Кодер 132 информации предсказания получает информацию предсказания через линию L126b от оценщика 126 информации предсказания. Кодер 132 информации предсказания энтропийно кодирует полученную информацию предсказания для формирования кодированных данных и выводит кодированные данные через линию L132 на выходной терминал 124. Примеры энтропийного кодирования включают в себя арифметическое кодирование, кодирование переменной длины и т.п., но данное изобретение не ограничено такими методами энтропийного кодирования.
Модуль 130 решения получает информацию предсказания, ассоциированную с целевым блоком, и информацию предсказания, ассоциированную с соседним блоком, через линию L128 от памяти 128 информации предсказания. Соседний блок является соседней областью, расположенной по соседству с целевым блоком, и является уже кодированной областью. Модуль 130 решения сравнивает информацию предсказания, ассоциированную с целевым блоком, с информацией предсказания, ассоциированной с соседним блоком, и принимает решение, может ли информация предсказания, ассоциированная с соседним блоком, использоваться для формирования сигнала предсказания целевого блока.
Более конкретно, модуль 130 решения сравнивает информацию предсказания, ассоциированную с целевым блоком, с информацией предсказания, ассоциированной с соседним блоком, и когда две части информации предсказания совпадают, он принимает решение, что информация предсказания, ассоциированная с соседним блоком, не будет использоваться для формирования сигнала предсказания целевого блока. Это объясняется тем, что, когда две части информации предсказания совпадают, сигнал предсказания сегмента целевого блока, формируемого с использованием информации предсказания, ассоциированной с соседним блоком, может дать в результате то же самое, что и сигнал предсказания, формируемый с использованием информации предсказания, ассоциированной с целевым блоком. Таким образом, не может ожидаться снижение ошибки предсказания.
С другой стороны, когда две части информации предсказания различаются, модуль 130 решения принимает решение, что информация предсказания, ассоциированная с соседним блоком, может использоваться для формирования сигнала предсказания целевого блока. Модуль 130 решения соединен через линию L130 с определителем 134 ширины области и кодером 136 ширины области, и результат сравнения (решения) модуля 130 решения выводится через линию L130 на определитель 134 ширины области 134 и кодер 136 ширины области. Далее результат решения для случая, когда информация предсказания, ассоциированная с соседним блоком, не будет использоваться для формирования сигнала предсказания целевого блока, упоминается как результат решения, указывающий "непригодно", в то время как результат решения для случая, когда информация предсказания, ассоциированная с соседним блоком, может использоваться для формирования сигнала предсказания целевого блока, упоминается как результат решения, указывающий "пригодно". Операции модуля 130 решения описаны подробно ниже.
Определитель 134 ширины области получает результат решения через линию L130 от модуля 130 решения. Когда результат решения указывает "пригодно", определитель 134 ширины области определяет ширину области сегмента целевого блока, где сигнал предсказания формируется с использованием информации предсказания, ассоциированной с соседним блоком. Поэтому определитель 134 ширины области получает информацию предсказания, ассоциированную с целевым блоком, и информацию предсказания, ассоциированную с соседним блоком, через линию L128a от памяти 128 информации предсказания. Кроме того, определитель 134 ширины области получает восстановленный сигнал от памяти 108 кадра и получает исходный сигнал целевого блока от модуля 104 разделения на блоки.
На фиг.2 показана диаграмма, описывающая сегмент целевого блока, где сигнал предсказания формируется с использованием информации предсказания соседнего блока. Фиг.2 показывает случай, где соседний блок B1 слева целевого блока Bt служит как соседний блок, но соседний блок в настоящем изобретении может быть соседним блоком наверху целевого блока или соседними блоками слева и сверху целевого блока. Имеются случаи, когда соседние блоки справа и внизу целевого блока могут использоваться в качестве соседнего блока.
Как показано на фиг.2, целевой блок Bt и соседний блок B1 являются блоками из 8×8 пикселов. На фиг.2 верхнее левое положение пиксела (горизонтальное положение, вертикальное положение) представлено как (0, 0), в то время как нижнее правое положение пиксела (горизонтальное положение, вертикальное положение) представлено как (7, 7). Сегмент R2, показанный на фиг.2, является областью, где информация предсказания соседнего блока B1 используется для формирования сигнала предсказания, и ширина его области равна w в горизонтальном направлении. Таким образом, сегмент R2 окружен четырьмя положениями пикселов (0, 0), (w-1, 0), (0,7) и (w-1, 7). Сегмент R1 - это область, где информация предсказания, ассоциированная с целевым блоком, используется для формирования сигнала предсказания.
В настоящем варианте осуществления ширина области может быть установлена от 0 до 8 пикселов с приращением в один пиксел. Определитель 134 ширины области настоящего варианта осуществления формирует сигнал предсказания целевого блока относительно каждой из 9 устанавливаемых ширин области и выбирает ширину области, имеющую самую низкую абсолютную сумму ошибки предсказания или самую низкую сумму ее квадратов. Процесс выполняется путем получения исходного сигнала целевого блока и информации предсказания, ассоциированной с целевым блоком, и информации предсказания, ассоциированной с соседним блоком, от модуля 104 разделения на блоки и памяти 128 информации предсказания соответственно, и путем формирования сигнала предсказания целевого блока на основе этих частей информации предсказания и ширины области, из восстановленного сигнала, который сохранен в памяти 108 кадров. Метод для определения ширины области и кандидатов для устанавливаемой ширины области не ограничен конкретным образом. Например, устанавливаемые ширины области могут быть ширинами в пикселах, которые определены кратными значениями двух и могут принимать любое одно или более значений ширины. Дополнительно, подготавливается множество устанавливаемых ширин области, и информация выбора может кодироваться для каждой единицы последовательности, каждой единицы кадра или каждой единицы блока.
Определитель 134 ширины области соединен через линию L134a и линию L134b с кодером 136 ширины области и генератором 106 сигнала предсказания соответственно. Определитель 134 ширины области выводит определенную ширину области (информацию, идентифицирующую ширину области) через линию L134a и линию L134b на кодер 136 ширины области и генератор 106 сигнала предсказания.
Когда результат решения, полученный от модуля 130 решения, указывает "пригодно", кодер 136 ширины области энтропийно кодирует ширину области, полученную через линию L134a, для формирования кодированных данных. Кодер 136 ширины области может использовать метод энтропийного кодирования, такой как арифметическое кодирование или кодирование переменной длины, но данное изобретение не ограничено такими методами кодирования.
Кодер 136 ширины области соединен через линию L136 с выходным терминалом (выводом) 124, и кодированные данные, формируемые кодером 136 ширины области, выводятся через линию L136 на выходной терминал 124.
Генератор 106 сигнала предсказания получает две части информации предсказания, ассоциированной с целевым блоком и соседним блоком, через линию L128b от памяти 128 информации предсказания. Дополнительно, генератор 106 сигнала предсказания получает ширину области через линию L134b от определителя 134 ширины области и получает восстановленный сигнал через линию L108 от памяти 108 кадров. Генератор 106 сигнала предсказания использует две части информации предсказания и полученную ширину области для формирования сигнала предсказания целевого блока из восстановленного сигнала. Примеры метода для формирования сигнала предсказания описаны ниже. Генератор 106 сигнала предсказания соединен через линию L106 с вычитателем 110. Сигнал предсказания, формируемый генератором 106 сигнала предсказания, выводится через линию L106 на вычитатель 110.
Вычитатель 110 соединен через линию L104b с модулем 104 разделения на блоки. Вычитатель 110 вычитает сигнал предсказания целевого блока, формируемый генератором 106 сигнала предсказания, из исходного сигнала целевого блока, который получен через линию L104b от модуля 104 разделения на блоки. Остаточный сигнал формируется посредством такого вычитания. Вычитатель 110 соединен через линию L110 с преобразователем 112, и остаточный сигнал выдается через линию L110 на преобразователь 112.
Преобразователь 112 применяет дискретное косинусное преобразование к входному остаточному сигналу для формирования преобразованных коэффициентов. Квантователь 114 получает преобразованные коэффициенты через линию L112 от преобразователя 112. Квантователь 114 квантует преобразованные коэффициенты для формирования квантованных преобразованных коэффициентов. Кодер 122 квантованных преобразованных коэффициентов получает квантованные преобразованные коэффициенты через линию L114 от квантователя 114 и энтропийно кодирует квантованные преобразованные коэффициенты для формирования кодированных данных. Кодер 122 квантованных преобразованных коэффициентов выводит сформированные кодированные данные через линию L122 на выходной терминал 124. В качестве метода энтропийного кодирования для кодера 122 квантованных преобразованных коэффициентов могут использоваться арифметическое кодирование или кодирование переменной длины, но настоящее изобретение не ограничено такими методами кодирования.
Выходной терминал 124 совместно выводит кодированные данные, полученные от кодера 132 информации предсказания, кодера 136 ширины области и кодера 122 квантованных преобразованных коэффициентов.
Обратный квантователь 116 получает квантованные преобразованные коэффициенты через линию L114b от квантователя 114. Обратный квантователь 116 обратно пропорционально квантует полученные квантованные преобразованные коэффициенты, чтобы восстановить преобразованные коэффициенты. Обратный преобразователь 118 получает преобразованные коэффициенты через линию L116 от обратного квантователя 116 и применяет обратное дискретное косинусное преобразование к преобразованным коэффициентам, чтобы восстановить остаточный сигнал (декодированный остаточный сигнал). Сумматор 120 получает декодированный остаточный сигнал через линию L118 от обратного преобразователя 118 и получает сигнал предсказания через линию L106b от генератора 106 сигнала предсказания. Сумматор 120 суммирует полученный декодированный остаточный сигнал с сигналом предсказания для воспроизведения сигнала целевого блока (восстановленного сигнала). Восстановленный сигнал, формируемый сумматором 120, выводится через линию L120 на память 108 кадров и сохраняется в памяти 108 кадров, как восстановленный сигнал.
Настоящий вариант осуществления использует преобразователь 112 и обратный преобразователь 118, но другие процессы преобразования могут использоваться в качестве альтернатив для этих преобразователей. Кроме того, преобразователь 112 и обратный преобразователь 118 не являются обязательными. Таким образом, чтобы использоваться для формирования сигнала предсказания последующего целевого блока, восстановленный сигнал кодированного целевого блока восстанавливается в обратном процессе и сохраняется в памяти 108 кадров.
Кроме того, структура кодера не ограничена показанной на фиг.1. Например, модуль 130 решения и память 128 информации предсказания могут быть включены в генератор 106 сигнала предсказания. Кроме того, определитель 134 ширины области может быть включен в оценщик 126 информации предсказания.
Со ссылкой на операции устройства 100 кодирования с предсказанием изображений, ниже описан способ кодирования с предсказанием изображений одного варианта осуществления. Кроме того, описаны детальные операции модуля 130 решения, определителя 134 ширины области и генератора 106 сигнала предсказания.
На фиг.3 представлена блок-схема, показывающая процедуры способа кодирования с предсказанием изображения согласно одному варианту осуществления. Как показано на фиг.3, в настоящем способе кодирования с предсказанием изображения сначала на этапе S100 модуль 104 разделения на блоки делит целевое изображение кодирования на множество блоков. Затем на этапе SI02 один блок выбирается из множества блоков как целевой блок кодирования.
Затем на этапе S104 оценщик 126 информации предсказания определяет информацию предсказания целевого блока. Информация предсказания кодируется на следующем этапе S106 кодером 132 информации предсказания.
Затем настоящий способ кодирования с предсказанием изображения продолжается на этапе S108. Фиг.4 является подробной блок-схемой этапа S108 на фиг.3. В процессе этапа S108, сначала на этапе S200, две части информации предсказания, ассоциированной с целевым блоком и соседним блоком, вводятся в модуль 130 решения. Затем на этапе S202 модуль 132 решения принимает решение, может ли информация предсказания соседнего блока использоваться для формирования сигнала предсказания целевого блока.
Фиг.5 является подробной блок-схемой этапа S202 на фиг.4. Как показано на фиг.5, в процессе этапа S202, сначала на этапе S300, модуль 130 решения принимает решение, совпадают ли две части информации предсказания, ассоциированной с целевым блоком и соседним блоком. Когда решение на этапе S300 соответствует «верно» (Да), то есть когда две части информации предсказания, ассоциированной с целевым блоком и соседним блоком, совпадают, то модуль 130 решения выводит результат решения, указывающий «непригодно», на этапе S302.
С другой стороны, если решение на этапе S300 соответствует «ложно» (Нет), то процесс переходит к этапу S304. На этапе S304 модуль 130 решения принимает решение, находится ли информация предсказания, ассоциированная с соседним блоком, в пригодном состоянии, чтобы сформировать сигнал предсказания целевого блока. Когда решение на этапе S304 соответствует «верно» (Да), то модуль 130 решения выводит результат решения, указывающий «непригодно», на следующем этапе S306. С другой стороны, если решение на этапе S304 соответствует «ложно» (Нет), то модуль 130 решения выполняет процесс этапа S302, описанного выше.
Если на этапе S304 принято решение, что информация предсказания, ассоциированная с соседним блоком, находится в непригодном состоянии, то имеются два случая, когда (1) соседний блок находится вне картины; (2) комбинация информации предсказания целевого блока и информации предсказания соседнего блока не подтверждена; и т.п.
Таким образом, модуль 130 решения принимает решение, в соответствии с предопределенным правилом, следует ли использовать информацию предсказания, ассоциированную с соседним блоком, для формирования сигнала предсказания сегмента целевой области. Правило не требуется передавать, если кодер и декодер совместно используют информацию заранее, но она может кодироваться и передаваться. Например, имеется метод, в котором множество таких правил подготавливается, и передается то, которое должно применяться для каждой единицы кадра, каждой единицы последовательности или каждой единицы блока.
Возвращаясь вновь к фиг.4, настоящий способ кодирования с предсказанием изображений переходит к этапу S204. На этапе S204 определитель 134 ширины области обращается к результату решения модуля 130 решения и принимает решение, указывает ли результат решения "пригодно" или нет. Когда результат решения модуля 130 решения указывает "непригодно", процесс этапа S108 заканчивается.
С другой стороны, когда результат решения модуля 130 решения указывает "пригодно", определитель 134 ширины области выбирает, на следующем этапе S206, ширину области сегмента целевой области, предсказываемой с использованием информации предсказания, ассоциированной с соседним блоком, из числа кандидатов, подготовленных заранее. Затем на этапе S208 кодер 136 ширины области кодирует определенную ширину области.
Возвращаясь вновь к фиг.3, процесс переходит от этапа S108 к этапу S110. На этапе S110 генератор 106 сигнала предсказания использует две части информации предсказания, ассоциированной с целевым блоком и соседним блоком, и ширину области, определенную определителем 134 ширины области, для формирования сигнала предсказания целевого блока из восстановленного сигнала, сохраненного в памяти 108 кадров.
Один пример подробных операций генератора 106 сигнала предсказания на этапе S110 описан ниже. Фиг.6 - подробная блок-схема этапа S110 на фиг.3. Фиг.6 показывает операции генератора 106 сигнала предсказания, когда, как показано на фиг.2, сигнал предсказания сегмента R2 сформирован в целевом блоке 8×8 пикселов с использованием информации предсказания, ассоциированной с соседним блоком слева.
Как показано на фиг.6, сначала на этапе S400 генератор 106 сигнала предсказания получает информацию предсказания Pt, ассоциированную с целевым блоком, и информацию предсказания Pn, ассоциированную с соседним блоком. Затем на этапе S402 генератор 106 сигнала предсказания получает ширину w области от определителя 134 ширины области.
Затем на этапе S404 генератор 106 сигнала предсказания использует информацию предсказания Pt и ширину w области для формирования сигнала предсказания сегмента R1 в целевом блоке, показанном на фиг.2, из восстановленного сигнала. Затем на этапе S406 генератор 106 сигнала предсказания использует информацию предсказания Pn и ширину w области для формирования сигнала предсказания сегмента R2 в целевом блоке из восстановленного сигнала. В примере, показанном на фиг.2, когда ширина w области равна 0, этап S406 может быть опущен. Кроме того, когда ширина области равна 8, этап S404 может быть опущен.
Возвращаясь вновь к фиг.3, способ кодирования с предсказанием изображения переходит к этапу S112. На этапе S112 вычитатель 110 использует исходный сигнал и сигнал предсказания целевого блока для формирования остаточного сигнала. На следующем этапе S114 преобразователь 112, квантователь 114 и кодер 122 квантованных преобразованных коэффициентов преобразуют и кодируют остаточный сигнал для формирования кодированных данных.
Затем на этапе S116 обратный квантователь 116 и обратный преобразователь 118 восстанавливают декодированный остаточный сигнал из квантованных преобразованных коэффициентов. На следующем этапе S118 сумматор 120 суммирует декодированный остаточный сигнал с сигналом предсказания для формирования восстановленного сигнала. Затем на этапе S120 восстановленный сигнал сохраняется в памяти 108 кадров как восстановленный сигнал.
Затем на этапе S122 проверяется, обработаны ли все блоки как целевой блок, и если процесс на всех блоках не закончен, один из необработанных блоков выбирается как целевой блок, и выполняется процесс от этапа S102. С другой стороны, когда процесс на всех блоках закончен, процесс настоящего способа кодирования с предсказанием изображения заканчивается.
Ниже описано устройство декодирования с предсказанием изображения согласно одному варианту осуществления. На фиг.7 представлена диаграмма, показывающая устройство декодирования с предсказанием изображения согласно одному варианту осуществления. Устройство 200 декодирования с предсказанием изображения, показанное на фиг.7, содержит входной терминал 202, анализатор 204 данных, обратный квантователь 206, обратный преобразователь 208, сумматор 210, выходной терминал 212, декодер 214 квантованных преобразованных коэффициентов, декодер 216 информации предсказания, декодер 218 ширины области, память 108 кадров, генератор 106 сигнала предсказания, память 128 информации предсказания и модуль 130 решения. Обратный квантователь 206, обратный преобразователь 208 и декодер 214 квантованных преобразованных коэффициентов функционируют как средство восстановления остаточного сигнала. Для средства декодирования, включая обратный квантователь 206 и обратный преобразователь 208, могут использоваться альтернативы. Кроме того, обратный преобразователь 208 может быть исключен.
Каждый компонент устройства 200 декодирования с предсказанием изображения описан подробно ниже. Входной терминал 202 вводит сжатые данные, которые были закодированы со сжатием посредством устройства 100 кодирования с предсказанием изображения (или способа кодирования с предсказанием изображения), описанного выше. Сжатые данные включают в себя, относительно каждого из множества блоков в изображении, кодированные данные квантованных преобразованных коэффициентов, сформированных преобразованием-квантованием и энтропийным кодированием остаточного сигнала; кодированные данные информации предсказания для формирования сигнала предсказания; и кодированные данные ширины области сегмента в блоке, где сигнал предсказания формируется с использованием информации предсказания, ассоциированной с соседним блоком, расположенным по соседству с целевым блоком. В настоящем варианте осуществления информация предсказания включает в себя вектор движения и номер опорной картины и т.п. Входной терминал 202 связан через линию L202 с анализатором 204 данных.
Анализатор 204 данных получает сжатые данные через линию L202 от входного терминала 202. Анализатор 204 данных анализирует полученные сжатые данные и разделяет сжатые данные, относительно целевого блока декодирования, на кодированные данные квантованных преобразованных коэффициентов; кодированные данные информации предсказания и кодированные данные ширины области. Анализатор 204 данных выводит кодированные данные ширины области через линию L204a на декодер 218 ширины области; выводит кодированные данные информации предсказания через линию L204b на декодер 216 информации предсказания и выводит кодированные данные квантованных преобразованных коэффициентов через линию L204c на декодер 214 квантованных преобразованных коэффициентов.
Декодер 216 информации предсказания энтропийно декодирует кодированные данные информации предсказания, ассоциированной с целевым блоком, чтобы получить информацию предсказания. Декодер 216 информации предсказания связан через линию L216 с памятью 128 информации предсказания. Информация предсказания, формируемая декодером 216 информации предсказания, сохраняется через линию L216 в памяти 128 информации предсказания. Память 128 информации предсказания связана через линию L128a и линию L128b с модулем 130 решения и генератором 106 сигнала предсказания соответственно.
Модуль 130 решения имеет ту же самую функцию, что и модуль 130 решения устройства кодирования, показанного на фиг.1. Таким образом, модуль 130 решения сравнивает информацию предсказания, ассоциированную с целевым блоком, с информацией предсказания, ассоциированной с соседним блоком, расположенным по соседству с целевым блоком, и принимает решение, может ли информация предсказания, ассоциированная с соседним блоком, использоваться для формирования сигнала предсказания целевого блока.
Более конкретно, модуль 130 решения сравнивает две части информации предсказания, ассоциированной с целевым блоком и соседним блоком, расположенными по соседству друг с другом, и когда две части информации предсказания совпадают, принимает решение, что информация предсказания, ассоциированная с соседним блоком, не будет использоваться для формирования сигнала предсказания целевого блока. Таким образом, в таком случае, модуль 130 решения выводит результат решения, указывающий "непригодно". С другой стороны, когда две части информации предсказания различаются, модуль 130 решения выводит результат решения, указывающий "пригодно". Модуль 130 решения соединен через линию LI30 с декодером 218 ширины области. Результат решения выводится модулем 130 решения через линию L130 на декодер 218 ширины области. Так как подробная последовательность операций процесса модуля 130 решения уже описана на фиг.5, подробное описание здесь опущено.
Декодер 218 ширины области энтропийно декодирует на основе результата решения, полученного через L130 от модуля 130 решения, входные кодированные данные ширины области, чтобы восстановить ширину области. Таким образом, когда результат решения указывает "пригодно", декодер 218 ширины области декодирует кодированные данные ширины области, чтобы восстановить ширину области. С другой стороны, когда результатом решения является "непригодно", восстановление ширины области не может быть выполнено. Декодер 218 ширины области связан через линию L218 с генератором 106 сигнала предсказания, и ширина области, сформированная декодером 218 ширины области, выводится через линию L218 на генератор 106 сигнала предсказания.
Генератор 106 сигнала предсказания имеет ту же самую функцию, что и генератор сигнала предсказания устройства кодирования, показанного на фиг.1. Таким образом, генератор 106 сигнала предсказания использует информацию предсказания, ассоциированную с целевым блоком, и информацию предсказания, ассоциированную с соседним блоком (в случае необходимости), а также ширину области, полученную через L218, для формирования сигнала предсказания целевого блока декодирования из восстановленного сигнала, сохраненного в памяти 108 кадров. Так как детальные операции генератора 106 сигнала предсказания описаны на фиг.6, подробное описание здесь опущено. Генератор 106 сигнала предсказания связан через линию L106 с сумматором 210. Генератор 106 сигнала предсказания выводит сформированный сигнал предсказания через линию L106 с сумматором 210.
Декодер 214 квантованных преобразованных коэффициентов получает кодированные данные квантованных коэффициентов преобразователя через линию L204c от анализатора 204 данных. Декодер 214 квантованных преобразованных коэффициентов энтропийно декодирует полученные кодированные данные, чтобы восстановить квантованные преобразованные коэффициенты остаточного сигнала целевого блока. Декодер 214 квантованных преобразованных коэффициентов выводит восстановленные квантованные коэффициенты преобразователя через линию L214 на обратный квантователь 206.
Обратный квантователь 206 обратно квантует квантованные преобразованные коэффициенты, полученные через линию L214, чтобы восстановить преобразованные коэффициенты. Обратный преобразователь 208 получает восстановленные преобразованные коэффициенты через линию L206 от обратного квантователя 206 и применяет обратное дискретное косинусное преобразование к преобразованным коэффициентам, чтобы восстановить остаточный сигнал (декодированный остаточный сигнал) целевого блока.
Сумматор 210 получает декодированный остаточный сигнал через линию L208 от обратного преобразователя 208 и получает сигнал предсказания, сформированный генератором 106 сигнала предсказания, через линию LI06. Сумматор 210 формирует восстановленный сигнал целевого блока путем суммирования полученного декодированного остаточного сигнала с сигналом предсказания. Восстановленный сигнал выводится через линию L210 в память 108 кадров и сохраняется в памяти 108 кадров. Кроме того, восстановленный сигнал также выводится на выходной терминал 212. Выходной вывод 212 выводит восстановленный сигнал вовне (например, на устройство отображения).
Со ссылкой на операции устройства 200 декодирования с предсказанием изображений, способ декодирования с предсказанием изображений согласно одному варианту осуществления описан ниже. На фиг.8 представлена блок-схема способа декодирования с предсказанием изображений согласно одному варианту осуществления. Как показано на фиг.8, в настоящем способе декодирования с предсказанием изображений, сначала на этапе S500 сжатые данные вводятся через входной терминал 202. Затем на этапе S502 выбирается целевой блок, который является целью процесса.
Затем на этапе S504 анализатор 204 данных анализирует сжатые данные и извлекает кодированные данные информации предсказания, связанной с целевым блоком, который является целью декодирования, ширины области и квантованные преобразованные коэффициенты. Информация предсказания декодируется декодером 216 информации предсказания на этапе S506.
Затем процесс переходит к этапу S508. На фиг.9 представлена подробная блок-схема этапа S508 по фиг.8. Как показано на фиг.9, в процессе этапа S508, сначала на этапе S600, две части информации предсказания, ассоциированной с целевым блоком и соседним блоком, вводятся в модуль 130 решения.
Затем на этапе S202 модуль 130 решения оценивает пригодность использования информации предсказания, ассоциированной с соседним блоком, и выводит результат решения. Операции модуля 130 решения на этапе S202 являются теми же самыми, что и операции, описанные на фиг.5, так что детальное их описание здесь опущено.
Затем на этапе S602 определяется, указывает ли результат решения модуля 130 решения "пригодно", или нет. Когда результатом решения на этапе S602 является «истинно» (Да), то есть, когда информация предсказания соседнего блока пригодна к использованию, декодер 218 ширины области декодирует кодированные данные ширины области, чтобы восстановить ширину области сегмента (R2) целевого блока на этапе S604. С другой стороны, когда решением на этапе S602 является «ложно» (Нет), декодер ширины области 218 устанавливает ширину области сегмента (R2) целевого блока на 0 на этапе S606.
Вновь со ссылкой на фиг.8, после того как этап S508 заканчивается, процесс переходит к этапу S510. На этапе S510 генератор 106 сигнала предсказания формирует сигнал предсказания целевого блока декодирования из восстановленного сигнала с использованием двух частей информации предсказания, ассоциированной с целевым блоком и соседним блоком (информация предсказания, ассоциированная с соседним блоком, используется только, когда это необходимо), и ширину области. Здесь этап S510 является тем же самым, что и этап S110, описанный на фиг.6.
На следующем этапе S512 декодер 214 квантованных преобразованных коэффициентов восстанавливает квантованные преобразованные коэффициенты из кодированных данных; обратный квантователь 206 восстанавливает преобразованные коэффициенты из квантованных преобразованных коэффициентов; и обратный преобразователь 208 формирует декодированный остаточный сигнал из преобразованных коэффициентов.
Затем на этапе S514 сумматор 210 формирует восстановленный сигнал целевого блока путем суммирования сигнала предсказания целевого блока с декодированным остаточным сигналом. На этапе S516 восстановленный сигнал сохраняется в памяти 108 кадров как восстановленный сигнал для воспроизведения следующего целевого блока.
Затем на этапе S518, если определено, что процесс на всех блоках является неполным, то есть, когда существуют следующие сжатые данные, необработанный блок выбирается как целевой блок на этапе S502, и этапы после него повторяются. С другой стороны, когда процесс на всех блоках завершен на этапе S518, процесс заканчивается.
Устройство и способ кодирования с предсказанием изображений, а также устройство и способ декодирования с предсказанием изображений, согласно одному варианту осуществления, были описаны выше, но настоящее изобретение не ограничено упомянутым выше вариантом осуществления. Например, соседний блок в вышеупомянутом варианте осуществления является соседним блоком слева от целевого блока, но это может быть соседний блок сверху от целевого блока.
На фиг.10 представлена диаграмма, описывающая другой пример соседнего блока. В примере, показанном на фиг.10, целевой блок Bt и соседний блок B2 являются блоками из 8×8 пикселов, и аналогично верхнее левое положение пиксела (горизонтальное положение, вертикальное положение) установлено в (0, 0), в то время как нижнее правое положение пиксела установлено в (7, 7). Сегмент R2 – это область, окруженная положениями пикселов (0, 0), (7, 0), (0, w-1) и (7, w-1), и область, где информация предсказания соседнего блока B2, вероятно, будет использоваться для формирования сигнала предсказания. Ширина области сегмента R2 равна w.
Когда информация предсказания, ассоциированная с соседним блоком B2, показанным на фиг.10, используется для формирования сигнала предсказания сегмента R2, диапазон x на этапе S404 по фиг.6 равен от 0 до 7, в то время как диапазон y равен от w до 7. Кроме того, диапазон x на этапе S406 по фиг.6 равен от 0 до 7, в то время как диапазон y равен от 0 до w-1.
Кроме того, соседний блок может быть двумя соседними блоками, один из которых находится слева, а другой находится наверху целевого блока, и возможно выбрать любой из двух соседних блоков относительно каждого целевого блока. В таком случае генератор 106 сигнала предсказания имеет функцию выполнения процесса предсказания, описанного со ссылкой на фиг.4 и фиг.10, и определитель 134 ширины области включает в себя функцию выбора соседнего блока, имеющего информацию предсказания, которая используется для предсказания сегмента целевого блока, то есть либо соседнего блока слева, либо сверху от целевого блока. Кроме того, кодер 136 ширины области включает в себя функцию кодирования информации идентификации, которая идентифицирует соседний блок, имеющий информацию предсказания, которая будет использоваться для формирования сигнала предсказания целевой области, из двух частей информации предсказания, связанной с двумя соседними блоками, в то время как декодер 218 ширины области включает в себя функцию декодирования информации идентификации.
Подробное описание дано ниже для этапа S108, когда используются два соседних блока слева и сверху. На фиг.11 представлена блок-схема, показывающая детализированные процедуры другого примера этапа S108 на фиг.3. Как показано на фиг.11, в процессе этапа SI08 настоящего примера, две части информации предсказания, ассоциированной с соседними блоками сверху и слева от целевого блока, вводятся в модуль 130 решения на этапе S700.
Затем, модуль решения 130 определяет, в соответствии с процедурами, показанными на этапе S202 на фиг.5, может ли информация предсказания, ассоциированная с соседним блоком слева от целевого блока, использоваться для формирования сигнала предсказания сегмента целевого блока, и выводит результат решения. Затем на этапе S704, когда определено, что результат решения модуля 130 решения указывает "непригодно" (в случае «Нет»), то есть, когда результат решения показывает, что информация предсказания, ассоциированная с соседним блоком слева, не будет использоваться для формирования сигнала предсказания сегмента целевого блока; процедура переходит к следующему этапу S202. Модуль 130 решения определяет, в соответствии с процедурами, показанными на этапе S202 по фиг.5, может ли информация предсказания, ассоциированная с соседним блоком на вершине целевого блока, использоваться для формирования сигнала предсказания сегмента целевого блока, и выводит результат решения.
Затем, на этапе S706, когда определено, что результат решения модуля 130 решения указывает "непригодно" (в случае «Нет»), то есть, когда результат решения показывает, что информация предсказания, ассоциированная с соседним блоком сверху, не будет использоваться для формирования сигнала предсказания сегмента целевого блока, процесс этапа S108 заканчивается.
С другой стороны, на этапе S706, когда определено, что результат решения модуля 130 решения указывает "пригодно" (в случае «Да»), определитель 134 ширины области определяет на этапе S708 ширину w области сегмента R2 (см. фиг.10) целевого блока, где сигнал предсказания сформирован с использованием информации предсказания соседнего блока сверху. Затем, на следующем этапе S208, ширина w области кодируется кодером 136 ширины области.
С другой стороны, возвращаясь к этапу S704, если принято решение, что результат решения модуля 130 решения указывает «пригодно» (в случае «Да»), модуль 130 решения принимает решение на следующем этапе S202, в соответствии с процедурами, показанными на этапе S202 на фиг.5, может ли информация предсказания, ассоциированная с соседним блоком наверху целевого блока, использоваться для формирования сигнала предсказания сегмента целевого блока, и выводит результат решения.
Затем на этапе S710, когда принято решение, что результат решения модуля 130 решения указывает "непригодно" (в случае «Нет»), определитель 134 ширины области определяет, на следующем этапе S712, ширину w области сегмента R2 (см. фиг.2) целевого блока, где сигнал предсказания формируется с использованием информации предсказания соседнего блока слева. Затем, ширина w области кодируется кодером 136 ширины области на следующем этапе S208.
С другой стороны, на этапе S710, когда принято решение, что результат решения модуля 130 решения указывает "пригодно" (в случае «Да»), соседний блок, имеющий информацию предсказания, которая будет использоваться для формирования сигнала предсказания, выбирается на следующем этапе S714, из соседнего блока слева и соседнего блока сверху.
Более конкретно, на этапе S714, определитель 134 ширины области выбирает, какая из информации предсказания соседнего блока сверху и информации предсказания соседнего блока слева должна использоваться для формирования сигнала предсказания сегмента целевого блока. Метод для выбора не ограничен, но, например, определитель 134 ширины области устанавливает ширины соседнего блока и сегмента R2, как показано на фиг.2 и фиг.10; формирует сигнал предсказания целевого блока с использованием информации предсказания соседнего блока и информации предсказания целевого блока; и выбирает группу из соседнего блока и ширины области, которая делает ошибки предсказания целевого блока наименьшими. Затем на следующем этапе S716, кодер 136 ширины области кодирует информацию идентификации, идентифицирующую соседний блок, имеющий выбранную информацию предсказания. Затем, на этапе S718, когда принято решение, что выбран соседний блок слева, процесс переходит к этапу S712. С другой стороны, на этапе S718, когда принято решение, что соседний блок слева не выбран, то есть, когда принято решение, что выбран соседний блок наверху, процесс переходит к этапу S708.
На фиг.12 представлена блок-схема, показывающая детальные процедуры другого примера на этапе S508 по фиг.8, которая показывает процедуры, используемые в декодировании, соответствующие кодированию, где используется процесс по фиг.11. Как показано на фиг.12, в этом примере, сначала на этапе S800, информация предсказания, ассоциированная с соседним блоком слева от целевого блока, и информация предсказания, ассоциированная с соседним блоком сверху, вводятся в модуль 130 решения.
На следующих двух этапах модуль 130 решения принимает решение, в соответствии с процедурами, показанными на этапе S202 по фиг.5, о пригодности информации предсказания, ассоциированной с соседним блоком слева, и пригодности информации предсказания, ассоциированной с соседним блоком сверху, и выводит результат решения.
Затем, на этапе S802, декодер 218 ширины области принимает решение на основе результата решения модуля 130 решения, пригодна ли информация предсказания, ассоциированная с любым одним из двух соседних блоков, к использованию, или нет. Когда информация предсказания, ассоциированная с любым из соседних блоков, непригодна, декодер 218 ширины области устанавливает, на этапе S804, ширину области сегмента R2 в целевом блоке декодирования на 0 и заканчивает процесс.
С другой стороны, на этапе S802, когда принято решение, что информация предсказания, ассоциированная с любым одним из двух соседних блоков, пригодна к использованию, декодер 218 ширины области определяет, на основе результата решения модуля 130 решения, на следующем этапе S806, являются ли обе информации предсказания, ассоциированные с двумя соседними блоками, пригодными для использования, или нет. Когда обе информации предсказания двух соседних блоков пригодны, декодер 218 ширины области декодирует, на следующем этапе S808, информацию идентификации, чтобы идентифицировать один из соседних блоков из кодированных данных, и переходит к этапу S812.
С другой стороны, на этапе S806, когда определено, что информация предсказания, ассоциированная с любым из двух соседних блоков, пригодна к использованию, декодер 218 ширины области выбирает, на основе результата решения модуля 130 решения, на следующем этапе S810, одну из информации предсказания, ассоциированной с двумя соседними блоками, и переходит к этапу S812. На этапе S812 декодер ширины области 218 декодирует значение ширины области.
Сигнал предсказания может быть сформирован с использованием обеих из информации предсказания, ассоциированной с соседним блоком слева от целевого блока, и информации предсказания, ассоциированной с соседним блоком сверху. В этом случае, кодер 136 ширины области имеет функцию кодирования обеих групп из двух частей информации предсказания, ассоциированной с двумя соседними блоками и двумя ширинами области, в то время как декодер 218 ширины области имеет функцию декодирования обеих групп из двух частей информации предсказания и двух ширин области. Кроме того, в этом случае, как показано на фиг.13, сигналы предсказания четырех сегментов от R1 до R4 в целевом блоке Bt формируются индивидуально.
Соответственно, генератор 106 сигнала предсказания формирует сигнал предсказания сегмента R2 с использованием информации предсказания, ассоциированной с соседним блоком B1 слева, и формирует сигнал предсказания сегмента R3 с использованием информации предсказания, ассоциированной с соседним блоком B2 сверху. Кроме того, генератор 106 сигнала предсказания должен иметь функцию формирования сигнала предсказания сегмента R4. Метод для предсказания сегмента R4, который может быть задан, как правило, заранее, не ограничен в настоящем изобретении. Примеры метода включают в себя метод усреднения сигнала предсказания сегмента R4, который формируется на основе информации предсказания, ассоциированной с соседним блоком слева, и сигнала предсказания сегмента R4, который формируется на основе информации предсказания, ассоциированной с соседним блоком сверху, по отношению к пиксельной единице; и метод для формирования сигнала предсказания сегмента R4 на основе информации предсказания, ассоциированной с соседним блоком наверху слева. Кроме того, может быть принят метод, в котором выбор уже автоматически сделан, с использованием окружающих, уже декодированных данных, включая информацию предсказания, ассоциированную с соседними блоками слева и сверху, из информации предсказания, которая принадлежит соседним блокам наверху и слева; или метод передачи информации о выборе.
Кроме того, следующие модификации могут быть выполнены в настоящем изобретении.
Форма блока
В описании, приведенном выше, сегмент целевого блока является всегда прямоугольным, но, как показано в сегментах R1 и R2 целевого блока Bt на фиг.14(а) или как показано в сегментах R1 и R2 целевого блока Bt на фиг.14(b), сегменты любой формы могут быть использованы. В таком случае информация о форме передается в дополнение к ширине области.
Размер блока
В описании, приведенном выше, размер блока является фиксированным размером, но, как показано в (a)-(c) на фиг.15, целевой блок Bt и соседний блок B1 могут отличаться по размеру. В таком случае, как показано в (a)-(c) на фиг.15, различные формы могут использоваться в качестве формы сегментов R1-R3 в целевом блоке Bt. Сегменты, которые должны составляться, могут быть определены согласно обстоятельствам или информации, указывающей, что соседний блок может быть выбран из множества кандидатов и может явно кодироваться. Кроме того, предопределенное правило может быть задано заранее (например, единица для выбора ширины области совпадает с меньшим размером блока).
Кодер и декодер ширины области
В кодере ширины области может кодироваться не само значение ширины области, а информация, идентифицирующая ширину области. Кроме того, в декодере ширины области из кодированных данных может декодироваться не само значение ширины области, а информация, идентифицирующая ширину области, и значение ширины области может быть восстановлено на основе информации, идентифицирующей ширину области. Например, кодер ширины области подготавливает множество кандидатов для значений ширины области сегмента в целевом блоке и может кодировать информацию идентификации выбранного кандидата. Декодер ширины области может восстановить значение ширины области на основе декодированной информации идентификации. Кандидаты для значений ширины области могут быть определены заранее кодером и декодером или могут быть переданы для каждой единицы последовательности или для каждой единицы кадра. Кроме того, кодер ширины области может кодировать дифференциальное значение между значением ширины области сегмента в целевом блоке и шириной области соседнего блока. В таком случае декодер ширины области может восстановить значение ширины области сегмента в целевом блоке путем суммирования уже декодированного значения ширины области соседнего блока с дифференциальным значением, декодированным из кодированных данных. Альтернативно, кодер ширины области может кодировать информацию, указывающую, что ширина области сегмента в целевом блоке является той же самой, что и ширина области соседнего блока. Когда информация, указывающая, что ширина области сегмента в целевом блоке является той же самой, что и ширина области соседнего блока, декодирована, декодер ширины области может использовать ширину области соседнего блока как ширину области сегмента в целевом блоке. В этом случае, может быть передана информация, указывающая, что ширина области сегмента в целевом блоке отличается от ширины области соседнего блока, а также информация, идентифицирующая значение ширины области или ширину области. Когда информация, указывающая, что ширина области сегмента в целевом блоке отличается от ширины области соседнего блока, декодирована, декодер ширины области далее декодирует информацию, идентифицирующую значение ширины области или ширину области из кодированных данных, и может восстановить значение ширины области на основе информации, идентифицирующей ширину области. Кроме того, кодер ширины области может кодировать один или более элементов информации, чтобы идентифицировать ширину области. Таким образом, могут кодироваться один или более элементов информации, которые могут уникально идентифицировать ширину области (например, один или более битов). В таком случае декодер ширины области декодирует один или более элементов информации из кодированных данных и может восстановить ширину области, в соответствии с этими одним или более элементами информации.
Преобразователь, обратный преобразователь
Процесс преобразования остаточного сигнала может быть выполнен с фиксированным размером блока. Целевая область может быть далее разделена на размер, который соответствует сегменту, и относительно каждой области, формируемой дальнейшим разделением, может выполняться процесс преобразования.
Модуль решения
Соседний блок, информация предсказания которого, ассоциированная с соседним блоком, может использоваться, не ограничен соседним блоком сверху и соседним блоком слева от целевого блока. Например, когда информация предсказания закодирована заранее одной линией блоков, все четыре блока, расположенные по соседству с целевым блоком, должны быть соседним блоком, и части информации предсказания, ассоциированной с ними, могут использоваться для формирования сигнала предсказания целевого блока.
Кроме того, когда части информации предсказания всех блоков на картине закодированы заранее, сигнал предсказания каждого целевого блока может свободно составляться с использованием в общей сложности пяти (девяти, если включать слева сверху, слева снизу, справа сверху и справа снизу) частей информации предсказания, ассоциированной с окружающими четырьмя блоками, и целевого блока.
Кроме того, даже если сегмент обеспечен, когда целевой блок и соседний блок имеют ту же самую информацию предсказания, обработка кодирования и декодирования никогда не будет безуспешной, так что процесс формирования сигнала предсказания настоящего изобретения может быть реализован даже в структуре, где модуль решения опущен.
О решении, принимаемом модулем решения
В описании, приведенном выше, согласно предопределенному правилу для модуля 130 решения, чтобы оценить пригодность к использованию информации предсказания, ассоциированной с соседним блоком, принимается решение, что информация предсказания, ассоциированная с соседним блоком, не должна использоваться, когда информация предсказания, ассоциированная с соседним блоком, совпадает с информацией предсказания, ассоциированной с целевым блоком, или когда принято решение, что информация предсказания соседнего блока находится в непригодном состоянии. В последнем случае, когда соседний блок предсказан посредством внутрикартинного предсказания, а целевой блок предсказан посредством межкартинного предсказания, и наоборот, может быть принято решение, что информация предсказания, ассоциированная с соседним блоком, не должна использоваться. Кроме того, когда различие между вектором движения соседнего блока и вектором движения целевого блока превышает пороговое значение, может быть принято решение, что информация предсказания, ассоциированная с соседним блоком, не должна использоваться. Кроме того, когда размеры блока для соседнего блока и целевого блока отличаются друг от друга, может быть принято решение, что информация предсказания, ассоциированная с соседним блоком, не должна использоваться. В описании, приведенном выше, информация предсказания, ассоциированная с соседним блоком и целевым блоком, сравнивается, но основываясь на том, являются ли сигналы предсказания, формируемые с двумя частями информации предсказания, теми же самыми или нет, может оцениваться пригодность использования информации предсказания, ассоциированной с соседним блоком.
Информация предсказания
В описании, приведенном выше, межкартинное предсказание (вектор движения и информация опорной картины) описано как метод формирования сигнала предсказания, но настоящее изобретение не ограничено таким методом предсказания. Метод предсказания, включая внутрикартинное предсказание, компенсацию светимости, двунаправленное предсказание или обратное предсказание, может быть применен к процессу формирования сигнала предсказания настоящего изобретения. В таком случае, информация о режиме, параметр компенсации светимости и т.п. включаются в информацию предсказания.
Цветовой сигнал
В описании, приведенном выше, цветовой формат конкретно не упомянут, но относительно цветового сигнала или цветового разностного сигнала процесс формирования сигнала предсказания может быть выполнен отдельно от сигнала светимости. Кроме того, процесс формирования сигнала предсказания для цветового сигнала или цветового разностного сигнала может быть выполнен в соединении с процессом сигнала светимости. В последнем случае, когда разрешение цветового сигнала ниже, чем у сигнала светимости (например, разрешение равно половине в горизонтальном направлении и в вертикальном направлении), шириной области в сигнале светимости можно управлять (например, до четных значений) или может быть определено уравнение преобразования от ширины области сигнала светимости в ширину области цветового сигнала.
Обработка снижения зашумленности блоков
Это не упомянуто выше, но, когда выполняется обработка снижения зашумленности блоков относительно восстановленного изображения, процесс снижения зашумленности может быть выполнен относительно граничной части сегмента.
Далее описываются программа кодирования с предсказанием изображения, позволяющая компьютеру работать как устройство 100 кодирования с предсказанием изображений, и программа декодирования с предсказанием изображений, позволяющая компьютеру работать как устройство 200 декодирования с предсказанием изображения.
На фиг.16 представлена диаграмма, показывающая программу кодирования с предсказанием изображения, а также носитель с возможностью записи, согласно одному варианту осуществления. На фиг.17 представлена диаграмма, показывающая программу декодирования с предсказанием изображения, а также носитель с возможностью записи, согласно одному варианту осуществления. На фиг.18 представлена диаграмма, показывающая конфигурацию аппаратных средств компьютера для выполнения программы, записанной на носителе записи. На фиг.19 представлен вид в перспективе компьютера для выполнения программы, сохраненной на носителе записи.
Как показано на фиг.16, программа кодирования с предсказанием изображения предоставлена путем сохранения на носителе 10 записи. Как показано на фиг.17, программа декодирования с предсказанием изображения также предоставлена путем сохранения на носителе 10 записи. Примеры носителя 10 записи включают в себя носители записи, такие как дискеты, CD-ROM, DVD, ROM и полупроводниковую память.
Как показано на фиг.18, компьютер 30 содержит устройство 12 чтения, такое как дисковод для гибкого диска, устройство дисковода для компакт-дисков и устройство DVD-привода; рабочую память (RAM) 14, включающую в себя резидентную операционную систему; память 16, которая хранит программу, сохраненную на носителе 10 записи; устройство 18 отображения, такое как дисплей; мышь 20 и клавиатуру 22, которые являются устройствами ввода; коммуникационное устройство 24, которое передает и принимает данные и т.п.; и центральный процессор 26, который управляет выполнением программы. После вставки носителя 10 записи в устройство 12 чтения компьютер 30 становится доступным для программы Р100 кодирования с предсказанием изображения, сохраненной на носителе 10 записи от устройства 12 чтения, и побуждается программой P100 действовать в качестве устройства 100 кодирования с предсказанием изображения. Кроме того, после вставки носителя 10 записи в устройство 12 чтения, компьютер 30 становится доступным для программы P200 декодирования с предсказанием изображения, сохраненной на носителе 10 записи, из устройства 12 чтения и побуждается программой P200 действовать в качестве устройства 200 декодирования с предсказанием изображений.
Как показано на фиг.19, программа Р100 кодирования с предсказанием изображений и программа Р200 декодирования с предсказанием изображений могут быть обеспечены через сеть как компьютерный сигнал 40 данных, наложенный на несущую. В таком случае компьютер сохраняет в памяти 16 программу Р100 кодирования с предсказанием изображений или программу Р200 декодирования с предсказанием изображений, которая получена коммуникационным устройством 24, и может выполнить программу P100 или P200.
Как показано на фиг.16, программа Р100 кодирования с предсказанием изображений содержит модуль Р104 разделения на блоки, модуль Р104 формирования сигнала предсказания, модуль Р108 хранения, модуль Р110 вычитания, модуль Р112 преобразования, модуль Р114 квантования, модуль Р116 обратного квантования, модуль Р118 обратного преобразования, модуль P120 суммирования и модуль Р122 кодирования квантованных преобразованных коэффициентов, модуль Р126 оценки информации предсказания, модуль Р128 хранения информации предсказания, модуль Р130 решения, модуль Р132 кодирования информации предсказания, модуль Р134 определения ширины области и модуль Р136 кодирования ширины области.
Функции, реализуемые выполнением каждого модуля, описанного выше, являются теми же самыми, что и функции устройства 100 кодирования с предсказанием изображений, описанного выше. Таким образом, функции каждого модуля программы Р100 кодирования с предсказанием изображений являются теми же самыми, что и функции модуля 104 разделения на блоки, генератора 106 сигнала предсказания 106, памяти 108 кадров, вычитателя 110, преобразователя 112, квантователя 114, обратного квантователя 116, обратного преобразователя 118, сумматора 120, кодера 122 квантованных преобразованных коэффициентов, оценщика 126 информации предсказания, памяти 128 информации предсказания, модуля 130 решения, кодера 132 информации предсказания, определителя 134 ширины области и кодера 136 ширины области.
Программа Р200 декодирования с предсказанием изображений содержит модуль Р204 анализа данных, модуль Р214 декодирования квантованных преобразованных коэффициентов, модуль Р216 декодирования информации предсказания, модуль Р218 декодирования ширины области, модуль Р128 хранения информации предсказания, модуль Р130 решения, модуль Р206 обратного квантования, модуль Р208 обратного преобразования, модуль P210 суммирования, модуль Р106 сигнала предсказания и модуль Р108 хранения.
Функции, реализуемые выполнением каждого модуля, описанного выше, являются теми же самыми, что и таковые каждого компонента устройства 200 декодирования с предсказанием изображений. Таким образом, функции каждого модуля программы Р200 декодирования с предсказанием изображений являются теми же самыми, что и функции анализатора 204 данных, декодера 214 квантованных преобразованных коэффициентов, декодера 216 информации предсказания, декодера 218 ширины области, памяти 128 информации предсказания, модуля 130 решения, обратного квантователя 206, обратного преобразователя 208, сумматора 210, генератора сигнала предсказания 106 и памяти 108 кадров.
Как изложено выше, настоящее изобретение детально описано на основе вариантов осуществления. Однако настоящее изобретение не ограничено вышеописанными вариантами осуществления. Различные модификации могут быть выполнены без отклонения от объема изобретения.
Список ссылочных позиций
100 устройство кодирования с предсказанием изображения
102 входной терминал
104 модуль разделения на блоки
106 генератор сигнала предсказания
108 память кадров
110 вычитатель
112 преобразователь
114 квантователь
116 обратный квантователь
118 обратный преобразователь
120 сумматор
122 кодер квантованных преобразованных коэффициентов
124 выходной терминал
126 оценщик информации предсказания
128 память информации предсказания
130 модуль решения
132 кодер информации предсказания
134 определитель ширины области
136 кодер ширины области
200 устройство декодирования с предсказанием изображения
202 входной терминал
204 анализатор данных
206  обратный квантователь
208 обратный преобразователь
210 сумматор
212 выходной терминал
214 декодер квантованных преобразованных коэффициентов
216 декодер информации предсказания
218 декодер ширины области