Способ и устройство для кодирования и декодирования блока кодирования границы картинки
Иллюстрации
Показать всеИзобретение относится к кодированию и декодированию изображения, более конкретно к устройству для декодирования блока кодирования изображения границы картинки. Техническим результатом является повышение эффективности кодирования изображения. Устройство содержит процессор, который определяет первые блоки кодирования иерархической структуры на основе информации о том, следует ли разделять блок кодирования, полученный, посредством анализа, из принятого битового потока кодированного видео; и декодер, который определяет, содержат ли упомянутые определенные первые блоки кодирования иерархической структуры область, которая отклоняется от границы текущего изображения, при этом если определено, что упомянутые определенные первые блоки кодирования иерархической структуры не содержат область, которая отклоняется от границы текущего изображения, то декодер получает, посредством анализа, и декодирует данные, касающиеся упомянутых определенных первых блоков кодирования иерархической структуры; а если определено, что упомянутые определенные первые блоки кодирования иерархической структуры содержат область, которая отклоняется от границы текущего изображения, то декодер определяет, по меньшей мере, один второй блок кодирования, который содержит область, которая отклоняется от границы текущего изображения. 5 з.п. ф-лы, 37 ил.
Реферат
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Устройства и способы, соответствующие примерным вариантам осуществления, относятся к кодированию и декодированию изображения, более конкретно к способу и устройству для кодирования и декодирования блока кодирования изображения границы картинки.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
В способах сжатия изображения, таких как Moving Pictures Experts Group (Экспертная группа по движущемуся изображению) (MPEG-1, MPEG-2 и MPEG-4, H.264/MPEG-4 Advanced Video Coding (AVC) (Усовершенствованное Видео Кодирование)), изображение делят на блоки, имеющие предварительно определенный размер, чтобы кодировать изображение. Затем каждый из блоков кодируют с предсказанием, используя внешнее (inter) предсказание или внутреннее (intra) предсказание.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
РЕШЕНИЕ ПРОБЛЕМЫ
Примерные варианты осуществления обеспечивают способ и устройство для кодирования и декодирования блока кодирования границы картинки.
Примерные варианты осуществления также обеспечивают считываемый компьютером носитель записи, имеющий записанную на нем программу для выполнения способа кодирования и декодирования блока кодирования границы картинки.
ПОЛЕЗНЫЕ ЭФФЕКТЫ ИЗОБРЕТЕНИЯ
В соответствии с настоящим изобретением, блок границы может быть эффективно кодирован без возникновения служебных затрат.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Приведенные выше и другие аспекты станут более очевидными, посредством подробного описания их примерных вариантов осуществления со ссылкой на прилагаемые чертежи, на которых:
Фиг.1 является блок-схемой устройства для кодирования изображения, в соответствии с примерным вариантом осуществления;
Фиг.2 является блок-схемой устройства для декодирования изображения, в соответствии с примерным вариантом осуществления;
Фиг.3 иллюстрирует иерархические блоки кодирования, в соответствии с примерным вариантом осуществления;
Фиг.4 является блок-схемой кодера изображения на основе блока кодирования, согласно примерному варианту осуществления;
Фиг.5 является блок-схемой декодера изображения на основе блока кодирования, согласно примерному варианту осуществления;
Фиг.6 иллюстрирует максимальный блок кодирования, подблок кодирования и блок предсказания, в соответствии с примерным вариантом осуществления;
Фиг.7 иллюстрирует блок кодирования и блок преобразования, в соответствии с примерным вариантом осуществления;
Фиг.8A и 8B иллюстрируют формы деления блока кодирования, блока предсказания и блока частотного преобразования, в соответствии с примерным вариантом осуществления;
Фиг.9 является блок-схемой устройства для кодирования изображения, в соответствии с другим примерным вариантом осуществления;
Фиг.10A и 10B иллюстрируют кодирующий блок границы картинки, в соответствии с примерным вариантом осуществления;
Фиг.11A и 11B иллюстрируют способ деления блока кодирования границы картинки, в соответствии с примерным вариантом осуществления;
Фиг.12A и 12B иллюстрируют способ деления блока кодирования границы картинки, в соответствии с другим примерным вариантом осуществления;
Фиг.13A и 13B иллюстрируют способ внутреннего предсказания, в соответствии с примерным вариантом осуществления;
Фиг.14 иллюстрирует индексацию максимального блока кодирования, в соответствии с примерным вариантом осуществления;
Фиг.15 является блок-схемой последовательности операций, иллюстрирующей способ кодирования изображения, в соответствии с примерным вариантом осуществления;
Фиг.16 является блок-схемой устройства для декодирования изображения, в соответствии с другим примерным вариантом осуществления;
Фиг.17 является блок-схемой последовательности операций, иллюстрирующей способ декодирования изображения, в соответствии с примерным вариантом осуществления;
Фиг.18А-18G иллюстрируют режимы предсказания в первом блоке кодирования, включающем в себя область, которая отклоняется от границы текущей картинки;
Фиг.19 является блок-схемой последовательности операций, иллюстрирующей способ кодирования изображения, в соответствии с другим примерным вариантом осуществления;
Фиг.20A и 20B иллюстрируют способ кодирования блока кодирования границы картинки, в соответствии с примерным вариантом осуществления;
Фиг.21 является блок-схемой последовательности операций, иллюстрирующей способ декодирования изображения, в соответствии с другим примерным вариантом осуществления;
Фиг.22 является блок-схемой последовательности операций, иллюстрирующей способ кодирования изображения, в соответствии с другим примерным вариантом осуществления;
Фиг.23A и 23B иллюстрируют способ кодирования блока кодирования границы картинки, в соответствии с другим примерным вариантом осуществления; и
Фиг.24 является блок-схемой последовательности операций, иллюстрирующей способ декодирования изображения, в соответствии с другим примерным вариантом осуществления.
ЛУЧШИЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
В соответствии с аспектом примерных вариантов осуществления, предложен способ кодирования изображения, причем способ включает в себя этапы, на которых: определяют, содержит ли первый блок кодирования область, которая отклоняется от границы текущей картинки; делят первый блок кодирования для получения по меньшей мере одного второго блока кодирования на основании результата определения; кодируют только второй блок кодирования, который не отклоняется от границы текущей картинки, из числа по меньшей мере одного второго блока кодирования, генерируемого в результате деления.
Когда выполняют кодирование второго блока кодирования, который не отклоняется от границы текущей картинки, информацию о делении первого блока кодирования не кодируют.
Определение того, включает ли в себя первый блок кодирования область, которая отклоняется от границы текущей картинки, включает в себя определение, отклоняется ли левая или правая граница первого блока кодирования от левой или правой границы текущей картинки.
Определение того, включает ли в себя первый блок кодирования область, которая отклоняется от границы текущей картинки, включает в себя определение, отклоняется ли верхняя или нижняя граница первого блока кодирования от верхней или нижней границы текущей картинки.
В соответствии с другим аспектом примерных вариантов осуществления, предложен способ декодирования изображения, причем способ включает в себя этапы, на которых: определяют, включает ли в себя первый блок кодирования область, которая отклоняется от границы текущей картинки; анализируют данные, касающиеся второго блока кодирования, который не отклоняется от границы текущей картинки, из числа по меньшей мере одного второго блока кодирования, сгенерированного посредством деления первого блока кодирования на основании результата определения; и декодируют данные, относящиеся ко второму блоку кодирования, который не отклоняется от границы текущей картинки.
В соответствии с другим аспектом примерных вариантов осуществления, предложено устройство для кодирования изображения, причем устройство включает в себя: определитель, который определяет, включает ли в себя первый блок кодирования область, которая отклоняется от границы текущей картинки; контроллер, который делит первый блок кодирования для получения по меньшей мере одного второго блока кодирования на основании результата определения; и кодер, который кодирует только второй блок кодирования, который не отклоняется от границы текущей картинки, из числа по меньшей мере одного второго блока кодирования, генерируемого в результате деления.
В соответствии с другим аспектом примерных вариантов осуществления, предложено устройство для декодирования изображения, причем устройство включает в себя: определитель, который определяет, включает ли в себя первый блок кодирования область, которая отклоняется от границы текущей картинки; анализатор, который анализирует данные, касающиеся второго блока кодирования, который не отклоняется от границы текущей картинки, из числа по меньшей мере одного второго блока кодирования, сгенерированного делением первого блока кодирования на основании результата определения; и декодер, который декодирует данные, касающиеся второго блока кодирования, который не отклоняется от границы текущей картинки.
В соответствии с другим аспектом примерных вариантов осуществления, предложен считываемый компьютером носитель записи, имеющий реализованную на нем программу для выполнения способа кодирования и декодирования изображения.
ВАРИАНТЫ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Сейчас примерные варианты осуществления будут описаны более подробно со ссылкой на прилагаемые чертежи, на которых показаны примерные варианты осуществления. Такие выражения, как "по меньшей мере один из", когда предшествуют списку элементов, модифицируют весь список элементов и не модифицируют отдельные элементы списка. В настоящем описании, "изображение" может обозначать неподвижное изображение для видео или движущееся изображение, то есть само видео.
Фиг.1 является блок-схемой устройства для кодирования изображения 100, в соответствии с примерным вариантом осуществления.
На Фиг.1, устройство для кодирования изображения 100 включает в себя делитель 110 максимального блока кодирования, определитель 120 глубины кодирования, кодер 130 данных изображения и кодер 140 информации кодирования.
Делитель 110 максимального блока кодирования может делить текущую картинку или срез на основании максимального блока кодирования, который является блоком кодирования максимального размера. То есть делитель 110 максимального блока кодирования может делить текущую картинку или срез, чтобы получать по меньшей мере один максимальный блок кодирования.
Согласно примерному варианту осуществления, блок кодирования может быть представлен с использованием максимального блока кодирования и глубины. Как описано выше, максимальный блок кодирования указывает блок кодирования, имеющий максимальный размер из числа блоков кодирования текущей картинки, и глубина указывает степень, полученную иерархическим уменьшением блока кодирования. С увеличением глубины блок кодирования может уменьшаться от максимального блока кодирования до минимального блока кодирования, при этом глубину максимального блока кодирования задают как минимальную глубину и глубину минимального блока кодирования задают как максимальную глубину. Поскольку размер блока кодирования в соответствии с глубинами уменьшается от максимального блока кодирования с увеличением глубины, подблок кодирования k-й глубины может включать в себя множество подблоков кодирования (k+n)-й глубины (k и n являются целыми числами, равными или большими чем 1).
В соответствии с увеличением размера картинки, которая должна быть кодирована, кодирование изображения в большем блоке кодирования может привести к более высокому коэффициенту сжатия изображения. Однако если фиксируют больший блок кодирования, изображение может не быть эффективно кодировано, отражая постоянно меняющиеся характеристики изображения.
Например, когда кодируют гладкую зону, такую как море или небо, чем больше блок кодирования, тем больше коэффициент сжатия может увеличиться. Однако когда кодируют сложную зону, такую как человек или здания, чем меньше блок кодирования, тем больше коэффициент сжатия может увеличиться.
Таким образом, в соответствии с примерным вариантом осуществления, максимальный блок кодирования изображения и максимальную глубину, имеющие разные размеры, устанавливают для каждой картинки или среза. Поскольку максимальная глубина обозначает максимальное число раз, в которое блок кодирования может уменьшиться, размер каждого минимального блока кодирования, включенного в максимальный блок кодирования изображения, может быть установлен переменно, в соответствии с максимальной глубиной.
Определитель 120 глубины кодирования определяет максимальную глубину. Максимальная глубина может быть определена на основе вычисления затрат в виде искажения в зависимости от скорости (Rate-Distortion (R-D)). Максимальная глубина может быть определена различно для каждой картинки или среза или для каждого максимального блока кодирования. Определенную максимальную глубину обеспечивают в кодер 140 информации кодирования и данные изображения в соответствии с максимальными блоками кодирования обеспечивают в кодер 130 данных изображения.
Максимальная глубина обозначает блок кодирования, имеющий наименьший размер, который может быть включен в максимальный блок кодирования, то есть минимальный блок кодирования. Другими словами, максимальный блок кодирования может быть разделен на подблоки кодирования, имеющие различные размеры в соответствии с различными глубинами. Это подробно описано далее со ссылкой на Фиг.8А и 8Б. Кроме того, подблоки кодирования, имеющие различные размеры, которые включены в максимальный блок кодирования, могут быть преобразованы по предсказанию или частоте на основе блоков обработки, имеющих разные размеры (значения пиксельных областей могут быть преобразованы в значения частотных областей, например, посредством выполнения дискретного косинусного преобразования (DCT)). Другими словами, устройство 100 для кодирования изображения может выполнять множество операций обработки для кодирования изображения на основе блоков обработки, имеющих различные размеры и различные формы. Для кодирования данных изображения выполняют операции обработки, такие как предсказание, частотное преобразование и энтропийное кодирование, при этом блоки обработки, имеющие один и тот же размер, могут быть использованы для каждой операции или блоки обработки, имеющие разные размеры, могут быть использованы для каждой операции.
Например, устройство 100 для кодирования изображения может выбрать блок обработки, который отличается от предварительно определенного блока кодирования, для предсказания предварительно определенного блока кодирования.
Когда размер блока кодирования составляет 2N×2N (где N это положительное целое число), блоки обработки для предсказания могут быть 2N×2N, 2N×N, N×2N и N×N. Другими словами, предсказание движения может быть выполнено на основе блока обработки, имеющего форму, посредством которой по меньшей мере одно из высоты и ширины блока кодирования делится поровну на два. Далее, блок обработки, который является основой предсказания, определяется как «блок предсказания».
Режим предсказания может быть по меньшей мере одним из внутреннего режима, внешнего режима, а также режима пропуска, и особый режим предсказания может быть выполнен только для блока предсказания, имеющего особый размер или форму. Например, внутренний режим может быть выполнен только для блоков предсказания, имеющих размеры 2N×2N и N×N, форма которых является квадратом. Дополнительно, режим пропуска может быть выполнен только для блока предсказания, имеющего размер 2N×2N. Если множество блоков предсказания существуют в блоке кодирования, режим предсказания с наименьшими ошибками кодирования может быть выбран после выполнения предсказания для каждого блока предсказания.
В качестве альтернативы, устройство 100 для кодирования изображения может выполнять частотное преобразование данных изображения на основе блока обработки, имеющего размер, отличный от блока кодирования. Для частотного преобразования в блоке кодирования частотное преобразование может быть выполнено на основе блока данных, имеющего размер, равный или меньший, чем размер блока кодирования. Далее, блок обработки, который является основой частотного преобразования, определяется как «блок преобразования».
Определитель 120 глубины кодирования может определять подблоки кодирования, включенные в максимальный блок кодирования, используя R-D оптимизацию на основе множителя Лагранжа. Другими словами, определитель 120 глубины кодирования может определять, какую форму имеет множество подблоков кодирования, полученное разделением максимального блока кодирования, при этом множество подблоков кодирования имеют разные размеры в соответствии с их глубинами. Кодер 130 данных изображения выводит битовый поток посредством кодирования максимального блока кодирования на основе форм деления, определяемых определителем 120 глубины кодирования.
Кодер 140 информации кодирования кодирует информацию о режиме кодирования максимального блока кодирования, определяемого определителем 120 глубины кодирования. Другими словами, кодер 140 информации кодирования выводит битовый поток посредством кодирования информации о форме деления максимального блока кодирования, информации о максимальной глубине и информации о режиме кодирования подблока кодирования для каждой глубины. Информация о режиме кодирования подблока кодирования может включать в себя информацию о блоке предсказания подблока кодирования, информацию о режиме предсказания для каждого блока предсказания и информацию о блоке преобразования подблока кодирования.
Информацией о формах деления максимального блока кодирования может быть информация, которая указывает, будет ли разделен каждый блок кодирования или нет. Например, при делении и кодировании максимального блока кодирования кодируют информацию, которая указывает, будет ли разделен каждый блок кодирования или нет, и даже когда подразделяют и кодируют подблок кодирования, который сгенерирован посредством деления максимального блока кодирования, кодируют информацию, которая указывает, будет ли разделен каждый подблок кодирования или нет. Информация, которая указывает деление, может представлять собой форму информации флага, которая указывает деление.
Поскольку подблоки кодирования, имеющие разные размеры, существуют для каждого максимального блока кодирования и информация о режиме кодирования должна быть определена для каждого подблока кодирования, информация, по меньшей мере, об одном режиме кодирования может быть определена для одного максимального блока кодирования.
Устройство 100 для кодирования изображения может генерировать подблоки кодирования посредством равного деления и высоты, и ширины максимального блока кодирования на два, в соответствии с увеличением глубины. То есть когда размер блока кодирования k-й глубины составляет 2N×2N, размер блока кодирования (k+1)-й глубины составляет N×N.
Таким образом, устройство 100 для кодирования изображения в соответствии с примерным вариантом осуществления может определять оптимальную форму деления для каждого максимального блока кодирования на основе размеров максимальных блоков кодирования и максимальной глубины при рассмотрении характеристик изображения. Посредством изменяемого управления, размер максимального блока кодирования при рассмотрении характеристик изображения и кодирования изображения, путем деления максимального блока кодирования на подблоки кодирования разных глубин, изображения, имеющие различные разрешения, могут быть более эффективно кодированы.
Фиг.2 является блок-схемой устройства 200 для декодирования изображения, в соответствии с примерным вариантом осуществления.
На Фиг.2 устройство 200 для декодирования изображения включает в себя блок 210 сбора данных изображения, блок 220 извлечения информации кодирования и декодер 230 данных изображения.
Блок 210 сбора данных изображения собирает данные изображения в соответствии с максимальными блоками кодирования посредством анализа битового потока, принимаемого устройством 200 для декодирования изображения, и выводит данные изображения на декодер 230 данных изображения. Блок 210 сбора данных изображения может извлекать информацию о максимальном блоке кодирования текущей картинки или среза из заголовка текущей картинки или среза. Другими словами, блок 210 сбора данных изображения делит битовый поток в максимальном блоке кодирования так, что декодер 230 данных изображения может декодировать данные изображения в соответствии с максимальными блоками кодирования.
Блок 220 извлечения информации кодирования извлекает информацию о максимальном блоке кодирования, максимальной глубине, форме деления максимального блока кодирования, режиме кодирования подблоков кодирования из заголовка текущей картинки, посредством анализа битового потока, принимаемого устройством 200 для декодирования изображения. Информацию о форме деления и информацию о режиме кодирования предоставляют декодеру 230 данных изображения.
Информация о форме деления максимального блока кодирования может включать в себя информацию о подблоках кодирования, имеющих разные размеры в соответствии с глубинами, включенными в максимальный блок кодирования. Как описано выше, информация о форме деления максимального блока кодирования может представлять собой информацию, которая указывает деление кодируемой информации для каждого блока кодирования, например информацию флага.
Информация о режиме кодирования может включать в себя информацию о блоке предсказания в соответствии с подблоком кодирования, информацию о режиме предсказания и информацию о блоке преобразования.
Декодер 230 данных изображения восстанавливает текущую картинку посредством декодирования данных изображения каждого максимального блока кодирования на основе информации, извлеченной посредством блока 220 извлечения информации кодирования.
Декодер 230 данных изображения может декодировать подблоки кодирования, включенные в максимальный блок кодирования, на основе информации о форме деления максимального блока кодирования. Процесс декодирования может включать в себя процесс предсказания движения, включающий в себя внутреннее предсказание и компенсацию движения, а также процесс обратного частотного преобразования.
Декодер 230 данных изображения может выполнять внутреннее предсказание или внешнее предсказание на основе информации о блоке предсказания в соответствии с подблоками кодирования и информации о режиме предсказания для того, чтобы предсказывать подблок кодирования. Декодер 230 данных изображения также может выполнять обратное частотное преобразование для каждого подблока кодирования на основе информации о блоке предсказания подблока кодирования.
Фиг.3 иллюстрирует иерархические блоки кодирования в соответствии с примерным вариантом осуществления.
На Фиг.3 иерархические блоки кодирования в соответствии с примерным вариантом осуществления могут включать в себя блоки кодирования, чьи размеры ширина × высота составляют 64×64, 32×32, 16×16, 8×8 и 4×4. Кроме этих блоков кодирования, имеющих правильные квадратные формы, также могут существовать блоки кодирования, чьи размеры ширина × высота составляют 64×32, 32×64, 32×16, 16×32, 16×8, 8×16, 8×4, 4×8.
На Фиг.3, для данных 310 изображения, разрешение которых составляет 1920×1080, размер максимального блока кодирования устанавливают равным 64×64 и максимальную глубину устанавливают равной 2.
Для данных 320 изображения, разрешение которых составляет 1920×1080, размер максимального блока кодирования устанавливают равным 64×64 и максимальную глубину устанавливают равной 3. Для данных 330 изображения, разрешение которых составляет 352×288, размер максимального блока кодирования устанавливают равным 16×16 и максимальную глубину устанавливают равной 1.
Когда разрешение является высоким или объем данных является большим, желательно, чтобы максимальный размер блока кодирования являлся относительно большим для увеличения коэффициента сжатия и точного отражения характеристик изображения. Соответственно, для данных 310 и 320 изображения, имеющих более высокое разрешение, чем данные 330 изображения, 64×64 может быть выбран в качестве размера максимального блока кодирования.
Максимальная глубина указывает общее число уровней в иерархических блоках кодирования. Поскольку максимальная глубина данных 310 изображения составляет 2, блок 315 кодирования данных 310 изображения может включать в себя максимальный блок кодирования, размер более длинной оси которого составляет 64, и подблоки кодирования, размеры более длинных осей которых составляют 32 и 16, в соответствии с увеличением в глубине.
С другой стороны, поскольку максимальная глубина данных 330 изображения составляет 1, блок 335 кодирования данных 330 изображения может включать в себя максимальный блок кодирования, размер более длинной оси которого составляет 16, и блоки кодирования, размеры более длинных осей которых составляют 8 и 4, в соответствии с увеличением в глубине.
Однако поскольку максимальная глубина данных 320 изображения составляет 3, блок 325 кодирования данных 320 изображения может включать в себя максимальный блок кодирования, размер более длинной оси которого составляет 64, и подблоки кодирования, размеры более длинных осей которых составляют 32, 16, 8 и 4 в соответствии с увеличением в глубине. Поскольку изображение кодируют на основе меньшего подблока кодирования с увеличением глубины, примерный вариант осуществления подходит для кодирования изображения, включающего в себя более детальные сцены.
Фиг.4 - блок-схема кодера 400 изображения на основе блока кодирования, согласно примерному варианту осуществления.
Блок 410 внутреннего предсказания выполняет внутреннее предсказание по блокам предсказания внутреннего режима в текущем кадре 405, а блок 420 оценки движения и компенсатор 425 движения выполняют внешнее предсказание и компенсацию движения по блокам предсказания внешнего режима, используя текущий кадр 405 и опорный кадр 495.
Остаточные значения генерируют на основе вывода блоков предсказания из блока 410 внутреннего предсказания, блока 420 оценки движения и компенсатора 425 движения и сгенерированные остаточные значения выводят в качестве квантованных коэффициентов преобразования посредством пропуска через блок 430 частотного преобразования и квантователь 440.
Квантованные коэффициенты преобразования восстанавливают до остаточных значений посредством пропуска через обратный квантователь 460 и блок 470 обратного частотного преобразования и восстановленные остаточные значения подвергают последующей обработке посредством пропуска через блок 480 деблокирования и блок 490 фильтрации с подавлением блочности, и выводят в качестве опорного кадра 495. Квантованные коэффициенты преобразования могут быть выведены в качестве битового потока 455 посредством пропуска через энтропийный кодер 450.
Для того чтобы выполнять кодирование на основе способа кодирования в соответствии с примерным вариантом осуществления, компоненты кодера 400 изображения, т.е. блок 410 внутреннего предсказания, блок 420 оценки движения, компенсатор 425 движения, блок 430 частотного преобразования, квантователь 440, энтропийный кодер 450, обратный квантователь 460, блок 470 обратного частотного преобразования, блок 480 деблокирования и блок 490 фильтрации с подавлением блочности, выполняют процессы кодирования изображения на основе максимального блока кодирования, подблока кодирования в соответствии с глубинами, блоком предсказания и блоком преобразования.
Фиг.5 является блок-схемой декодера 500 изображения на основе блока кодирования в соответствии с примерным вариантом осуществления.
Битовый поток 505 проходит через анализатор 510 так, что анализируют кодированные данные изображения, которые должны быть декодированы, и информацию кодирования, необходимую для декодирования. Кодированные данные изображения выводят в качестве обратно квантованных данных посредством пропуска через энтропийный декодер 520 и обратный квантователь 530 и восстанавливают до остаточных значений посредством пропуска через блок 540 обратного частотного преобразования. Остаточные значения восстанавливают по блокам кодирования посредством их добавления к результату внутреннего предсказания блока 550 внутреннего предсказания или результату компенсации движения компенсатора 560 движения. Восстановленные блоки кодирования используют для предсказания следующих блоков кодирования или следующей картинки посредством пропуска через блок 570 деблокирования и блок 580 фильтрации с подавлением блочности.
Для выполнения декодирования на основе способа декодирования согласно примерному варианту осуществления компоненты декодера 500 изображения, т.е. анализатор 510, энтропийный декодер 520, обратный квантователь 530, блок 540 обратного частотного преобразования, блок 550 внутреннего предсказания, компенсатор 560 движения, блок 570 деблокирования и блок 580 фильтрации с подавлением блочности, выполняют процессы декодирования изображения на основе максимального блока кодирования, подблока кодирования в соответствии с глубинами, блоком предсказания и блоком преобразования.
В частности, блок 550 внутреннего предсказания и компенсатор 560 движения определяют блок предсказания и режим предсказания в подблоке кодирования, учитывая максимальный блок кодирования и глубину, и блок 540 обратного частотного преобразования выполняет обратное частотное преобразование, учитывая размер блока преобразования.
Фиг.6 иллюстрирует максимальный блок кодирования, подблок кодирования и блок предсказания, в соответствии с примерным вариантом осуществления.
Устройство 100 для кодирования изображения и устройство 200 для декодирования изображения в соответствии с примерным вариантом осуществления используют иерархические блоки кодирования, чтобы выполнять кодирование и декодирование при рассмотрении характеристик изображения. Максимальный блок кодирования и максимальная глубина могут быть адаптивно установлены в соответствии с характеристиками изображения или установлены по-разному в соответствии с требованиями пользователя.
Иерархическая структура 600 блока кодирования в соответствии с примерным вариантом осуществления иллюстрирует максимальный блок 610 кодирования, высота и ширина которого составляют 64×64 и максимальная глубина составляет 4. Глубина увеличивается вдоль вертикальной оси структуры 600 иерархических блоков кодирования, и с увеличением глубины уменьшается высота и ширина подблоков 620-650 кодирования. Блоки предсказания максимального блока 610 кодирования и подблоки 620-650 кодирования показаны вдоль горизонтальной оси структуры 600 иерархических блоков кодирования.
Максимальный блок 610 кодирования имеет глубину 0 и размер блока кодирования, т.е. высоту и ширину, 64×64. Глубина увеличивается вдоль вертикальной оси, и существует подблок 620 кодирования, размер которого составляет 32×32 и глубина составляет 1, подблок 630 кодирования, размер которого составляет 16×16 и глубина составляет 2, подблок 640 кодирования, размер которого составляет 8×8 и глубина составляет 3, и подблок 650 кодирования, размер которого составляет 4×4 и глубина составляет 4. Подблок 650 кодирования, размер которого составляет 4×4 и глубина составляет 4, является минимальным блоком кодирования.
На Фиг.6 примеры блока предсказания показаны вдоль горизонтальной оси в соответствии с каждой глубиной. То есть блок предсказания максимального блока 610 кодирования, глубина которого составляет 0, может быть блоком предсказания, размер которого равен блоку 610 кодирования, т.е. 64×64, или блоком 612 предсказания, размер которого составляет 64×32, блоком 614 предсказания, размер которого составляет 32×64, или блоком 616 предсказания, размер которого составляет 32×32, которые имеют размеры меньше, чем блок 610 кодирования, размер которого составляет 64×64.
Блок предсказания блока 620 кодирования, глубина которого составляет 1 и размер составляет 32×32, может быть блоком предсказания, размер которого равен блоку 620 кодирования, т.е. 32×32, или блоком 622 предсказания, размер которого составляет 32×16, блоком 624 предсказания, размер которого составляет 16×32, или блоком 626 предсказания, размер которого составляет 16×16, которые имеют размеры меньше, чем блок 620 кодирования, размер которого составляет 32×32.
Блок предсказания блока 630 кодирования, глубина которого составляет 2 и размер составляет 16×16, может быть блоком предсказания, размер которого равен блоку 630 кодирования, т.е. 16×16, или блоком 632 предсказания, размер которого составляет 16×8, блоком 634 предсказания, размер которого составляет 8×16, или блоком 636 предсказания, размер которого составляет 8×8, которые имеют размеры меньше, чем блок 630 кодирования, размер которого составляет 16×16.
Блок предсказания блока 640 кодирования, глубина которого составляет 3 и размер составляет 8×8, может быть блоком предсказания, размер которого равен блоку 640 кодирования, т.е. 8×8, или блоком 642 предсказания, размер которого составляет 8×4, блоком 644 предсказания, размер которого составляет 4×8, или блоком 646 предсказания, размер которого составляет 4×4, которые имеют размеры меньше, чем блок 640 кодирования, размер которого составляет 8×8.
Наконец, блок 650 кодирования, глубина которого составляет 4 и размер составляет 4×4, является минимальным блоком кодирования и блоком кодирования максимальной глубины, и блок предсказания блока 650 кодирования является блоком 650 предсказания, размер которого составляет 4×4.
Фиг.7 иллюстрирует блок кодирования и блок преобразования в соответствии с примерным вариантом осуществления.
Устройство 100 для кодирования изображения и устройство 200 для декодирования изображения, в соответствии с примерным вариантом осуществления, выполняют кодирование с самим максимальным блоком кодирования или с подблоками кодирования, которые равны или меньше, чем максимальный блок кодирования, и получены разделением от максимального блока кодирования.
В процессе кодирования размер блока преобразования для частотного преобразования выбирают, чтобы он был не больше, чем размер соответствующего блока кодирования. Например, когда текущий блок 710 кодирования имеет размер 64×64, частотное преобразование может быть выполнено с использованием блока 720 преобразования, имеющего размер 32×32.
Фиг.8А и 8B иллюстрируют формы деления блока кодирования, блока предсказания и блока частотного преобразования в соответствии с примерным вариантом осуществления.
Фиг.8А иллюстрирует кодирующий блок и блок предсказания, согласно примерному варианту осуществления.
Левая сторона Фиг.8A показывает форму деления, выбранную устройством 100 для кодирования изображения, в соответствии с примерным вариантом осуществления для того, чтобы кодировать максимальный блок 810 кодирования. Устройство 100 для кодирования изображения делит максимальный блок 810 кодирования на различные формы, выполняет кодирование и выбирает оптимальную форму деления посредством сравнения результатов кодирования различных форм деления друг с другом на основе потерь R-D. Когда является оптимальным, что максимальный блок 810 кодирования кодируют как есть, максимальный блок 810 кодирования может быть кодирован без деления максимального блока 810 кодирования, как показано на Фиг.8А и 8Б.
Ссылаясь на левую сторону Фиг.8А, максимальный блок 810 кодирования, глубина которого составляет 0, кодируют посредством деления его на подблоки кодирования, глубины которых равны или больше чем 1. То есть максимальный блок 810 кодирования делят на 4 подблока кодирования, глубины которых составляют 1, и все или некоторые из подблоков кодирования, глубины которых составляют 1, делят на подблоки кодирования, глубины которых составляют 2.
Подблок кодирования, расположенный в верхней правой стороне, и подблок кодирования, расположенный в нижней левой стороне, из числа блоков кодирования, глубины которых составляют 1, делят на подблоки кодирования, глубины которых равны или больше чем 2. Некоторые из подблоков кодирования, глубины которых равны или больше чем 2, могут быть разделены на подблоки кодирования, глубины которых равны или больше чем 3.
Правая сторона Фиг.8A показывает форму деления блока 860 предсказания для максимального блока 810 кодирования.
На правой стороне Фиг.8А блок 860 предсказания для максимального блока 810 кодирования может быть поделен отлично от максимального блока 810 кодирования. Другими словами, блок предсказания для каждого подблока кодирования может быть меньше, чем соответствующий подблок кодирования.
Например, блок предсказания для подблока 854 кодирова