Способ и устройство для энтропийного кодирования/декодирования коэффициента преобразования

Иллюстрации

Показать все

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

Реферат

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

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

Предшествующий уровень техники

Согласно международным стандартам кодирования видео, таким как H.264 и MPEG-4, видеосигнал иерархически разбивается на последовательности, кадры, серии последовательных макроблоков, макроблоки и блоки, и блок является минимальной единицей обработки. В процессе кодирования остаточные данные блока получаются посредством выполнения внутрикадрового или межкадрового прогнозирования. Кроме того, остаточные данные сжимаются посредством выполнения преобразования, квантования, сканирования, кодирования по длинам серий и энтропийного кодирования. Процесс декодирования является обратным процессом процесса кодирования. Первоначально, коэффициенты блока преобразования, которые формируются в процессе энтропийного кодирования, извлекаются из потока битов. Затем, остаточные данные блока переконфигурируются посредством выполнения обратного квантования и обратного преобразования, и информация прогнозирования используется для того, чтобы переконфигурировать видеоданные блока.

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

Техническая задача

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

Техническое решение

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

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

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

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

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

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

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

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

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

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

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

Фиг.8A и 8B являются схемами, показывающими формы разбиения единиц кодирования, единиц прогнозирования и единиц преобразования согласно варианту осуществления настоящего изобретения.

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

Фиг.10 является справочной схемой для описания процесса энтропийного кодирования коэффициентов преобразования согласно вариантам осуществления настоящего изобретения.

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

Фиг.12 является блок-схемой устройства контекстно-адаптивного двоичного арифметического кодирования (CABAC) согласно варианту осуществления настоящего изобретения.

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

Фиг.14 показывает карту значимости, соответствующую фиг.10.

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

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

Фиг.17 является справочной схемой для описания способа энтропийного кодирования коэффициентов преобразования согласно другому варианту осуществления настоящего изобретения.

Фиг.18A и 18B являются справочными схемами для описания способа энтропийного кодирования коэффициентов преобразования согласно другому варианту осуществления настоящего изобретения.

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

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

Оптимальный режим осуществления изобретения

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Декодер 230 данных изображений может выполнять внутреннее (intra) прогнозирование или взаимное (inter) прогнозирование на основе информации относительно единиц прогнозирования и информации относительно режимов прогнозирования субъединиц кодирования, чтобы прогнозировать субъединицы кодирования. Кроме того, декодер 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, а максимальная глубина задается как 2.

Если разрешение является высоким или объем данных является большим, чтобы повышать коэффициент сжатия и точно отражать характеристики изображений, максимальный размер кодирования может быть относительно большим. Соответственно, для данных 310 и 320 изображений, имеющих разрешение, превышающее разрешение данных 330 изображений, размер максимальной единицы кодирования может быть выбран как 64×64.

Максимальная глубина представляет общее число уровней иерархических единиц кодирования. Поскольку максимальная глубина данных 310 изображений равняется 2, единицы 315 кодирования данных 310 изображений могут включать в себя максимальную единицу кодирования, имеющую размер по продольной оси 64, и субъединицы кодирования, имеющие размеры по продольной оси 32 и 16, по мере того, как увеличивается глубина.

Между тем, поскольку максимальная глубина данных 330 изображений равняется 2, единицы 335 кодирования данных 330 изображений могут включать в себя максимальные единицы кодирования, имеющие размер по продольной оси 16, и субъединицы кодирования, имеющие размеры по продольной оси 8 и 4, по мере того, как увеличивается глубина.

Поскольку максимальная глубина данных 320 изображений равняется 4, единицы 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. Квантованные коэффициенты преобразования также могут проходить через энтропийный кодер 450 так, что они выводятся в качестве потока 455 битов.

Чтобы кодировать изображение на основе способа кодирования изображений согласно варианту осуществления настоящего изобретения, все компоненты кодера 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 кодирования изображений, проиллюстрированное на фиг.1, и устройство 200 декодирования изображений, проиллюстрированное на фиг.2, используют иерархические единицы кодирования для того, чтобы выполнять кодирование и декодирование с учетом характеристик изображений. Максимальная единица кодирования и максимальная глубина могут быть адаптивно заданы согласно характеристикам изображений или могут по-разному задаваться согласно запросам пользователя.

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

Максимальная единица 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 прогнозирования, имеющую размер 4×4. Тем не менее, единица 650 кодирования, имеющая максимальную глубину, не должна неизменно включать в себя единицу прогнозирования, имеющую размер, равный размеру единицы кодирования, и может, аналогично другим единицам 610, 620, 630 и 640 кодирования, разбиваться для прогнозирования на единицы прогнозирования, имеющие размер, меньший размера единицы кодирования.

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

Устройство 100 кодирования изображений, проиллюстрированное на фиг.1, и устройство 200 декодирования изображений, проиллюстрированное на фиг.2, кодируют максимальную единицу кодирования или субъединицы кодирования, разбитые и имеющие размеры, меньшие размера максимальной единицы кодирования. Размер единицы преобразования для выполнения ортогонального преобразования в процессе кодирования может быть выбран таким образом, чтобы достигать наибольшего коэффициента сжатия независимо от единицы кодирования и единицы прогнозирования. Например, если текущая единица 710 кодирования имеет размер 64×64, ортогональное преобразование может быть выполнено посредством использования единицы 720 преобразования, имеющей размер 32×32. Кроме того, может задаваться единица преобразования, имеющая размер, превышающий размер единицы кодирования.

Фиг.8A и 8B являются схемами, показывающими формы разбиения единиц кодирования, единиц прогнозирования и единиц преобразования согласно варианту осуществления настоящего изобретения.

Фиг.8A показывает единицы кодирования и единицы прогнозирования согласно варианту осуществления настоящего изобретения.

Левая сторона фиг.8A показывает форму разбиения, выбранную посредством устройства 100 кодирования изображений, проиллюстрированного на фиг.1, чтобы кодировать максимальную единицу 810 кодирования. Устройство 100 кодирования изображений разбивает и кодирует максимальную единицу 810 кодирования в различные формы, сравнивает кодированные формы разбиения на основе функции R-D-затрат и выбирает оптимальную форму разбиения. Если оптимальная форма разбиения соответствует максимальной единице 810 кодирования, максимальная единица 810 кодирования может быть непосредственно кодирована без разбиения, как проиллюстрировано на фиг.8A.

Ссылаясь на левую сторону фиг.8A, максимальная единица 810 кодирования, имеющая глубину 0, разбивается и кодируется в субъединицы кодирования, имеющие глубины, равные или превышающие 1. Максимальная единица 810 кодирования разбивается на четыре субъединицы кодирования, имеющие глубину 1, и затем все или некоторые субъединицы кодирования, имеющие глубину 1, разбиваются на субъединицы кодирования, имеющие глубину 2.

Из субъединиц кодирования, имеющих глубину 1, верхняя правая субъединица кодирования и нижняя левая субъединица кодирования разбиваются на субъединицы кодирования, имеющие глубины, равные или превышающие 2. Некоторые субъединицы кодирования, имеющие глубины, равные или превышающие 2, могут разбиваться на субъединицы кодирования, имеющие глубины, равные или превышающие 3.

Правая сторона фиг.8A показывает форму разбиения единицы 860 прогнозирования касательно максимальной единицы 810 кодирования.