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

Иллюстрации

Показать все

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

Реферат

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

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

УРОВЕНЬ ТЕХНИКИ

Энтропийное (статистическое) кодирование в традиционных технологиях кодирования видео, в основном, принимает кодирование длин серий и арифметическое кодирование. Например, в стандарте кодирования H.264 применяют контекстно-адаптивный кодер с переменной длиной кодового слова (контекстно-зависимый адаптивный кодер с переменной длиной кодового слова, CAVLC) и контекстно-адаптивный двоичный арифметический кодер (контекстно-зависимый адаптивный двоичный арифметический кодер, CABAC). Два режима энтропийного кодирования полностью используют корреляцию между кодированной информацией и информацией, которую следует в текущий момент. В частности, кодовая таблица или вероятностная модель информации, которую следует кодировать в текущий момент, строится с использованием кодированной информации, что называют контекстно-зависимым энтропийным кодированием. Благодаря использованию концепции арифметического кодирования, CABAC обладает более высокой эффективностью кодирования, чем CAVLC, но является намного сложнее. Вследствие использования контекстной информации текущая информация кодирования не может быть кодирована, пока полностью не кодирована смежная информация кодирования, в то время как параллельные операции не могут быть выполнены. В результате, алгоритм энтропийного кодирования становится критическим элементом при кодировании и декодировании. Для повышения эффективности кодирования создаваемый стандарт видеокодирования, Высокоэффективное Видеокодирование (HEVC), который является стандартом сжатия видео следующего поколения, предлагает следующие процедуры арифметического кодирования:

A. Кодировать карту ненулевых коэффициентов преобразования (карту значимости). На данном этапе полный блок коэффициентов преобразования, который должен быть кодирован, кодируется в предварительно определенном порядке сканирования, который также называют режимом широкодиапазонного сканирования, например, широкодиапазонным Z-образным (зигзагообразным) режимом; при этом предварительно определенный порядок сканирования также может быть порядком сканирования в широкодиапазонном вертикальном или широкодиапазонном горизонтальном режиме, и, соответственно, когда кодирование выполняется последовательно в субблочном режиме, применяется порядок сканирования в узкодиапазонном вертикальном режиме или узкодиапазонном горизонтальном режиме.

В процедуре выполнения этапа A каждая частота соответствует позиции на карте. Когда частота равна 0, значение соответствующей позиции на карте равно 0; когда частота имеет ненулевое значение, значение соответствующей позиции на карте равно 1. Кроме того, выполняется оценка, является ли текущая частота последней ненулевой частотой. Если текущая частота является последней ненулевой частотой, то значение соответствующей позиции равно 11 (две 1, а не одиннадцать); иначе, значение позиции равно 10 (1 и 0, а не десять). В процедуре кодирования карты, если в последовательности 0 (нулей) и 1 (единиц), представляющей карту, появляется 11, то определяется, что блок коэффициентов преобразования кодирован полностью.

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

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

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

На вышеприведенных этапах субблочный режим задают при использовании блока 8×8 коэффициентов преобразования, например, следующим образом: сначала кодируется верхний левый блок 4×4 коэффициентов преобразования, затем верхний правый блок 4×4 коэффициентов преобразования, нижний левый блок 4×4 коэффициентов преобразования и нижний правый блок 4×4 коэффициентов преобразования. Вышеупомянутые блоки 4×4 коэффициентов преобразования являются субблоками блока 8×8 коэффициентов преобразования. Порядок сканирования широкодиапазонного зигзагообразного режима и порядок сканирования узкодиапазонного зигзагообразного режима показаны на фиг.1A и фиг.1B, соответственно, где каждый малый квадрат представляет частоту, и числа в квадратах представляют порядок сканирования. Очевидно, что порядок сканирования широкодиапазонного зигзагообразного режима и узкодиапазонного зигзагообразного режима основан на одном и том же правиле сканирования. Однако, для разных сканируемых объектов, с точки зрения всего блока коэффициентов преобразования, порядок сканирования различается между этапом A кодирования карты значимости и этапами с этапа В по этап D кодирования абсолютных значений (уровней) коэффициентов преобразования и кодирования положительного и отрицательного знаков (знаков) ненулевых коэффициентов преобразования. Вследствие другого порядка сканирования данные должны быть считаны один раз, соответственно, в процедуре выполнения этапа A и выполнения этапов с этапа В по этап D; и в декодирующей части должны быть зафиксированы два режима табличного поиска, соответствующие двум типам порядка, что обуславливает высокие затраты ресурсов на кодирование и декодирование и низкую эффективность. Кроме того, на этапе A, если блок коэффициентов преобразования относительно велик, который обычно называют большим блоком преобразования, например, картой значимости 32×32, то кодирование большой карты значимости приводит к большим затратам во время проектирования аппаратного обеспечения.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

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

Способ для кодирования коэффициентов преобразования содержит этапы, на которых:

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

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

Способ для декодирования коэффициентов преобразования содержит этапы, на которых:

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

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

Устройство для кодирования коэффициентов преобразования содержит:

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

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

Устройство для декодирования коэффициентов преобразования содержит:

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

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

Фиг.1A - схема широкодиапазонного зигзагообразного порядка сканирования;

фиг.1B - схема узкодиапазонного зигзагообразного порядка сканирования;

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

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

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

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

ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ

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

Как показано на фиг.2, способ для кодирования коэффициентов преобразования содержит следующие этапы:

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

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

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

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

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

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

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

Как показано на фиг.3, способ для декодирования коэффициентов преобразования содержит следующие этапы:

301. Анализировать (синтаксически) коэффициенты преобразования потока битов в соответствии с предварительно определенным порядком сканирования для получения карты ненулевых коэффициентов преобразования.

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

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

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

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

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

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

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

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

Пример 1: Принято, что предварительно определенный порядок сканирования установлен в режим широкодиапазонного сканирования. Если предварительно определенный порядок сканирования установлен в режим широкодиапазонного Z-образного (зигзагообразного) сканирования, ссылка может быть сделана на фиг.1A.

Кодирующая часть последовательно выполняет следующие операции:

(1) Кодировать карту значимости первых 16 коэффициентов в соответствии с предварительно определенным порядком сканирования блока 8×8 коэффициентов преобразования и сохранить кодированную карту значимости в буфере; кодировать последовательно карту коэффициентов, больших 1, абсолютные значения коэффициентов, больших 1, и положительные и отрицательные знаки коэффициентов и сохранить полученные уровни и знаки в буфере.

(2) Кодировать карту значимости следующих 16 коэффициентов в порядке сканирования в соответствии с предварительно определенным порядком сканирования блока 8×8 коэффициентов преобразования и сохранить кодированную карту значимости в буфере; кодировать последовательно карту коэффициентов, больших 1, абсолютные значения коэффициентов, больших 1, и положительные и отрицательные знаки коэффициентов и сохранить полученные уровни и знаки в буфере.

(3) Кодировать карту значимости следующих 16 коэффициентов в порядке сканирования в соответствии с предварительно определенным порядком сканирования блока 8×8 коэффициентов преобразования и сохранить кодированную карту значимости в буфере; кодировать последовательно карту коэффициентов, больших 1, абсолютные значения коэффициентов, больших 1, и положительные и отрицательные знаки коэффициентов и сохранить полученные уровни и знаки в буфере.

(4) Кодировать карту значимости последних 16 коэффициентов в порядке сканирования в соответствии с предварительно определенным порядком сканирования блока 8×8 коэффициентов преобразования и кодировать информацию карт значимости в буфере и полученную информацию карты значимости последних 16 коэффициентов в поток битов; кодировать последовательно карту коэффициентов, больших 1, абсолютные значения коэффициентов, больших 1, и положительные и отрицательные знаки коэффициентов и кодировать информацию уровней и знаков в буфере и полученные уровни и знаки последних 16 коэффициентов в поток битов. После того как кодирование завершено, кодирующая часть может отправлять поток битов в декодирующую часть. Следует понимать, что информацию флага окончания получают, когда кодируют карту значимости последних коэффициентов.

Декодирующая часть последовательно выполняет следующие операции:

(1) Считывать поток битов и анализировать численные значения карты значимости в соответствии с предварительно определенным порядком сканирования блока 8×8 коэффициентов преобразования. На данном этапе можно непосредственно анализировать численные значения карты значимости 64 коэффициентов.

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

(2) Считать поток битов и анализировать, в соответствии с предварительно определенным порядком сканирования блока 8×8 коэффициентов преобразования, карту коэффициентов, больших 1, абсолютные значения коэффициентов, больших 1, и положительные и отрицательные знаки всех ненулевых коэффициентов первых 16 коэффициентов в порядке сканирования.

(3) Считывать поток битов и анализировать, в соответствии с предварительно определенным порядком сканирования блока 8×8 коэффициентов преобразования, карту коэффициентов, больших 1, абсолютные значения коэффициентов, больших 1, и положительные и отрицательные знаки всех ненулевых коэффициентов следующих 16 коэффициентов в порядке сканирования.

(4) Считывать поток битов и анализировать, в соответствии с предварительно определенным порядком сканирования блока 8×8 коэффициентов преобразования, карту коэффициентов, больших 1, абсолютные значения коэффициентов, больших 1, и положительные и отрицательные знаки всех ненулевых коэффициентов следующих 16 коэффициентов в порядке сканирования.

(5) Считывать поток битов и анализировать, в соответствии с предварительно определенным порядком сканирования блока 8×8 коэффициентов преобразования, карту коэффициентов, больших 1, абсолютные значения коэффициентов, больших 1, и положительные и отрицательные знаки всех ненулевых коэффициентов последних 16 коэффициентов в порядке сканирования.

Пример 2: Принято, что предварительно определенный порядок сканирования установлен в режим узкодиапазонного сканирования. Если предварительно определенный порядок сканирования установлен в режим узкодиапазонного Z-образного (зигзагообразного) сканирования, то ссылка может быть сделана на фиг.1B.

Кодирующая часть последовательно выполняет следующие операции:

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

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

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

4. Выбрать нижние правые 4×4 точки в позиции частотной области и кодировать карту значимости в соответствии с предварительно определенным порядком сканирования 4×4 точек, кодировать информацию карты значимости в буфере и полученную информацию карты значимости последних 16 коэффициентов (полученная информация карты значимости последних 16 коэффициентов содержит информацию окончания карты) в поток битов; кодировать последовательно карту коэффициентов, больших 1, абсолютные значения коэффициентов, больших 1, и положительные и отрицательные знаки ненулевых коэффициентов и кодировать информацию уровней и знаков в буфере и полученные уровни и знаки последних 16 коэффициентов в поток битов.

Декодирующая часть последовательно выполняет следующие операции:

(1) Считывать поток битов; анализировать численные значения карты значимости первых 16 точек в соответствии с предварительно определенным порядком сканирования 4×4 точек и сохранить численные значения в верхнем левом субблоке карты; анализировать численные значения карты значимости следующих 16 точек в соответствии с предварительно определенным порядком сканирования 4×4 точек и сохранить численные значения в верхнем правом субблоке карты; анализировать численные значения карты значимости следующих 16 точек в соответствии с предварительно определенным порядком сканирования 4×4 точек и сохранить численные значения в нижнем левом субблоке карты; и анализировать численные значения карты значимости последних 16 точек в соответствии с предварительно определенным порядком сканирования 4×4 точек и сохранить численные значения в нижнем правом субблоке карты.

(2) Считывать поток битов и анализировать, в соответствии с предварительно определенным порядком сканирования 4×4 точек, карту коэффициентов, больших 1, абсолютные значения коэффициентов, больших 1, и положительные и отрицательные знаки всех ненулевых коэффициентов первых 16 коэффициентов и использовать результаты в качестве коэффициентов в позиции верхнего левого субблока.

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

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

(5) Считывать поток битов и анализировать, в соответствии с предварительно определенным порядком сканирования 4×4 точек, карту коэффициентов, больших 1, абсолютные значения коэффициентов, больших 1, и положительные и отрицательные знаки всех ненулевых коэффициентов последних 16 коэффициентов и использовать результаты в качестве коэффициентов в позиции нижнего правого субблока.

Как показано на фиг.4, устройство для кодирования коэффициентов преобразования содержит:

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

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

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

кодирование коэффициентов преобразования блока коэффициентов преобразования в соответствии с порядком сканирования в режиме широкодиапазонного сканирования; или

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

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

Как показано на фиг.5, устройство для декодирования коэффициентов преобразования содержит:

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

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

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

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