Кодирование коэффициентов преобразования
Иллюстрации
Показать всеГруппа изобретений относится к области кодирования и может быть использована для кодирования коэффициентов преобразования. Техническим результатом является снижение сложности и повышение эффективности кодирования. Устройство для декодирования содержит контекстно-адаптивный энтропийный декодер (80), десимволизатор (82), средство (84) извлечения, определитель (86) параметра символизации. 9 н. и 35 з.п. ф-лы, 15 ил., 1 табл.
Реферат
Настоящее изобретение относится к кодированию коэффициентов преобразования, таких как коэффициенты преобразования блока коэффициентов преобразования изображения.
В кодеках для блочного изображения и/или видеоизображение или кадр кодируется в единицах блоков. Среди них кодеки на основе преобразования подвергают блоки изображения или кадра преобразованию для получения блоков коэффициентов преобразования. Например, изображение или кадр может кодироваться с предсказанием, причем остаток предсказания кодируется с преобразованием в единицах блоков и затем кодируются результирующие уровни коэффициентов преобразования коэффициентов преобразования этих блоков преобразования, используя энтропийное кодирование.
Чтобы повысить эффективность энтропийного кодирования, используются контексты, чтобы точно оценить вероятность символов уровней коэффициента преобразования, подлежащих кодированию. Однако в последние годы повысились требования, налагаемые на кодеки картинок и/или изображений. В дополнение к яркостной и цветовой составляющим кодеки иногда должны передавать карты глубины, значения прозрачности и т. п. Кроме того, размеры блока преобразования являются переменными во все большем и большем интервале. Вследствие этого многообразия кодеки имеют все большее и большее количество разных контекстов с разными функциями для определения контекста из уже кодированных коэффициентов преобразования.
Другой возможностью достижения высокой степени сжатия при умеренной сложности является насколько возможно точная корректировка схемы символизации статистики коэффициентов. Однако, чтобы точно выполнять эту адаптацию к фактической статистике, также является обязательным учет различных факторов, тем самым делая необходимым огромное количество различающихся схем символизации.
Следовательно, существует потребность в сохранении низкой сложности кодирования коэффициентов преобразования, в то же время поддерживая возможность достижения высокой эффективности кодирования.
Задачей настоящего изобретения является обеспечение такой схемы кодирования коэффициентов преобразования.
Эта задача достигается предметом находящихся на рассмотрении независимых пунктов формулы изобретения.
Согласно аспекту настоящего изобретения устройство для кодирования множества коэффициентов преобразования, имеющих уровни коэффициента преобразования, в поток содержит символизатор, выполненный с возможностью отображения текущего коэффициента преобразования на первый набор из одного или нескольких символов в соответствии с первой схемой символизации, причем уровень коэффициента преобразования текущего коэффициента преобразования находится в пределах первого интервала уровней, и, если уровень коэффициента преобразования текущего коэффициента преобразования находится в пределах второго интервала уровней, на объединение из второго набора символов, на который отображается максимальный уровень первого интервала уровней в соответствии с первой схемой символизации, и третьего набора символов в зависимости от положения уровня коэффициента преобразования текущего коэффициента преобразования в пределах второго интервала уровней, в соответствии со второй схемой символизации, которая является параметризуемой в соответствии с параметром символизации. Кроме того, устройство содержит контекстно-адаптивный энтропийный кодер, выполненный с возможностью, если уровень коэффициента преобразования текущего коэффициента преобразования находится в пределах первого интервала уровней, энтропийного кодирования первого набора из одного или нескольких символов в поток данных, и, если уровень коэффициента преобразования текущего коэффициента преобразования находится в пределах второго интервала уровней, энтропийного кодирования второго набора из одного или нескольких символов в поток данных, в котором контекстно-адаптивный энтропийный кодер выполнен с возможностью, при энтропийном кодировании по меньшей мере одного предопределенного символа второго набора из одного или нескольких символов в поток данных, использования контекста в зависимости, посредством функции, параметризуемой посредством параметра функции, с параметром функции, установленным в первую установку, от ранее кодированного коэффициента преобразования. Кроме того, устройство содержит определитель параметра символизации, выполненный с возможностью, если уровень коэффициента преобразования текущего коэффициента преобразования находится в пределах второго интервала уровней, определения параметра символизации для отображения на третий набор символов в зависимости, посредством функции с параметром функции, установленным на вторую установку, от ранее кодированных коэффициентов преобразования. Средство вставки выполнено с возможностью, если уровень коэффициента преобразования текущего коэффициента преобразования находится в пределах второго интервала уровней, вставки третьего набора символов в поток данных.
Согласно другому аспекту настоящего изобретения устройство для кодирования множества коэффициентов преобразования разных блоков преобразования, причем каждый имеет уровень коэффициента преобразования, в поток данных содержит символизатор, выполненный с возможностью отображения уровня коэффициента преобразования для текущего коэффициента преобразования в соответствии со схемой символизации, которая является параметризуемой в соответствии с параметром символизации, на набор символов; средство вставки, выполненное с возможностью вставки набора символов для текущего коэффициента преобразования в поток данных; и определитель параметра символизации, выполненный с возможностью определения параметра символизации для текущего коэффициента преобразования в зависимости, посредством функции, параметризуемой посредством параметра функции, от ранее обработанных коэффициентов преобразования, в котором устройства вставки, десимволизатор и определитель параметра символизации выполнены с возможностью последовательной обработки коэффициентов преобразования разных блоков преобразования, в котором параметр функции изменяется в зависимости от размера блока преобразования текущего коэффициента преобразования, типа информационной составляющей блока преобразования текущего коэффициента преобразования и/или частотного участка, на котором располагается текущий коэффициент преобразования в блоке преобразования.
Идеей настоящего изобретения является использование одной и той же функции для зависимости контекста и зависимости параметра символизации от ранее кодированных/декодированных коэффициентов преобразования. Использование одной и той же функции - с изменяющимся параметром функции - может даже использоваться в отношении разных размеров блока преобразования и/или частотных участков блоков преобразования в случае коэффициентов преобразования, пространственно расположенных в блоках преобразования. Другой разновидностью этой идеи является использование одной и той же функции для зависимости параметра символизации от ранее кодированных/декодированных коэффициентов преобразования для различных размеров блока преобразования текущего коэффициента преобразования, разных типов информационной составляющей блока преобразования текущего коэффициента преобразования и/или разных частотных участков, на которых располагается текущий коэффициент преобразования в блоке преобразования.
Подробные и выгодные аспекты настоящего изобретения являются предметом зависимых пунктов формулы изобретения. Кроме того, предпочтительные варианты осуществления настоящего изобретения описываются ниже в отношении фигур, среди которых:
фиг. 1 изображает схему блока коэффициентов преобразования, содержащего коэффициенты преобразования, подлежащие кодированию, и изображает совместное использование параметризуемой функции для выбора контекста и определения параметра символизации в соответствии с вариантом осуществления настоящего изобретения;
фиг. 2 изображает схему принципа символизации для уровней коэффициента преобразования, использующего две разные схемы в двух интервалах уровней;
фиг. 3 изображает схематический график двух кривых вероятности появления, определенных по возможным уровням коэффициента преобразования для двух разных контекстов;
фиг. 4 изображает блок-схему устройства для кодирования множества коэффициентов преобразования согласно варианту осуществления;
фиг. 5a и 5b изображают схемы структуры для результирующего потока данных согласно разным вариантам осуществления;
фиг. 6 изображает блок-схему кодера изображений согласно варианту осуществления;
фиг. 7 изображает блок-схему устройства для декодирования множества коэффициентов преобразования согласно варианту осуществления;
фиг. 8 изображает блок-схему декодера изображений согласно варианту осуществления;
фиг. 9 изображает схему блока коэффициентов преобразования для иллюстрации сканирования и шаблона согласно варианту осуществления;
фиг. 10 изображает блок-схему устройства для декодирования множества коэффициентов преобразования согласно другому варианту осуществления;
фиг. 11a и 11b изображают схемы принципов символизации для уровней коэффициента преобразования, объединяющих две или три разные схемы в пределах частичных интервалов всего диапазона интервалов;
фиг. 12 изображает блок-схему устройства для кодирования множества коэффициентов преобразования согласно другому варианту осуществления; и
фиг. 13 изображает схему блока коэффициентов преобразования для иллюстрации, согласно другому варианту осуществления, порядка сканирования среди блоков коэффициентов преобразования, следуя порядку подблоков, определенному среди подблоков, на которые блок коэффициентов преобразования подразделяется, чтобы иллюстрировать другой вариант осуществления для разработки параметризуемой функции для выбора контекста и определения параметра символизации.
В отношении описания ниже отмечается, что одни и те же ссылочные позиции используются на этих фигурах для элементов, встречающихся на более чем одной из этих фигур. Следовательно, описание такого элемента в отношении одной фигуры в равной степени должно применяться к описанию другой фигуры, на которой встречается этот элемент.
Кроме того, описание, представленное ниже, предварительно предполагает, что коэффициенты преобразования кодируются как двумерно расположенные, чтобы формировать блок преобразования, такой как блок преобразования картинки. Однако настоящая заявка не ограничивается кодированием изображения и/или видео. Скорее, подлежащие кодированию коэффициенты преобразования альтернативно могут представлять собой коэффициенты преобразования одномерного преобразования, такого как, например, используемые, например, при кодировании аудио или т. п.
Чтобы объяснить проблемы, с которыми сталкиваются варианты осуществления, описанные ниже, и то, как варианты осуществления, описанные ниже, решают эти проблемы, ссылка предварительно делается на фиг. 1-3, которые изображают пример коэффициентов преобразования блока преобразования и их общий метод энтропийного кодирования, который затем улучшается описанными ниже вариантами осуществления.
Фиг. 1 в качестве примера изображает блок 10 коэффициентов 12 преобразования. В настоящем варианте осуществления коэффициенты преобразования расположены двумерно. В частности, они показаны в качестве примера как регулярно расположенные по столбцам и строкам, хотя также возможно другое двумерное расположение. Преобразованием, которое привело к коэффициентам 12 преобразования или блоку 10 преобразования, может быть дискретное косинусное преобразование (DCT) или некоторое другое преобразование, которое разбивает блок (преобразования) картинки, например, или некоторый другой блок пространственно расположенных значений на составляющие с разной пространственной частотой. В настоящем примере на фиг. 1 коэффициенты 12 преобразования расположены двумерно в столбцах i и строках j, чтобы соответствовать частотным парам (fx(i), fy(j)) частот fx(i), fy(j), измеренных по разным пространственным направлениям x, y, таким как направления, перпендикулярные друг другу, где fx/y(i)<fx/y(i+1), и (i,j) представляет собой положение соответствующего коэффициента в блоке 10 преобразования.
Часто коэффициенты 12 преобразования, соответствующие более низким частотам, имеют более высокие уровни коэффициента преобразования по сравнению с коэффициентами преобразования, соответствующими более высоким частотам. Следовательно, часто многие коэффициенты преобразования около составляющих с самыми высокими частотами блока 10 преобразования квантуются в ноль и могут не иметь необходимости кодирования. Скорее, порядок 14 сканирования может определяться среди коэффициентов 12 преобразования, который одномерно располагает двумерно расположенные коэффициенты 12 (i,j) преобразования в последовательность коэффициентов по порядку, т. е. (i,j)→k, так что вероятно, что уровни коэффициента преобразования имеют тенденцию монотонного уменьшения по этому порядку, т. е. вероятно, что уровень коэффициента коэффициента k больше уровня коэффициента коэффициента k+1.
Например, зигзагообразное или растровое сканирование может определяться среди коэффициентов 12 преобразования. В соответствии со сканированием блок 10 может сканироваться по диагоналям, например, от коэффициента преобразования составляющей постоянного тока (DC) (верхний левый коэффициент) до коэффициента преобразования с самой большой частотой (нижний правый коэффициент) или наоборот. Альтернативно может использоваться сканирование по строкам или по столбцам коэффициентов преобразования между только что упомянутыми коэффициентами преобразования крайних составляющих.
Как описано дополнительно ниже, при кодировании блока преобразования положение последнего ненулевого коэффициента L преобразования в порядке 14 сканирования сначала может кодироваться в поток данных, причем затем просто кодируются коэффициенты преобразования из DC-коэффициента преобразования по пути 14 сканирования до последнего ненулевого коэффициента L преобразования - необязательно по этому направлению или противоположному направлению.
Коэффициенты 12 преобразования имеют уровни коэффициента преобразования, которые могут быть со знаком или без знака. Например, коэффициенты 12 преобразования могут быть получены посредством вышеупомянутого преобразования с последующим квантованием в набор возможных значений квантования, причем каждый ассоциируется с соответствующим уровнем коэффициента преобразования. Функция квантования, используемая для квантования коэффициентов преобразования, т. е. отображения коэффициентов преобразования на уровни коэффициента преобразования, может быть линейной или нелинейной. Другими словами, каждый коэффициент 12 преобразования имеет уровень коэффициента преобразования из интервала возможных уровней. Фиг. 2, например, изображает пример, где уровни x коэффициента преобразования определяются в диапазоне уровней [0, 2N-1]. Согласно альтернативному варианту осуществления может не быть верхней границы диапазона интервала. Кроме того, фиг. 2 иллюстрирует только положительные уровни коэффициента преобразования, хотя они также могут быть со знаком. Что касается знаков коэффициентов 12 преобразования и их кодирования, необходимо отметить, что существуют разные возможности в отношении всех вариантов осуществления, кратко изложенных ниже, чтобы кодировать эти знаки, и все эти возможности должны быть в пределах объема этих вариантов осуществления. Что касается фиг. 2, это означает, что также может не быть нижней границы интервала диапазона уровней коэффициента преобразования.
В любом случае, чтобы кодировать уровни коэффициента преобразования коэффициентов 12 преобразования, используются разные схемы символизации, чтобы охватывать разные участки или интервалы 16, 18 интервала 20 диапазона. Более точно, уровни коэффициента преобразования в пределах первого интервала 16 уровней, за исключением тех, которые равны максимальному уровню первого интервала 16 уровней, могут просто символизироваться в набор из одного или нескольких символов в соответствии с первой схемой символизации. Уровни коэффициента преобразования, однако, лежащие в пределах второго интервала 18 уровней, отображаются на объединение наборов символов первой и второй схем символизации. Как будет отмечено ниже, третий и дальнейшие интервалы могут следовать, соответствующим образом, за вторым интервалом.
Как показано на фиг. 2, второй интервал 18 уровней лежит выше первого интервала 16 уровней, но перекрывается с последним на максимальном уровне первого интервала 16 уровней, которым является 2 в примере на фиг. 2. Для уровней коэффициента преобразования, лежащих в пределах второго интервала 18 уровней, соответствующий уровень отображается на объединение первого набора символов, соответствующего максимальному уровню первого интервала уровней в соответствии с первой схемой символизации, и второго набора символов в зависимости от положения уровня коэффициента преобразования в пределах второго интервала 18 уровней в соответствии со второй схемой символизации.
Другими словами, первая схема 16 символизации отображает уровни, охватываемые первым интервалом 16 уровней, на набор первых последовательностей символов. Изобретатели просят отметить, что длительность последовательностей символов в пределах набора последовательностей символов первой схемы символизации может даже быть просто одним двоичным символом в случае двоичного алфавита и в случае первого интервала 16 уровней, просто охватывающего два уровня коэффициента преобразования, таких как 0 и 1. Согласно варианту осуществления настоящей заявки, первая схема символизации представляет собой усеченную унарную бинаризацию уровней в интервале 16. В случае двоичного алфавита символы могут называться бинами.
Как описано более подробно ниже, вторая схема символизации отображает уровни в пределах второго интервала 18 уровней на набор вторых последовательностей символов с изменяющейся длительностью, причем вторая схема символизации является параметризуемой в соответствии с параметром символизации. Вторая схема символизации может отображать уровни в пределах интервала 18, т. е. x - максимальный уровень первого интервала, на код Райса, имеющий параметр Райса.
В частности, вторая схема 18 символизации может быть выполнена так, что параметр символизации изменяет частоту, с которой длительность последовательностей символов второй схемы увеличивается от нижней границы второго интервала 18 уровней до его верхней границы. Очевидно, что увеличенная длительность последовательностей символов расходует большую частоту передачи данных в потоке данных, в который должны кодироваться коэффициенты преобразования. Обычно предпочтительно, если длительность последовательности символов, на которую отображается некоторый уровень, коррелируется с фактической вероятностью, с которой уровень коэффициента преобразования, подлежащий кодированию в данный момент, принимает соответствующий уровень. Конечно, последнее утверждение также действительно для уровней вне второго интервала 18 уровней в пределах первого интервала 16 уровней или для первой схемы символизации в общем.
В частности, как показано на фиг. 3, коэффициенты преобразования обычно проявляют некоторую статистику или вероятность появления некоторых уровней коэффициента преобразования. Фиг. 3 изображает график, ассоциирующий с каждым возможным уровнем x коэффициента преобразования вероятность, с которой соответствующий уровень коэффициента преобразования фактически принимается рассматриваемым коэффициентом преобразования. Более точно фиг. 3 изображает две такие ассоциации или кривые распределения вероятности, а именно для двух коэффициентов разных контекстов. Т. е. фиг. 3 предполагает, что коэффициенты преобразования различаются по их контексту, такому как определенному значениями коэффициента преобразования соседних коэффициентов преобразования. В зависимости от контекста фиг. 3 изображает, что кривая распределения вероятности, которая ассоциирует значение вероятности с каждым уровнем коэффициента преобразования, может зависеть от контекста рассматриваемого коэффициента преобразования.
Согласно описанным ниже вариантам осуществления символы последовательностей символов первой схемы 16 символизации энтропийно кодируются контекстно-адаптивным образом. Т. е. контекст ассоциируется с символами, и распределение вероятностей алфавита, ассоциированное с выбранным контекстом, используется для энтропийного кодирования соответствующего символа. Символы последовательностей символов второй схемы символизации вставляются в поток данных непосредственно или используя распределение фиксированной вероятности алфавита, такое равновероятное распределение, согласно которому все элементы алфавита равновероятны.
Контексты, используемые при энтропийном кодировании символов первой схемы символизации, должны выбираться надлежащим образом, чтобы иметь возможность получения хорошей адаптации оцененного распределения вероятности алфавита к фактической статистике алфавита. Т. е. схема энтропийного кодирования может быть выполнена с возможностью обновления текущей оценки распределения вероятности алфавита контекста, всякий раз когда кодируется/декодируется символ, имеющий этот контекст, тем самым аппроксимируя фактическую статистику алфавита. Аппроксимация является более быстрой, если контексты выбираются надлежащим образом, т. е. достаточно точно, но не со слишком многими разными контекстами, чтобы избежать слишком редкой ассоциации символов с некоторыми контекстами.
Подобно параметр символизации для коэффициента должен выбираться в зависимости от ранее кодированных/декодированных коэффициентов, чтобы аппроксимировать фактическую статистику алфавита максимально точно. Слишком детальное многообразие не является критическим вопросом в данном случае, так как параметр символизации непосредственно определяется из ранее кодированных/декодированных коэффициентов, но определение должно точно соответствовать корреляции зависимости кривой распределения вероятности во втором интервале 18 от ранее кодированных/декодированных коэффициентов.
Как описано более подробно ниже, варианты осуществления для кодирования коэффициентов преобразования, дополнительно описанные ниже, являются полезными в том, что общая функция используется для достижения адаптивности контекста и определения параметра символизации. Является важным выбор правильного контекста, как подчеркнуто выше, для достижения высокой эффективности кодирования или степени сжатия, и это же применимо в отношении параметра символизации. Варианты осуществления, описанные ниже, позволяют достигать этой цели поддержанием низкими издержек для конкретизации зависимости от ранее кодированных/декодированных коэффициентов. В частности, изобретатели настоящей заявки нашли способ нахождения хорошего компромисса между реализацией эффективной зависимости от ранее кодированных/декодированных коэффициентов с одной стороны и уменьшением количества проприетарной логики для конкретизации индивидуальных зависимостей контекста с другой стороны.
Фиг. 4 изображает устройство для кодирования множества коэффициентов преобразования, имеющих уровни коэффициента преобразования, в поток данных согласно варианту осуществления настоящего изобретения. Отмечается, что в последующем описании предполагается, что алфавитом символов является двоичный алфавит, хотя это предположение, как подчеркнуто выше, не является критичным для настоящего изобретения, и, следовательно, все эти объяснения должны интерпретироваться только как иллюстративные для расширения на другие алфавиты символов.
Устройство по фиг. 4 предназначено для кодирования множества коэффициентов преобразования, поступающих на вход 30, в поток 32 данных. Устройство содержит символизатор 34, контекстно-адаптивный энтропийный кодер 36, определитель 38 параметра символизации и устройство 40 вставки.
Символизатор 34 имеет свой вход, подсоединенный ко входу 30, и выполнен с возможностью отображения текущего коэффициента преобразования, поступающего в данный момент на его вход, на символы таким образом, который описан выше в отношении фиг. 2. Т. е. символизатор 34 выполнен с возможностью отображения текущего коэффициента преобразования на первый набор из одного или нескольких символов в соответствии с первой схемой символизации, если уровень x коэффициента преобразования текущего коэффициента преобразования находится в пределах первого интервала 16 уровней, и, если уровень коэффициента преобразования текущего коэффициента преобразования находится в пределах второго интервала 18 уровней, на объединение второго набора символов, на который отображается максимальный уровень первого интервала 16 уровней в соответствии с первой схемой символизации, и третьего набора символов в зависимости от положения уровня коэффициента преобразования текущего коэффициента преобразования в пределах второго интервала 18 уровней в соответствии со второй схемой символизации. Другими словами, символизатор 34 выполнен с возможностью отображения текущего коэффициента преобразования на первую последовательность символов первой схемы символизации, в случае если уровень коэффициента преобразования текущего коэффициента преобразования находится в пределах первого интервала 16 уровней, но вне второго интервала уровней, и на объединение последовательности символов первой схемы символизации для максимального уровня первого интервала 16 уровней и последовательности символов второй схемы символизации, в случае если уровень коэффициента преобразования текущего коэффициента преобразования находится в пределах второго интервала уровней.
Символизатор 34 имеет два выхода, а именно один для последовательностей символов первой схемы символизации, и другой - для последовательностей символов второй схемы символизации. Устройство 40 вставки имеет вход для приема последовательностей 42 символов второй схемы символизации, и контекстно-адаптивный энтропийный кодер 36 имеет вход для приема последовательностей 44 символов первой схемы символизации. Кроме того, символизатор 34 имеет вход параметра для приема параметра 46 символизации с выхода определителя 38 параметра символизации.
Контекстно-адаптивный энтропийный кодер 36 выполнен с возможностью энтропийного кодирования символа первых последовательностей 44 символов в поток 32 данных. Устройство 40 вставки выполнено с возможностью вставки последовательностей 42 символов в поток 32 данных.
Вообще говоря, как энтропийный кодер 36, так и устройство 40 вставки последовательно сканируют коэффициенты преобразования. Очевидно, что устройство 40 вставки просто работает для коэффициентов преобразования, уровень коэффициента преобразования которых лежит в пределах второго интервала 18 уровней. Однако, как более подробно описано ниже, существуют разные возможности для определения порядка между работой энтропийного кодера 36 и устройства 40 вставки. Согласно первому варианту осуществления устройство кодирования по фиг. 4 выполнено с возможностью сканирования коэффициентов преобразования при одном единственном сканировании, так что устройство 40 вставки вставляет последовательность 42 символов коэффициента преобразования в поток 32 данных после энтропийного кодирования энтропийного кодера первой последовательности 44 символов, относящейся к этому же коэффициенту преобразования, в поток 32 данных и перед энтропийным кодированием энтропийного кодера последовательности 44 символов, относящейся к следующему коэффициенту преобразования в строке, в поток данных 32.
Согласно альтернативному варианту осуществления устройство использует два сканирования, в котором во время первого сканирования контекстно-адаптивный энтропийный кодер 36 последовательно кодирует последовательности 44 символов в поток 32 данных для каждого коэффициента преобразования, причем устройство 40 вставки затем вставляет последовательности 42 символов для тех коэффициентов преобразования, уровень коэффициента преобразования которых лежит в пределах второго интервала 18 уровней. Могут быть еще более сложные схемы, согласно которым, например, контекстно-адаптивный энтропийный кодер 36 использует несколько сканирований для кодирования индивидуальных символов первых последовательностей 44 символов в поток 32 данных, такой как первый символ или бин в первом сканировании, за которым следует второй символ или бин последовательностей 44 во втором сканировании и т. д.
Как уже указано выше, контекстно-адаптивный энтропийный кодер 36 выполнен с возможностью энтропийного кодирования по меньшей мере одного предопределенного символа последовательностей 44 символов в поток 32 данных контекстно-адаптивным образом. Например, адаптивность контекста может использоваться для всех символов последовательностей 44 символов. Альтернативно контекстно-адаптивный энтропийный кодер 36 может ограничивать адаптивность контекста только символами в первом положении и последовательностями символов первой схемы символизации, или в первом и втором, или в первом-третьем положениях и т. д.
Как описано выше, для адаптивности контекста кодер 36 управляет контекстами посредством сохранения и обновления оценки распределения вероятности алфавита для каждого контекста. Каждый раз, когда кодируется символ некоторого контекста, обновляется сохраненная на данный момент оценка распределения вероятности алфавита, используя фактическое значение этого символа, таким образом аппроксимируя фактическую статистику алфавита этого контекста.
Аналогично определитель 38 параметра символизации выполнен с возможностью определения параметра 46 символизации для второй схемы символизации и ее последовательностей 42 символов в зависимости от ранее кодированных коэффициентов преобразования.
Более точно, контекстно-адаптивный энтропийный кодер 36 выполнен так, что он использует, или выбирает, для текущего коэффициента преобразования контекст в зависимости, посредством функции, параметризуемой посредством параметра функции, и с параметром функции, установленным на первую установку, от ранее кодированных коэффициентов преобразования, тогда как определитель 38 параметра символизации выполнен с возможностью определения параметра 46 символизации в зависимости, посредством этой же функции и с параметром функции, установленным на вторую установку, от ранее кодированных коэффициентов преобразования. Установки могут отличаться, но, тем не менее, так как определитель 38 параметра символизации и контекстно-адаптивный энтропийный кодер 36 используют одну и ту же функцию, могут быть уменьшены издержки логики. Только параметр функции может различаться между выбором контекста энтропийного кодера 36 с одной стороны и определением параметра символизации определителя 38 параметра символизации с другой стороны.
Что касается зависимости от ранее кодированных коэффициентов преобразования, необходимо отметить, что эта зависимость ограничивается до степени, с которой эти ранее кодированные коэффициенты преобразования уже были кодированы в поток 32 данных. Полагая, например, что такой ранее кодированный коэффициент преобразования лежит в пределах второго интервала 18 уровней, но его последовательность 42 символов еще не была вставлена в поток 32 данных. В этом случае определитель 38 параметра символизации и контекстно-адаптивный энтропийный кодер 36 просто знают из первой последовательности 44 символов этот ранее кодированный коэффициент преобразования, который лежит в пределах второго интервала 18 уровней. В этом случае максимальный уровень первого интервала 16 уровней может служить в качестве представителя для этого ранее кодированного коэффициента преобразования. Поскольку зависимость «от ранее кодированных коэффициентов преобразования» должна быть понятна широким образом, чтобы охватывать зависимость от «информации о других коэффициентах преобразования, ранее кодированных/вставленных в поток 32 данных». Кроме того, коэффициенты преобразования, лежащие «за пределами» положения последнего ненулевого коэффициента L, могут подразумеваться равными нулю.
Чтобы завершить описание фиг. 4, выходы энтропийного кодера 36 и устройства 40 вставки показаны подсоединенными к общему выходу 48 устройства через переключатель 50, эта же соединяемость существует между входами для ранее вставленной/кодированной информации определителя 38 параметра символизации и контекстно-адаптивного энтропийного кодера 36 с одной стороны и выходами энтропийного кодера 36 и устройства 40 вставки с другой стороны. Переключатель 50 соединяет выход 48 с любым одним из выходов энтропийного кодера 36 и устройства 40 вставки в порядке, упомянутом выше в отношении различных возможностей использования одного, двух или трех сканирований для кодирования коэффициентов преобразования.
Чтобы объяснить общее использование параметризуемой функции в отношении контекстно-адаптивного энтропийного кодера 36 и определителя 38 параметра символизации более конкретными терминами, ссылка делается на фиг. 1. Функция, которая совместно используется энтропийным кодером 36 и определителем 38 параметра символизации, указывается позицией 52 на фиг. 1, а именно g(f(x)). Функция применяется к набору ранее кодированных коэффициентов преобразования, которые, как объяснено выше, могут определяться так, чтобы охватывать эти ранее кодированные коэффициенты, имеющие некоторую пространственную зависимость относительно текущего коэффициента. Конкретные варианты осуществления для этой функции изложены более подробно ниже. Вообще говоря, f представляет собой функцию, которая объединяет набор уровней ранее кодированных коэффициентов в скалярную величину, в которой g представляет собой функцию, которая проверяет, в каком интервале лежит скалярная величина. Другими словами, функция g(f(x)) применяется к набору x ранее кодированных коэффициентов преобразования. На фиг. 1 коэффициент 12 преобразования, указанный малым крестиком, обозначает, например, текущий коэффициент преобразования, и заштрихованные коэффициенты 12 преобразования указывают набор x коэффициентов преобразования, к которым применяется функция 52 для получения параметра 46 символизации и индекса 54 энтропийного контекста, индексирующего контекст для текущего коэффициента x преобразования. Как показано на фиг. 1, локальный шаблон, определяющий относительное пространственное расположение вокруг текущего коэффициента преобразования, может использоваться для определения набора x относящихся, ранее кодированных коэффициентов преобразования из всех ранее кодированных коэффициентов преобразования. Как можно видеть на фиг. 1, шаблон 56 может охватывать непосредственно соседний коэффициент преобразования ниже и справа от текущего коэффициента преобразования. Посредством выбора шаблона, подобного этому, последовательности 42 и 44 символов коэффициентов преобразования на одной диагонали сканирования 140 могут кодироваться параллельно, так как ни один из коэффициентов преобразования на диагонали не попадает в шаблон 56 другого коэффициента преобразования на этой же диагонали. Конечно, подобные шаблоны могут быть найдены для сканирований по строкам и столбцам.
Чтобы обеспечить более точные примеры для обычно используемой функции g(f(x)) и соответствующих параметров функции, ниже такие примеры обеспечиваются с использованием соответствующих формул. В частности, устройство по фиг. 4 может быть выполнено так, что функцией 52, определяющей взаимосвязь между набором x ранее кодированных коэффициентов преобразования с одной стороны и номером 54 индекса контекста, индексир