Способ и устройство для кодирования и декодирования изображения с использованием крупной единицы преобразования
Иллюстрации
Показать всеИзобретение относится к вычислительной технике. Технический результат заключается в повышении эффективности декодирования изображения. Способ декодирования изображения, в котором определяют имеющие иерархическую структуру единицы кодирования для декодирования изображения, по меньшей мере, одну единицу предсказания для предсказания каждой единицы кодирования, и, по меньшей мере, одну единицу преобразования для обратного преобразования каждой единицы кодирования, посредством использования информации о форме разделения единицы кодирования, по меньшей мере, одной единице предсказания и, по меньшей мере, одной единице преобразования; получают посредством анализа из битового потока коэффициенты преобразования и восстанавливают кодированные данные, по меньшей мере, одной единицы предсказания посредством выполнения энтропийного декодирования, обратного квантования и обратного преобразования над коэффициентами преобразования; и выполняют внутреннее предсказание или взаимное предсказание над восстановленными кодированными данными и восстанавливают кодированное видео, причем единицы кодирования разделяются иерархически в соответствии с глубиной единицы кодирования, и, по меньшей мере, одна единица преобразования содержит единицу преобразования, имеющую больший размер, чем размер, по меньшей мере, одной единицы предсказания. 3 з.п. ф-лы, 18 ил.
Реферат
Область техники, к которой относится изобретение
Примерные варианты осуществления изобретения относятся к способу и устройству для кодирования и декодирования изображения, в частности к способу и устройству для кодирования и декодирования изображения посредством преобразования изображения в пиксельной области в коэффициенты в частотной области.
Уровень техники
Для того чтобы выполнять сжатие изображения, большинство способов и устройств кодирования и декодирования изображения кодируют изображение посредством преобразования изображения в пиксельной области в коэффициенты частотной области. Дискретное косинусное преобразование (DCT), которое является одной из методик частотного преобразования, является хорошо известной методикой, которая широко используется при сжатии изображения или звука. Способ кодирования изображения, использующий DCT, касается выполнения DCT над изображением в пиксельной области, формирующего дискретные косинусные коэффициенты, квантования сформированных дискретных косинусных коэффициентов и выполнения энтропийного кодирования над сформированными дискретными косинусными коэффициентами.
Сущность изобретения
Решение задачи
Примерные варианты осуществления предоставляют способ и устройство для кодирования и декодирования изображения при помощи более эффективного дискретного косинусного преобразования (DCT), а так же предоставляют машиночитаемый носитель записи с записанной на нем программой для исполнения способа.
Полезные результаты изобретения
В соответствии с одним или более примерными вариантами осуществления существует возможность установить единицу преобразования так, чтобы она была крупнее единицы предсказания, и выполнить DCT таким образом, чтобы изображение было эффективно сжато и закодировано.
Краткое описание чертежей
Вышеприведенные и прочие признаки примерных вариантов осуществления станут более очевидны из описания их примерных вариантов осуществления со ссылкой на прилагаемые чертежи, в которых:
Фиг.1 является блок-схемой устройства кодирования изображения в соответствии с примерным вариантом осуществления;
Фиг.2 является схемой устройства декодирования изображения в соответствии с другим примерным вариантом осуществления;
Фиг.3 является схемой иерархической единицы кодирования в соответствии с другим примерным вариантом осуществления;
Фиг.4 является блок-схемой кодера изображения, основанного на единице кодирования, в соответствии с другим примерным вариантом осуществления;
Фиг.5 является блок-схемой декодера изображения, основанного на единице кодирования, в соответствии с другим примерным вариантом осуществления;
Фиг.6 иллюстрирует максимальную единицу кодирования, суб-единицы кодирования и единицы предсказания в соответствии с другим примерным вариантом осуществления;
Фиг.7 является схемой единицы кодирования и единицы преобразования в соответствии с другим примерным вариантом осуществления;
Фиг.8A и 8B иллюстрируют формы разделения максимальной единицы кодирования, единицы предсказания и единицы преобразования в соответствии с другим примерным вариантом осуществления;
Фиг.9 является блок-схемой устройства кодирования изображения в соответствии с другим примерным вариантом осуществления;
Фиг.10 является схемой модуля преобразования;
Фиг.11A-11C иллюстрируют типы единиц преобразования в соответствии с другим примерным вариантом осуществления;
Фиг.12 иллюстрирует разные единицы преобразования в соответствии с другим примерным вариантом осуществления;
Фиг.13 является блок-схемой устройства декодирования изображения в соответствии с другим примерным вариантом осуществления; и
Фиг.14 является блок-схемой последовательности операций способа кодирования изображения, в соответствии с примерным вариантом осуществления.
Фиг.15 является блок-схемой последовательности операций способа декодирования изображения, в соответствии с другим примерным вариантом осуществления.
Раскрытие изобретения
В соответствии с аспектом примерного варианта осуществления изобретения, предложен способ кодирования изображения, включающий в себя операции, на которых задают единицу преобразования посредством выбора множества соседних единиц предсказания, преобразуют множество соседних единиц предсказания в частотную область в соответствии с единицей преобразования, формируют коэффициенты частотных составляющих, квантуют коэффициенты частотных составляющих и выполняют энтропийное кодирование над квантованными коэффициентами частотных составляющих.
Операция, на которой задают единицу преобразования, может выполняться на основании глубины, указывающей степень уменьшения размера, которое постепенно происходит от максимальной единицы кодирования текущей последовательности макроблоков или текущего кадра до суб-единицы кодирования, содержащей множество соседних единиц предсказания.
Операция, на которой задают единицу преобразования, может выполняться посредством выбора множества соседних единиц предсказания, над которыми предсказание выполняется в соответствии с одинаковым режимом предсказания.
Одинаковым режимом предсказания может быть режим взаимного предсказания или режим внутреннего предсказания.
Способ кодирования изображения может дополнительно включать в себя операцию, на которой задают оптимальную единицу преобразования посредством повторяющегося выполнения вышеупомянутых операций над разными единицами преобразования, при этом вышеупомянутые операции включают в себя операции, на которых задают единицу преобразования посредством выбора множества соседних единиц предсказания, преобразуют множество соседних единиц предсказания в частотную область в соответствии с единицей преобразования и формируют коэффициенты частотных составляющих, квантуют коэффициенты частотных составляющих и выполняют энтропийное кодирование над квантованными коэффициентами частотных составляющих.
В соответствии с другим аспектом примерного варианта осуществления, предложено устройство кодирования изображения, включающее в себя модуль преобразования для задания единицы преобразования посредством выбора множества соседних единиц предсказания, преобразования множества соседних единиц предсказания в частотную область в соответствии с единицей преобразования и формирования коэффициентов частотных составляющих, модуль квантования для квантования коэффициентов частотных составляющих и модуль энтропийного кодирования для выполнения энтропийного кодирования над квантованными коэффициентами частотных составляющих.
В соответствии с другим аспектом примерного варианта осуществления предложен способ декодирования изображения, включающий в себя операции, на которых выполняют энтропийное декодирование коэффициентов частотных составляющих, которые сформированы посредством преобразования в частотную область в соответствии с единицей преобразования, выполняют обратное квантование коэффициентов частотных составляющих, выполняют обратное преобразование коэффициентов частотных составляющих в пиксельную область и воссоздают множество соседних единиц предсказания, содержащихся в единице преобразования.
В соответствии с другим аспектом примерного варианта осуществления предложено устройство декодирования изображения, включающее в себя энтропийный декодер для выполнения энтропийного декодирования коэффициентов частотных составляющих, которые сформированы посредством преобразования в частотную область в соответствии с единицей преобразования, модуль обратного квантования для обратного квантования коэффициентов частотных составляющих в пиксельную область и воссоздания множества соседних единиц предсказания, содержащихся в единице преобразования.
В соответствии с другим аспектом примерного варианта осуществления предоставляется машиночитаемый носитель записи с записанной на нем программой для исполнения способов кодирования и декодирования изображения.
Осуществление изобретения
Далее со ссылкой на прилагаемые чертежи будут подробно описаны примерные варианты осуществления. В примерных вариантах осуществления, понятие «единица» может относиться, а может и не относиться к единичному блоку некоторого размера, в зависимости от контекста, в котором оно используется, а понятие «изображение» может обозначать неподвижное изображение (кадр), применительно к видео, или подвижное изображение, то есть само видео.
Фиг.1 является блок-схемой устройства 100 для кодирования изображения, в соответствии с примерным вариантом осуществления.
Согласно Фиг.1, устройство 100 включает в себя модуль 110 разделения на максимальные единицы кодирования, модуль 120 определения глубины кодирования, кодер 130 данных изображения и кодер 140 информации кодирования.
Модуль 110 разделения на максимальные единицы кодирования может выполнять разделение текущего кадра или последовательности макроблоков на основе максимальной единицы кодирования, которая является единицей кодирования наибольшего размера. То есть модуль 110 разделения на максимальные единицы кодирования может выполнять разделение текущего кадра или последовательности макроблоков для получения по меньшей мере одной максимальной единицы кодирования.
В соответствии с примерным вариантом осуществления, единица кодирования может быть представлена при помощи максимальной единицы кодирования и глубины. Как описано выше, максимальная единица кодирования указывает единицу кодирования с самым крупным размером среди единиц кодирования текущего кадра, а глубина указывает размер суб-единицы кодирования, полученной посредством иерархического уменьшения единицы кодирования. По мере роста глубины, единица кодирования может уменьшаться в размере от максимальной единицы кодирования до минимальной единицы кодирования, при этом глубина максимальной единицы кодирования задается как минимальная глубина, а глубина минимальной единицы кодирования задается как максимальная глубина. Поскольку размер единицы кодирования уменьшается от максимальной единицы кодирования по мере увеличения глубины, то суб-единица кодирования k-й глубины может включать в себя множество суб-единиц кодирования (k+n)-й глубины (где k и n целые числа, равные или больше 1).
По мере роста размера кадра, который должен быть закодирован, кодирование изображения в более крупных единицах кодирования может привести к более высокой степени сжатия изображения. Однако если более крупная единица кодирования фиксирована, то изображение не может быть эффективно закодировано, учитывая постоянно меняющиеся характеристики изображения.
Например, когда кодируется ровная область, такая как море или небо, то чем крупнее единица кодирования, тем выше может быть степень сжатия. Однако когда кодируется сложная область, такая как человек или здания, то чем мельче единица кодирования, тем выше может быть степень сжатия.
Таким образом, в соответствии с примерным вариантом осуществления, для каждого кадра или последовательности макроблоков задается разная максимальная единица кодирования изображения и разная максимальная глубина. Поскольку максимальная глубина обозначает максимальное количество раз, в которое может уменьшаться единица кодирования, то размер каждой минимальной единицы кодирования, включенной в максимальную единицу кодирования, может задаться переменно, в соответствии максимальной глубиной.
Модуль 120 определения глубины кодирования определяет максимальную глубину. Максимальная глубина может определяться на основании вычисления затрат Искажения к Скорости Передачи (R-D). Максимальная глубина может определяться по-разному для каждого кадра или последовательности макроблоков или для каждой максимальной единицы кодирования. Определенная максимальная глубина предоставляется кодеру 140 информации кодирования, а данные изображения в соответствии с максимальными единицами кодирования предоставляются кодеру 130 данных изображения.
Максимальная глубина обозначает единицу кодирования с наименьшим размером, которая может быть включена в максимальную единицу кодирования, т.е. минимальную единицу кодирования. Другими словами, максимальная единица кодирования может быть разделена на суб-единицы кодирования, имеющие разные размеры, на основе разных глубин. Это более подробно описывается ниже со ссылкой на Фиг.8A и 8B. В дополнение, суб-единицы кодирования, имеющие разные размеры, которые включены в максимальную единицу кодирования, могут предсказываться или преобразовываться на основе единиц обработки, имеющих разные размеры. Другими словами, устройство 100 может выполнять множество операций обработки для кодирования изображения на основе единиц обработки, обладающих различными размерами и различными формами. Чтобы закодировать данные изображения выполняются такие операции обработки, как предсказание, преобразование и энтропийное кодирование, при этом для каждой операции могут использоваться единицы обработки одинакового размера или для каждой операции могут использоваться единицы обработки разных размеров.
Например, устройство 100 может выбрать для предсказания единицы кодирования единицу обработки, отличную от единицы кодирования.
Когда размером единицы кодирования является 2N×2N (где N положительное целое число), единицами обработки для предсказания могут быть 2N×2N, 2N×N, N×2N и N×N. Другими словами, предсказание движения может выполняться на основе единицы обработки, имеющей форму, при которой по меньшей мере одно из высоты или ширины единицы кодирования делятся на 2 равные части. Далее, единица обработки, которая является основой для предсказания, определяется в качестве «единицы предсказания».
Режим предсказания может быть по меньшей мере одним из внутреннего режима, взаимного режима и режима с пропуском, и конкретный режим предсказания может выполняться применительно только к единице предсказания конкретного размера и формы. Например, внутренний режим может выполняться только применительно к единицам предсказания размером 2N×2N и N×N, форма которых является квадратом. Дополнительно, режим с пропуском может выполняться только применительно к единице предсказания размером 2Nx2N. Если в единице кодирования существует множество единиц предсказания, то после выполнения предсказания для каждой единицы предсказания может выбираться режим предсказания с наименьшими ошибками кодирования.
В качестве альтернативы, устройство 100 может выполнять частотное преобразование над данными изображения на основании единиц обработки, имеющих размер, отличный от единицы кодирования. Применительно к частотному преобразованию в единице кодирования, частотное преобразование может выполняться на основании единицы обработки, имеющей размер, равный или мельче размера единицы кодирования. Далее, единица обработки, которая является основой для частотного преобразования, определяется в качестве «единицы преобразования». Частотное преобразование может быть Дискретным Косинусным Преобразованием (DCT) или Преобразованием Карунена-Лоэва (KLT).
Модуль 120 определения глубины кодирования может определять суб-единицу кодирования, включенную в максимальную единицу кодирования, при помощи оптимизации RD, основанной на множителе Лагранжа. Другими словами, модуль 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, а максимальная глубина задается как 4. Для данных 330 изображения, для которых разрешение составляет 352×288, размер максимальной единицы кодирования установлен как 16×16, а максимальная глубина задается как 1.
Когда разрешение высокое или велик объем данных, предпочтительно, но не обязательно, чтобы максимальный размер единицы кодирования был относительно крупным для увеличения степени сжатия и точного отображения характеристик изображения. Соответственно, применительно к данным 310 и 320 изображения с разрешением выше, чем у данных 330 изображения, в качестве размера максимальной единицы кодирования может быть выбран размер 64×64.
Максимальная глубина указывает суммарное количество уровней в иерархических единицах кодирования. Поскольку максимальная глубина данных 310 изображения составляет 2, то единица 315 кодирования данных 310 изображения может включать в себя максимальную единицу кодирования, у которой размер по большей оси составляет 64, и суб-единицу кодирования, у которой размеры по большей оси составляют 32 и 16, в соответствии с увеличением глубины.
С другой стороны, поскольку максимальная глубина данных 330 изображения составляет 1, то единица 335 кодирования данных 330 изображения может включать в себя максимальную единицу кодирования, у которой размер по большей оси составляет 16, и единицы кодирования, у которой размеры по большей оси составляют 8, в соответствии с увеличением глубины.
Однако поскольку максимальная глубина данных 320 изображения составляет 4, единица 325 кодирования данных 320 изображения может включать в себя максимальную единицу кодирования, для которой размер по большей оси составляет 64, и суб-единицы кодирования, для которых размеры по большей оси составляют 32, 16, 8 и 4 в соответствии с увеличением глубины. Поскольку с увеличением глубины изображение кодируется на основе более мелких суб-единиц кодирования, то характерный вариант осуществления применим для кодирования изображения, включающего сцены с более мелкими деталями.
Фиг.4 является блок-схемой кодера 400 изображения на основании единицы кодирования, в соответствии с примерным вариантом осуществления.
Модуль 410 внутреннего предсказания выполняет внутреннее предсказание над единицами предсказания внутреннего режима в текущем кадре 405, а модуль 420 оценки движения и модуль 425 компенсации движения выполняют взаимное предсказание и компенсацию движения над единицами кодирования взаимного режима, используя текущий кадр 405 и опорный кадр 495.
Значения остатка формируются на основании единиц предсказания, выдаваемых модулем 410 внутреннего предсказания, модулем 420 оценки движения и модулем 426 компенсации движения, и сформированные значения остатка выдаются в качестве квантованных коэффициентов преобразования посредством прохода через модуль 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, а максимальная глубина составляет 4. Глубина растет вдоль вертикальной оси иерархической структуры 600 единиц кодирования, и по мере роста глубины уменьшаются высота и ширина суб-единиц с 620 по 650 кодирования. Единицы предсказания максимальной единицы 610 кодирования и суб-единиц с 620 по 650 кодирования показаны вдоль горизонтальной оси иерархической структуры 600 единиц кодирования.
Максимальная единица 610 кодирования имеет глубину 0 и размер единицы кодирования, т.е. высоту и ширину размером 64×64. Глубина растет вдоль вертикальной оси и присутствуют: суб-единица 620 кодирования, размер которой составляет 32×32, а глубина равна 1; суб-единица 630 кодирования, размер которой составляет 16×16, а глубина равна 2; суб-единица 640 кодирования, размер которой составляет 8×8, а глубина равна 3; и суб-единица 640 кодирования, размер которой составляет 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, или единица 652 предсказания, размер которой составляет 4×2, единица 654 предсказания, размер которой составляет 2×4, или единица 656 предсказания, размер которой составляет 2×2.
Фиг.7 иллюстрирует единицу кодирования и единицу преобразования, в соответствии с примерным вариантом осуществления.
Устройство 100 и устройство 200, в соответствии с примерным вариантом осуществления, выполняют кодирование при помощи самой максимальной единицы кодирования, или при помощи суб-единиц кодирования, которые равны или мельче максимальной единицы кодирования и которые получены разделением максимальной единицы кодирования.
В процессе кодирования размер единицы преобразования для частотного преобразования выбирается таким образом, чтобы не быть крупнее размера соответствующей единицы кодирования. Например, когда единица 710 кодирования имеет размер 64×64, то частотное преобразование может выполняться, при помощи единицы 720 преобразования, имеющей размер 32×32.
Фиг.8A и 8B иллюстрируют формы разделения единицы кодирования, единицы предсказания и единицы преобразования в соответствии с примерным вариантом осуществления.
Фиг.8A иллюстрирует единицу кодирования и единицу предсказания в соответствии с примерным вариантом осуществления.
Левая часть Фиг.8A показывает форму разделения, выбранную устройством 100, в соответствии с примерным вариантом осуществления, чтобы кодировать максимальную единицу 810 кодирования. Устройство 100 разделяет максимальную единицу 810 кодирования на различные формы, выполняет кодирование и выбирает оптимальную форму разделения посредством сравнения результатов кодирования различных форм разделения друг с другом на основании затрат R-D. Когда оптимальным считается кодирование максимальной единицы 810 кодирования, как она есть, то максимальная единица 810 кодирования может кодироваться без разделения максимальной единицы 810 кодирования в соответствии с тем, что проиллюстрировано на Фиг.8A и 8B.
Как изображено в левой части Фиг.8A, максимальная единица 810 кодирования, глубина которой равна 1, кодируется посредством разделения ее на суб-единицы кодирования, глубины которых равны или больше чем 1. То есть максимальная единица 810 кодирования разделяется на 4 суб-единицы кодирования, глубина которых равна 1, и все или некоторые суб-единицы кодирования, глубины которых равны 1, разделяются на суб-единицы кодирования, глубины которых равны 2.
Суб-единица кодирования, расположенная в верхней левой части, и суб-единица кодирования, расположенная в нижней левой части, из суб-единиц кодирования, глубины которых равны 1, разделяются на суб-единицы кодирования, глубины которых равны или больше чем 2. Некоторые из суб-единиц кодирования, глубины которых равны или больше 2, могут быть разделены на суб-единицы кодирования, глубины которых равны или больше 3.
Правая сторона Фиг.8A показывает форму разделения единиц предсказания для максимальной единицы 810 кодирования.
Как изображено на правой части Фиг.8A, единица 860 предсказания для максимальной единицы 810 кодирования может быть разделена иначе, нежели максимальная единица 810 кодирования. Другими словами, единица предсказания для каждой из суб-единиц кодирования может быть мельче, чем соответствующая суб-единица кодирования.
Например, единица предсказания для суб-единицы 854 кодирования, расположенной в нижней правой части, из суб-единиц кодирования, глубины которых равны 1, может быть мельче суб-единицы 854 кодирования. В дополнение, единицы предсказания для некоторых (814, 816, 850 и 852) из суб-единиц 814, 816, 818, 828, 850 и 852 кодирования, глубины которых равны 2, могут быть мельче соответствующих суб-единиц 814, 816, 850 и 852 кодирования. В дополнение, единицы предсказания для суб-единиц 822, 832 и 848 кодирования, глубины которых равны 3, могут быть мельче соответствующих суб-единиц 822, 832 и 848 кодирования. Единицы предсказания могут иметь форму, с которой соответствующие суб-единицы кодирования делятся на две равные части по высоте или ширине, или имеют форму, с которой соответствующие суб-единицы кодирования делятся на четыре равные части по высоте и ширине.
Фиг.8B иллюстрирует единицу предсказания и единицу преобразования, в соответствии с примерным вариантом о