Способ и устройство для кодирования и декодирования изображения посредством использования вращательного преобразования

Иллюстрации

Показать все

Изобретение относится к вычислительной технике. Технический результат заключается в обеспечении высокого коэффициента сжатия при кодировании матрицы частотных коэффициентов. Способ кодирования изображений включает в себя формирование первой матрицы частотных коэффициентов посредством преобразования предварительно определенного блока в частотную область; определение, включает ли первая матрица частотных коэффициентов коэффициенты, абсолютные значения которых превышают предварительно определенное значение; формирование второй матрицы частотных коэффициентов посредством избирательного частичного переключения по меньшей мере одного из строк и столбцов первой матрицы частотных коэффициентов согласно угловому параметру на основе результата определения; и избирательное кодирование второй матрицы частотных коэффициентов на основе результата определения. 5 н. и 10 з.п. ф-лы, 21 ил.

Реферат

Область техники, к которой относится изобретение

Устройства и способы в соответствии с примерными вариантами осуществления изобретения относятся к способу и устройству для кодирования и декодирования изображения, а более конкретно к способу и устройству для кодирования и декодирования коэффициентов, сформированных посредством преобразования изображения из пиксельной области в частотную область.

Уровень техники

В большинстве способов и устройств для кодирования и декодирования изображения, изображение в пиксельной области преобразуется в частотную область и затем кодируется, чтобы сжать изображение. Дискретное косинусное преобразование (DCT) является известной технологией, используемой для того, чтобы сжимать аудио-видео-(AV-)данные. В последние годы предпринимается множество попыток находить более эффективные способы кодирования. При кодировании аудиопараметрическое кодирование выполняется лучше, чем DCT, а в двумерных данных преобразование Карунена-Лоэва (KLT) имеет минимальный размер в битах, но имеет большой размер объема служебной информации.

Сущность изобретения

Решение задачи

Примерные варианты осуществления изобретения разрешают, по меньшей мере, вышеуказанные проблемы и/или недостатки и другие недостатки, не описанные выше. Кроме того, примерный вариант осуществления не обязательно должен преодолевать недостатки, описанные выше, и примерный вариант осуществления может не преодолевать ни одну из проблем, описанных выше.

Примерные варианты осуществления предоставляют способ и устройство для кодирования и декодирования изображения и машиночитаемый носитель записи, имеющий записанную на нем компьютерную программу для исполнения упомянутого способа.

Преимущества изобретения

Согласно настоящему изобретению, матрица частотных коэффициентов предварительно определенного блока может быть кодирована с высоким коэффициентом сжатия.

Краткое описание чертежей

Вышеуказанные и/или другие аспекты примерных вариантов осуществления изобретения должны стать более очевидными из описания конкретных примерных вариантов осуществления со ссылкой на прилагаемые чертежи, на которых:

Фиг. 1 является блок-схемой устройства для кодирования изображения, согласно примерному варианту осуществления;

Фиг. 2 является блок-схемой устройства для декодирования изображения, согласно примерному варианту осуществления;

Фиг. 3 иллюстрирует иерархические единицы кодирования согласно примерному варианту осуществления;

Фиг. 4 является блок-схемой кодера изображений на основе единицы кодирования, согласно примерному варианту осуществления;

Фиг. 5 является блок-схемой декодера изображений на основе единицы кодирования, согласно примерному варианту осуществления;

Фиг. 6 иллюстрирует максимальную единицу кодирования, субъединицу кодирования и единицу предсказания, согласно примерному варианту осуществления;

Фиг. 7 иллюстрирует единицу кодирования и единицу преобразования, согласно примерному варианту осуществления;

Фиг. 8a, 8b, 8c и 8d иллюстрируют формы разделения единицы кодирования, единицы предсказания и единицы преобразования, согласно примерному варианту осуществления;

Фиг. 9 является блок-схемой устройства для кодирования изображения, согласно другому примерному варианту осуществления;

Фиг. 10 является блок-схемой второго преобразователя, проиллюстрированного на фиг. 9, согласно примерному варианту осуществления;

Фиг. 11a, 11b и 11c являются схемами для описания вращательного преобразования (ROT) согласно примерному варианту осуществления;

Фиг. 12 иллюстрирует эйлеровы углы согласно примерному варианту осуществления;

Фиг. 13 иллюстрирует псевдослучайные точки согласно примерному варианту осуществления;

Фиг. 14 является блок-схемой устройства для декодирования изображения, согласно другому примерному варианту осуществления;

Фиг. 15 является блок-схемой декодера, проиллюстрированного на фиг. 14, согласно примерному варианту осуществления;

Фиг. 16 является блок-схемой последовательности операций способа кодирования изображения, согласно примерному варианту осуществления; и

Фиг. 17 является блок-схемой последовательности операций способа декодирования изображения, согласно примерному варианту осуществления.

Предпочтительный вариант осуществления изобретения

Согласно аспекту примерного варианта осуществления, предусмотрен способ кодирования изображения, при этом способ включает в себя формирование первой матрицы частотных коэффициентов посредством преобразования предварительно определенного блока в частотную область; определение того, включает ли первая матрица частотных коэффициентов в себя коэффициенты, абсолютные значения которых превышают предварительно определенное значение; формирование второй матрицы частотных коэффициентов посредством избирательного частичного переключения по меньшей мере одного из строк или столбцов первой матрицы частотных коэффициентов согласно предварительно определенному угловому параметру на основе результата определения; и избирательное кодирование второй матрицы частотных коэффициентов на основе результата определения, при этом угловой параметр указывает степень частичного переключения между по меньшей мере одним из строк или столбцов.

Определение может включать в себя определение того, включает ли первая матрица частотных коэффициентов в себя ненулевые коэффициенты.

Определение дополнительно может включать в себя определение того, является ли предварительно определенный блок блоком двунаправленного предсказанного слоя (B слоя).

Определение дополнительно может включать в себя определение того, является ли предварительно определенный блок блоком, предсказанным посредством выполнения внутреннего предсказания.

Избирательное кодирование может включать в себя квантование второй матрицы частотных коэффициентов, если первая матрица частотных коэффициентов включает в себя ненулевые коэффициенты; и энтропийное кодирование квантованной второй матрицы частотных коэффициентов и информации об угловом параметре.

Согласно другому аспекту примерного варианта осуществления, предусмотрен способ декодирования изображения, при этом способ включает в себя декодирование информации, указывающей то, включает ли первая матрица частотных коэффициентов предварительно определенного блока в себя коэффициенты, абсолютные значения которых превышают предварительно определенное значение; избирательное декодирование данных второй матрицы частотных коэффициентов на основе декодированной информации; восстановление первой матрицы частотных коэффициентов посредством избирательного частичного переключения по меньшей мере одного из строк или столбцов второй матрицы частотных коэффициентов согласно предварительно определенному угловому параметру на основе декодированной информации; и восстановление предварительно определенного блока посредством преобразования первой матрицы частотных коэффициентов в пиксельную область, при этом угловой параметр указывает степень частичного переключения между по меньшей мере одним из строк или столбцов.

Согласно другому аспекту примерного варианта осуществления, предусмотрено устройство для кодирования изображения, причем устройство включает в себя первый преобразователь для формирования первой матрицы частотных коэффициентов посредством преобразования предварительно определенного блока в частотную область; второй преобразователь для определения того, включает ли первая матрица частотных коэффициентов в себя коэффициенты, абсолютные значения которых превышают предварительно определенное значение, и формирования второй матрицы частотных коэффициентов посредством избирательного частичного переключения по меньшей мере одного из строк или столбцов первой матрицы частотных коэффициентов согласно предварительно определенному угловому параметру на основе результата определения; и кодер для избирательного кодирования второй матрицы частотных коэффициентов на основе результата определения, при этом угловой параметр указывает степень частичного переключения между по меньшей мере одним из строк или столбцов.

Согласно другому аспекту примерного варианта осуществления, предусмотрено устройство для декодирования изображения, причем устройство включает в себя декодер для декодирования информации, указывающей то, включает ли первая матрица частотных коэффициентов предварительно определенного блока в себя коэффициенты, абсолютные значения которых превышают предварительно определенное значение, и избирательного декодирования данных второй матрицы частотных коэффициентов на основе декодированной информации; первый обратный преобразователь для восстановления первой матрицы частотных коэффициентов посредством избирательного частичного переключения по меньшей мере одного из строк или столбцов второй матрицы частотных коэффициентов согласно предварительно определенному угловому параметру на основе декодированной информации; и второй обратный преобразователь для восстановления предварительно определенного блока посредством преобразования первой матрицы частотных коэффициентов в пиксельную область, при этом угловой параметр указывает степень частичного переключения между по меньшей мере одним из строк или столбцов.

Согласно другому аспекту примерного варианта осуществления, предоставляется машиночитаемый носитель записи, имеющий записанную на нем компьютерную программу для исполнения способа кодирования изображений и/или способа декодирования изображений.

Осуществление изобретения

Конкретные примерные варианты осуществления подробнее описываются ниже со ссылкой на прилагаемые чертежи. Такие выражения, как "по меньшей мере один из", предваряющие список элементов, изменяют весь список элементов и не изменяют отдельных элементов списка. В настоящем описании изобретения "изображение" может обозначать неподвижное изображение для видео или движущееся изображение, т.е. само видео.

В последующем описании, аналогичные ссылки с номерами из чертежей используются для аналогичных элементов, даже на различных чертежах. Аспекты, указываемые в описании, такие как детальная конструкция и элементы, предоставляются для того, чтобы обеспечить исчерпывающее понимание примерных вариантов осуществления. Тем не менее, примерные варианты осуществления могут осуществляться на практике без этих конкретно заданных аспектов.

Фиг. 1 является блок-схемой устройства для кодирования изображения, согласно примерному варианту осуществления. Устройство 100 кодирования изображений может быть реализовано как устройство, такое как, например, процессор компьютера или компьютерной системы. Устройство 100 кодирования изображений также может быть реализовано как программный модуль, постоянно размещающийся в компьютерной системе.

Как показано на фиг. 1, устройство 100 кодирования изображений включает в себя модуль 110 деления на максимальные единицы кодирования, модуль 120 определения глубины кодирования, кодер 130 данных изображений и кодер 140 информации кодирования, которые могут быть реализованы, например, в качестве аппаратных или программных модулей, интегрированных в устройство 100 кодирования изображений или выполненных отдельно от устройства 100 кодирования изображений.

Модуль 110 деления на максимальные единицы кодирования может разделять текущий кадр или слой на основе максимальной единицы кодирования, которая является единицей кодирования наибольшего размера. Т.е. модуль 110 деления на максимальные единицы кодирования может разделять текущий кадр или слой, по меньшей мере, на одну максимальную единицу кодирования.

Согласно примерному варианту осуществления единица кодирования может быть представлена с использованием максимальной единицы кодирования и глубины. Как описано выше, максимальная единица кодирования указывает единицу кодирования, имеющую наибольший размер из числа единиц кодирования текущего кадра, а глубина указывает степень иерархического снижения единицы кодирования. По мере того, как глубина увеличивается, единица кодирования может снижаться с максимальной единицы кодирования до минимальной единицы кодирования, при этом глубина максимальной единицы кодирования задается как минимальная глубина, а глубина минимальной единицы кодирования задается как максимальная глубина. Поскольку размер единицы кодирования снижается от максимальной единицы кодирования по мере того, как глубина увеличивается, субъединица кодирования k-той глубины может включать в себя множество субъединиц кодирования (k+n)-ной глубины (k и n являются целыми числами, равными или превышающими 1).

Согласно увеличению размера кадра, который должен быть кодирован, кодирование изображения с большей единицей кодирования может приводить к более высокому коэффициенту сжатия изображений. Тем не менее, если большая единица кодирования является фиксированной, изображение может не быть эффективно кодировано посредством отражения непрерывно меняющихся характеристик изображений.

Например, когда кодируется гладкая область, к примеру, море или небо, чем больше единица кодирования, тем больше может увеличиваться коэффициент сжатия. Тем не менее, когда кодируется сложная область, к примеру, люди или здания, чем меньше единица кодирования, тем больше может увеличиваться коэффициент сжатия.

Соответственно, в примерном варианте осуществления, различная максимальная единица кодирования изображений и различная максимальная глубина задаются для каждого кадра или слоя. Поскольку максимальная глубина обозначает максимальное число раз, на которое может снижаться единица кодирования, размер каждой минимальной единицы кодирования, включенной в максимальную единицу кодирования изображений, может переменно задаваться согласно максимальной глубине. Максимальная глубина может быть определена по-разному для каждого кадра или слоя либо для каждой максимальной единицы кодирования.

Модуль 120 определения глубины кодирования определяет форму разделения максимальной единицы кодирования. Форма разделения может быть определена на основе вычисления затрат на искажение в зависимости от скорости передачи (RD). Определенная форма разделения максимальной единицы кодирования предоставляется в кодер 140 информации кодирования, и данные изображений согласно максимальным единицам кодирования предоставляются в кодер 130 данных изображений.

Максимальная единица кодирования может быть разделена на субъединицы кодирования, имеющие различные размеры согласно различным глубинам, и субъединицы кодирования, имеющие различные размеры, которые включаются в максимальную единицу кодирования, могут быть предсказаны или преобразованы по частоте на основе единиц обработки, имеющих различные размеры. Другими словами, устройство 100 кодирования изображений может выполнять множество операций обработки для кодирования изображений на основе единиц обработки, имеющих различные размеры и различные формы. Чтобы кодировать данные изображений, выполняются такие операции обработки, как предсказание, преобразование и энтропийное кодирование, при этом для каждой операции могут использоваться единицы обработки, имеющие идентичный размер или же различные размеры.

Например, устройство 100 кодирования изображений может выбирать единицу обработки, которая отличается от единицы кодирования, чтобы предсказывать единицу кодирования.

Когда размер единицы кодирования равняется 2N×2N (где N является положительным целым числом), единицы обработки для предсказания могут равняться 2N×2N, 2N×N, N×2N и N×N. Другими словами, предсказание движения может быть выполнено на основе единицы обработки, имеющей форму, посредством которой, по меньшей мере, одно из высоты и ширины единицы кодирования поровну разделяется на две половины. В дальнейшем в этом документе, единица обработки, которая является основанием предсказания, задается как единица предсказания.

Режим предсказания может быть, по меньшей мере, одним из внутреннего режима, взаимного режима и режима пропуска, и конкретный режим предсказания может быть выполнен только для единицы предсказания, имеющей конкретный размер или конкретную форму. Например, внутренний режим может быть выполнен только для единиц предсказания, имеющих размеры 2N×2N и N×N, которые имеют форму квадрата. Дополнительно, режим пропуска может быть выполнен только для единицы предсказания, имеющей размер 2N×2N. Если множество единиц предсказания существует в единице кодирования, режим предсказания с наименьшим количеством ошибок кодирования может быть выбран после выполнения предсказания для каждой единицы предсказания.

Альтернативно, устройство 100 кодирования изображений может выполнять преобразование частоты для данных изображений на основе единицы обработки, имеющей размер, отличающийся от единицы кодирования. Для преобразования частоты в единице кодирования, преобразование частоты может быть выполнено на основе единицы обработки, имеющей размер, равный или меньший размера единицы кодирования. В дальнейшем в этом документе, единица обработки, которая является основанием преобразования частоты, задается как единица преобразования. Преобразование частоты может быть дискретным косинусным преобразованием (DCT) или преобразованием Карунена-Лоэва (KLT).

Модуль 120 определения глубины кодирования может определять субъединицы кодирования, включенные в состав максимальной единицы кодирования, с использованием RD оптимизации на основе множителя Лагранжа. Другими словами, модуль 120 определения глубины кодирования может определять то, какую форму имеет множество субъединиц кодирования, полученных разделением из максимальной единицы кодирования, при этом множество субъединиц кодирования имеет различные размеры согласно глубинам субъединиц кодирования. Кодер 130 данных изображений выводит поток битов посредством кодирования максимальной единицы кодирования на основе форм разделения, определенных модулем 120 определения глубины кодирования.

Кодер 140 информации кодирования кодирует информацию о режиме кодирования максимальной единицы кодирования, определенной модулем 120 определения глубины кодирования. Другими словами, кодер 140 информации кодирования выводит поток битов посредством кодирования информации о форме разделения максимальной единицы кодирования, информации о глубине и информации о режиме кодирования субъединицы кодирования для каждой глубины. Информация о режиме кодирования субъединицы кодирования может включать в себя информацию о единице предсказания субъединицы кодирования, информацию о режиме предсказания для каждой единицы предсказания и информацию о единице преобразования субъединицы кодирования.

Информация о форме разделения максимальной единицы кодирования может быть информацией флага, указывающей то, разделяется ли каждая единица кодирования. Например, когда максимальная единица кодирования разделяется и кодируется, кодируется информация, указывающая то, разделяется ли максимальная единица кодирования. Кроме того, когда субъединица кодирования, полученная разделением из максимальной единицы кодирования, разделяется и кодируется, кодируется информация, указывающая то, разделяется ли субъединица кодирования.

Поскольку субъединицы кодирования, имеющие различные размеры, существуют для каждой максимальной единицы кодирования, и информация о режиме кодирования определяется для каждой субъединицы кодирования, информация о по меньшей мере одном режиме кодирования может быть определена для одной максимальной единицы кодирования.

Устройство 100 кодирования изображений может формировать субъединицы кодирования посредством равного деления высоты и ширины максимальной единицы кодирования пополам согласно увеличению глубины. Т.е. когда размер единицы кодирования k-той глубины равняется 2N×2N, размер единицы кодирования (k+1)-вой глубины равняется N×N.

Соответственно, устройство 100 кодирования изображений может определять оптимальную форму разделения для каждой максимальной единицы кодирования на основе размеров максимальных единиц кодирования и максимальной глубины с учетом характеристик изображений. Посредством переменного регулирования размера максимальной единицы кодирования с учетом характеристик изображений и кодирования изображения через разделение максимальной единицы кодирования на субъединицы кодирования различных глубин, изображения, имеющие различные разрешения, могут быть кодированы более эффективно.

Фиг. 2 является блок-схемой устройства 200 декодирования изображений для декодирования изображения согласно примерному варианту осуществления. Устройство 200 декодирования изображений может быть реализовано как устройство, такое как, например, процессор компьютера или компьютерной системы. Устройство 200 декодирования изображений также может быть реализовано как программный модуль, постоянно размещающийся в компьютерной системе.

Как показано на фиг. 2, устройство 200 декодирования изображений включает в себя модуль 210 обнаружения данных изображений, модуль 220 извлечения информации кодирования и декодер 230 данных изображений, которые могут быть реализованы, например, в качестве аппаратных или программных модулей, интегрированных в устройство 200 декодирования изображений или выполненных отдельно от устройства 200 кодирования изображений.

Модуль 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, согласно увеличению глубины.

Тем не менее, поскольку максимальная глубина данных 320 изображений равняется 3, единица 325 кодирования набора 320 данных изображений может включать в себя максимальную единицу кодирования, больший размер оси которой равняется 64, и субъединицы кодирования, большие размеры оси которых равняются 32, 16, 8 и 4, согласно увеличению глубины. Поскольку изображение кодируется на основе меньшей субъединицы кодирования по мере того, как глубина увеличивается, примерные варианты осуществления являются подходящими для кодирования изображения, включающего в себя больше мгновенных сцен.

Фиг. 4 является блок-схемой кодера 400 изображений на основе единицы кодирования, согласно примерному варианту осуществления. Кодер 400 изображений может быть реализован как аппаратное устройство, такое как, например, процессор компьютера, или как программный модуль, постоянно размещающийся в компьютерной системе.

Модуль 410 внутреннего предсказания выполняет внутреннее предсказание для единиц предсказания внутреннего режима в текущем кадре 405, а модуль 420 оценки движения и модуль 425 компенсации движения выполняют взаимное предсказание и компенсацию движения для единиц предсказания взаимного режима с использованием текущего кадра 405 и опорного кадра 495. Модуль 410 внутреннего предсказания, модуль 420 оценки движения, модуль 425 компенсации движения и опорный кадр 495 могут быть реализованы, например, в качестве аппаратных или программных модулей, интегрированных в кодер 400 изображений или выполненных отдельно от кодера 400 изображений.

Остаточные значения формируются на основе вывода единиц предсказания из модуля 410 внутреннего предсказания, модуля 420 оценки движения и модуля 425 компенсации движения. Сформированные остаточные значения выводятся в качестве квантованных коэффициентов преобразования посредством прохождения через преобразователь 430 и квантователь 440.

Квантованные коэффициенты преобразования восстанавливаются в остаточные значения посредством прохождения через обратный квантователь 460 и обратный преобразователь 470, и восстановленные остаточные значения постобрабатываются посредством прохождения через модуль 480 удаления блочности и модуль 490 контурной фильтрации и выводятся в качестве опорного кадра 495. Квантованные коэффициенты преобразования могут выводиться в качестве потока 455 битов посредством прохождения через энтропийный кодер 450.

Чтобы выполнять кодирование на основе способа кодирования согласно примерному варианту осуществления, модуль 410 внутреннего предсказания, модуль 420 оценки движения, модуль 425 компенсации движения, преобразователь 430, квантователь 440, энтропийный кодер 450, обратный квантователь 460, обратный преобразователь 470, модуль 480 удаления блочности и модуль 490 контурной фильтрации кодера 400 изображений выполняют процессы кодирования изображений на основе максимальной единицы кодирования, субъединиц кодирования согласно глубинам, единицы предсказания и единицы преобразования.

Фиг. 5 является блок-схемой декодера 500 изображений на основе единицы кодирования, согласно примерному варианту осуществления. Декодер 500 изображений может быть реализован как аппаратное устройство, такое как, например, процессор компьютера, или как программный модуль, постоянно размещающийся в компьютерной системе.

Поток 505 битов проходит через синтаксический анализатор 510, так что кодированные данные изображений, которые должны быть декодированы, и информация кодирования, необходимая для декодирования, синтаксически анализируются. Кодированные данные изображений выводятся в качестве обратно квантованных данных посредством прохождения через энтропийный декодер 520 и обратный квантователь 530 и восстанавливаются в остаточные значения посредством прохождения через обратный преобразователь 540. Остаточные значения восстанавливаются согласно единицам кодирования посредством прибавления к результату внутреннего предсказания модуля 550 внутреннего предсказания или результату компенсации движения модуля 560 компенсации движения. Восстановленные единицы кодирования используются для предсказания следующих единиц кодирования или следующего кадра посредством прохождения через модуль 570 удаления блочности и модуль 580 контурной фильтрации. Синтаксический анализатор 510, энтропийный декодер 520, обратный квантователь 530, обратный преобразователь 540, модуль 550 внутреннего предсказания, модуль 560 компенсации, модуль 570 удаления блочности и модуль 580 контурной фильтрации могут быть реализованы, например, в качестве аппаратных или программных модулей, интегрированных в декодер 500 изображений или выполненных отдельно от декодера 500 изображений.

Чтобы выполнять декодирование на основе способа декодирования согласно примерному варианту осуществления, синтаксический анализатор 510, энтропийный декодер 520, обратный квантователь 530, обратный преобразователь 540, модуль 550 внутреннего предсказания, модуль 560 компенсации движения, модуль 570 удаления блочности и модуль 580 контурной фильтрации декодера 500 изображений выполняют процессы декодирования изображений на основе максимальной единицы кодирования, субъединицы кодирования согласно глубинам, единицы предсказания и единицы преобразования.

В частности, модуль 550 внутреннего предсказания и модуль 560 компенсации движения определяют единицу предсказания и режим предсказания в субъединице кодирования посредством рассмотрения максимальной единицы кодирования и глубины, и обратный преобразователь 540 выполняет обратное преобразование посредством рассмотрения размера единицы преобразования.

Фиг. 6 иллюстрирует максимальную единицу кодирования, субъединицу кодирования и единицу предсказания, согласно примерному варианту осуществления.

Устройство 100 кодирования изображений, проиллюстрированное на фиг. 1, и устройство 200 декодирования изображений, проиллюстрированное на фиг. 2, используют иерархические единицы кодирования, чтобы выполнять кодирование и декодирование с учетом характеристик изображений. Максимальная единица кодирования и максимальная глубина могут задаваться адаптивно согласно характеристикам изображений или задаваться разными способами согласно требованиям пользователя.

На фиг. 6, иерархическая структура 600 единиц кодирования имеет максимальную единицу 610 кодирования, которая является максимальной единицей кодирования, высота которой и ширина равняются 64, а максимальная глубина равняется 4. Глубина увеличивается вдоль вертикальной оси иерархической структуры 600 единиц кодирования, и, по мере того как глубина увеличивается, высота и ширина субъединиц 620-650 кодирования снижается. Единицы предсказания максимальной единицы 610 кодирования и субъединицы 620-650 кодирования показаны вдоль горизонтальной оси иерархической структуры 600 единиц кодирования.

Максимальная единица 610 кодирования имеет глубину, равную 0, и размер единицы кодирования, или высоту и ширину, 64×64. Глубина увеличивается вдоль вертикальной оси, и имеется первая субъединица 620 кодирования, размер которой равняется 32×32, а глубина равняется 1, вторая субъединица 630 кодирования, размер которой равняется 16×16, а глубина равняется 2, третья субъединица 640 кодирования, размер которой равняется 8x8, а глубина равняется 3, и минимальная единица 650 кодирования, размер которой равняется 4×4, а глубина равняется 4. Минимальная единица 650 кодирования, размер которой равняется 4×4, а глубина равняется 4, является минимальной единицей кодирования, при этом минимальная единица кодирования может быть разделена на единицы предсказания, каждая из которых меньше минимальной единицы кодирования.

На фиг. 6 примеры единиц предсказания показаны вдоль горизонтальной оси согласно каждой глубине. Т.е. единица предсказания максимальной единицы 610 кодирования, глубина которой равняется 0, может быть единицей предсказания, размер которой равен размеру 64×64 максимальной единицы кодирования, или единицей 612 предсказания, размер которой равняется 64×32, единицей 614 предсказания, размер которой равняется 32×64, или единицей 616 предсказания, размер которой равняется 32×32, которая имеет размер меньше размера максимальной единицы кодирования, размер которой равняется 64×64.

Единица предсказания первой субъединицы 620 кодирования, глубина которой равняется 1, и размер равняется 32×32, может быть единицей предсказания, размер которой равен размеру 32×32 первой субъединицы кодирования, или единицей 622 предсказания, размер которой равняется 32×16, единицей 624 предсказания, размер которой равняется 16×32, или единицей 626 предсказания, размер которой равняется 16×16, которая имеет размер меньше размера первой субъединицы 620 кодирования, размер которой равняется 32×32.

Единица предсказания второй субъединицы 630 кодирования, глубина которой равняется 2, и размер равняется 16×16, может быть единицей предсказания, размер которой равен размеру 16×16 второй субъединицы 630 кодирования, или единицей 632 предсказания, размер которой равняется 16×8, единицей 634 предсказания, размер которой равняется 8×16, или единицей 636 предсказания, размер которой равняется 8×8, которая имеет размер меньше размера второй субъединицы 630 кодирования, размер которой равняется 16×16.

Единица предсказания третьей субъединицы 640 кодирования, глубина которой равняется 3, и размер равняется 8×8, может быть единицей предсказания, размер которой равен размеру 8×8 третьей субъединицы 640 кодирования, или единицей 642 предсказания, размер которой равняется 8×4, единицей 644 предсказания, размер которой равняет