Кодирование массива выборок для низкой задержки
Иллюстрации
Показать всеИзобретение относится к средствам для кодирования массива выборок. Технический результат заключается в уменьшении задержки при кодировании массива выборок. Энтропийное кодирование текущей части предопределенного энтропийного слайса основано не только на соответствующих оценках вероятности предопределенного энтропийного слайса, которые адаптируются, используя ранее закодированную часть предопределенного энтропийного слайса, но также и на оценках вероятности, которые используются при энтропийном кодировании пространственно соседнего, по порядку энтропийных слайсов предыдущего энтропийного слайса в его соседней части. Посредством этого оценки вероятности, используемые при энтропийном кодировании, адаптируются к фактической статистической информации символа более близко, таким образом снижая уменьшение эффективности кодирования, обычно вызываемое концепциями более низкой задержки. Временные взаимосвязи используются дополнительно или альтернативно. 7 н. и 13 з.п. ф-лы, 4 табл., 20 ил.
Реферат
Настоящая заявка имеет отношение к кодированию массива выборок (элементов дискретизации), такому как кодирование изображений или видео.
Распараллеливание кодера и декодера очень важно из-за увеличения требований к обработке из-за стандарта HEVC, а также из-за ожидаемого увеличения видео разрешения. Многоядерная архитектура становится доступной в широком диапазоне современных электронных устройств. Следовательно, требуются эффективные способы предоставления возможности использования многоядерной архитектуры.
Кодирование или декодирование LCU происходит при растровом сканировании, с помощью которого вероятность CABAC адаптируют к конкретным особенностям каждого изображения. Пространственные зависимости существуют между смежными LCU. Каждая LCU (наибольшая единица кодирования) зависит от ее левой, верхней, верхней-левой и верхней-правой соседних LCU, из-за различных компонент, например, вектора движения, предсказания, внутреннего предсказания и других. Из-за предоставления возможности распараллеливания при декодировании эти зависимости обычно необходимо прерывать или они прерываются в современных применениях.
Были предложены некоторые концепции распараллеливания, а именно, волновая обработка данных. Мотивацией для дополнительного исследования является использование методов, которые снижают потерю эффективности кодирования и таким образом уменьшают затраты в отношении битового потока для подходов распараллеливания в кодере и декодере. Кроме того, обработка с низкой задержкой была невозможна с помощью доступных методов.
Таким образом задачей настоящего изобретения является обеспечение концепции кодирования массивов выборок, которая предоставляет возможность меньшей задержки при сравнительно меньшем ухудшении эффективности кодирования.
Эту задачу обеспечивают с помощью содержимого прилагаемых независимых пунктов формулы изобретения.
Если энтропийное кодирование текущей части предопределенного энтропийного слайса основано на соответствующих оценках вероятности предопределенного энтропийного слайса, которые адаптируют, используя ранее закодированную часть предопределенного энтропийного слайса, но не только, но также и на оценках вероятности, которые используются при энтропийном кодировании пространственно соседнего, по порядку энтропийных слайсов предыдущего энтропийного слайса в его соседней части, то оценки вероятности, используемые при энтропийном кодировании, адаптируют к фактической статистической информации символов более близко, таким образом снижая уменьшение эффективности кодирования, обычно вызываемое концепциями более низкой задержки. Временные взаимосвязи могут использоваться дополнительно или альтернативно.
Например, зависимость от оценок вероятности, которые используются при энтропийном кодировании пространственно соседнего, по порядку энтропийных слайсов предыдущего энтропийного слайса, может вовлекать инициализацию оценок вероятности в начале энтропийного кодирования предопределенного энтропийного слайса. Обычно оценки вероятности инициализируются в значения, адаптированные к статистической информации символов характерной смеси материала массива выборок. Чтобы избежать передачи значений инициализации оценок вероятности, они известны кодеру и декодеру по определению. Однако, такие предопределенные значения инициализации естественно являются просто компромиссом между битрейтом (частотой следования битов) дополнительной информации с одной стороны и эффективностью кодирования с другой стороны, поскольку значения инициализации естественно - более или менее - отклоняются от фактической типовой статистической информации кодируемого в настоящее время материала массива выборок. Адаптирование вероятности во время кодирования энтропийного слайса адаптирует оценки вероятности к фактической статистической информации символов. Этот процесс ускоряют с помощью инициализации оценок вероятности в начале энтропийного кодирования текущего/предопределенного энтропийного слайса, используя уже адаптированные оценки вероятности только что упомянутого пространственно соседнего, по порядку энтропийных слайсов предыдущего энтропийного слайса, поскольку последние значения уже, до некоторой степени, адаптированы к фактической статистической информации рассматриваемого в настоящее время символа массива выборок. Кодирование с низкой задержкой может, однако, быть доступно с помощью использования при инициализации оценок вероятности для предопределенных/текущих энтропийных слайсов, данные оценки вероятности используются в его соседней части, вместо того, чтобы обнаруживаться в конце энтропийного кодирования предыдущего энтропийного слайса. С помощью этих мер все еще возможна волновая обработка данных.
Дополнительно, вышеупомянутая зависимость от оценок вероятности, которые используются при энтропийном кодировании пространственно соседнего, по порядку энтропийных слайсов предыдущего энтропийного слайса, может вовлекать процесс адаптирования, состоящий из адаптирования оценок вероятности, непосредственно используемых при энтропийном кодировании текущего/предопределенного энтропийного слайса. Адаптирование оценки вероятности вовлекает использование только что закодированной части, то есть только что закодированного символа(ов), для адаптирования текущего состояния оценок вероятности к фактической статистической информации символов. С помощью этих мер инициализированные оценки вероятности адаптируются с некоторой скоростью адаптирования к фактической статистической информации символа. Данная скорость адаптирования увеличивается с помощью выполнения только что упомянутого адаптирования оценки вероятности, основываясь не только на кодируемом в настоящее время символе текущего/предопределенного энтропийного слайса, но также и в зависимости от оценок вероятности, которые были обнаружены в соседней части пространственно соседнего, по порядку энтропийных слайсов предыдущего энтропийного слайса. Снова, с помощью выбора пространственно соседней текущей части текущего энтропийного слайса и соседней части предыдущего энтропийного слайса, соответственно, волновая обработка данных все еще возможна. Преимуществом от соединения адаптирования собственной оценки вероятности по текущему энтропийному слайсу с адаптированием вероятности предыдущего энтропийного слайса является увеличение скорости, с которой происходит адаптирование к фактической статистической информации символов, поскольку множество символов, через которые перемещаются в текущем и предыдущем энтропийных слайсах, вносят вклад в адаптирование, а не просто символы текущего энтропийного слайса.
Предпочтительные воплощения вариантов осуществления настоящего изобретения являются объектом зависимых пунктов формулы изобретения. Дополнительно, предпочтительные варианты осуществления описаны по отношению к фигурам, среди которых:
фиг. 1 показывает структурную схему примерного кодера;
фиг. 2 показывает схематическую диаграмму разделения изображения на слайсы и части слайсов (то есть блоки или единицы кодирования) наряду с порядком кодирования, определенным между ними;
фиг. 3 показывает последовательность операций функционирования примерного кодера, такого как кодер на фиг. 1;
фиг. 4 показывает схематическую диаграмму для объяснения функционирования примерного кодера, такого как кодер на фиг. 1;
фиг. 5 показывает схематическую диаграмму параллельного работающего воплощения кодера и декодера;
фиг. 6 показывает структурную схему примерного декодера;
фиг. 7 показывает последовательность операций функционирования примерного декодера, такого как декодер на фиг. 6;
фиг. 8 показывает схематическую диаграмму примерного битового потока, являющегося результатом схемы кодирования на фиг. 1 - 6;
фиг. 9 схематично показывает пример вычисления вероятности с помощью других LCU;
фиг. 10 показывает график, иллюстрирующий результаты RD для внутреннего способа (4 потока) в сравнении с HM3.0;
фиг. 11 показывает график, иллюстрирующий результаты RD для способа с низкой задержкой (1 поток) по сравнению с HM3.0;
фиг. 12 показывает график, иллюстрирующий результаты RD для способа произвольного доступа (1 поток) по сравнению с HM3.0;
фиг. 13 показывает график, иллюстрирующий результаты RD для способа с низкой задержкой (4 потока) по сравнению с HM3.0;
фиг. 14 схематично и примерно иллюстрирует возможные соединения энтропийных слайсов;
фиг. 15 схематично и примерно иллюстрирует возможную сигнализацию энтропийного слайса;
фиг. 16 схематично и примерно иллюстрирует кодирование, сегментацию, перемежение и декодирование данных энтропийного слайса через фрагменты;
фиг. 17 схематично и примерно иллюстрирует возможное соединение между кадрами;
фиг. 18 схематично и примерно иллюстрирует возможное использование соотнесенной информации;
фиг. 19 схематично показывает возможность прохождения волны наклонно в пределах пространственного/временного пространства, заполненного последовательными массивами выборок; и
фиг. 20 схематично показывает другой пример для подразделения энтропийных слайсов на фрагменты.
Для облегчения понимания нижеизложенных мер для улучшения обеспечения низкой задержки при меньшем количестве недостатков по отношению к эффективности кодирования, кодер на фиг. 1 сначала описан в более общих чертах без предварительного обсуждения предпочтительных концепций вариантов осуществления настоящей заявки и как он может встраиваться в вариант осуществления на фиг. 1. Нужно упомянуть, однако, что структура, показанная на фиг. 1, служит просто в качестве иллюстративной среды, в которой могут использоваться варианты осуществления настоящей заявки. Обобщения и альтернативные варианты для кодеров и декодеров в соответствии с вариантами осуществления настоящего изобретения также кратко обсуждаются.
Фиг. 1 показывает кодер для кодирования массива 10 выборок в энтропийно закодированный поток 20 данных. Как показано на фиг. 1, массив 10 выборок может быть одной из последовательностей 30 массивов выборок, и кодер может быть сконфигурирован для кодирования последовательности 30 в поток 20 данных.
Кодер на фиг. 1 в общем случае обозначен ссылочным символом 40 и содержит предварительный кодер 42, за которым следует каскад 44 энтропийного кодирования, выход которого выводит поток 20 данных. Предварительный кодер 42 сконфигурирован для приема и обработки массива 10 выборок для описания его содержимого посредством синтаксических элементов с предопределенным синтаксисом, причем каждый синтаксический элемент является соответствующим одним из предопределенного набора типов синтаксических элементов, которые, в свою очередь, связанны с соответствующей семантикой.
При описании массива 10 выборок, используя синтаксические элементы, предварительный кодер 42 может подразделять массив 10 выборок на единицы 50 кодирования. Термин «единица кодирования» может, по причинам, указанным более подробно ниже, альтернативно называться «единицами дерева кодирования» (CTU). Одна возможность того, как предварительный кодер 42 может подразделять массив 10 выборок на единицы 50 кодирования, для примера показана на фиг. 2. В соответствии с данным примером данное разделение регулярно разделяет массив 10 выборок на единицы 50 кодирования, так, чтобы последние были расположены в строках и столбцах, чтобы без зазора охватывать весь массив 10 выборок без наложения. Другими словами, предварительный кодер 42 может быть сконфигурирован для описания каждой единицы 50 кодирования посредством синтаксических элементов. Некоторые из этих синтаксических элементов могут формировать информацию подразделения для дополнительного подразделения соответствующей единицы 50 кодирования. Например, посредством подразделения на множество деревьев, информация подразделения может описывать подразделение соответствующей единицы 50 кодирования на блоки 52 предсказания, причем предварительный кодер 42 связывает режим предсказания со связанными параметрами предсказания для каждого из этих блоков 52 предсказания. Это подразделение предсказания может предоставлять возможность, чтобы блоки 52 предсказания были различного размера, как иллюстрировано на фиг. 2. Предварительный кодер 42 может также связывать остаточную информацию подразделения с блоками 52 предсказания для дополнительного подразделения блоков 52 предсказания на остаточные блоки 54 для описания ошибки предсказания для каждого блока 52 предсказания. Таким образом, предварительный кодер может быть сконфигурирован для генерации синтаксического описания массива 10 выборок в соответствии с гибридной схемой кодирования. Однако, как уже отмечено выше, только что упомянутый способ, с помощью которого предварительный кодер 42 описывает массив 10 выборок посредством синтаксических элементов, был представлен просто в целях иллюстрации, и он может также воплощаться по-другому.
Предварительный кодер 42 может использовать пространственные взаимосвязи между содержимым соседних единиц 50 кодирования из массива 10 выборок. Например, предварительный кодер 42 может предсказывать синтаксические элементы для некоторой единицы 50 кодирования из синтаксических элементов, определенных для ранее закодированных единиц 50 кодирования, которые являются пространственно смежными с кодируемой в настоящее время единицей 50 кодирования. На фиг. 1 и 2, например, верхняя и левая соседние элементы служат для предсказания, которое иллюстрировано стрелками 60 и 62. Кроме того, предварительный кодер 42 в способе внутреннего предсказания уже может экстраполировать закодированное содержимое соседних единиц 50 кодирования в текущую единицу 50 кодирования для получения предсказания выборок текущей единицы 50 кодирования. Как иллюстрировано на фиг. 1, предварительный кодер 42 может, без использования пространственных взаимосвязей, во временной области предсказывать выборки и/или синтаксические элементы для текущей единицы 50 кодирования из ранее закодированных массивов выборок, как иллюстративно показано на фиг. 1 посредством стрелки 64. То есть данное предсказание с компенсацией движения может использоваться предварительным кодером 42, и сами векторы движения могут быть объектом временного предсказания из векторов движения ранее закодированных массивов выборок.
То есть предварительный кодер 42 может описывать содержимое массива 10 выборок по отношению к единицам кодирования, и для этой цели он может использовать пространственное предсказание. Пространственное предсказание ограничено для каждой единицы 50 кодирования пространственно соседними единицами кодирования того же самого массива 10 выборок таким образом, что когда придерживаются порядка 66 кодирования среди единиц 50 кодирования массива 10 выборок, через соседние единицы кодирования, служащие в качестве опоры предсказания для пространственного предсказания, в общем случае уже перемещались по порядку 66 кодирования перед текущей единицей 50 кодирования. Как показывается на фиг. 2, порядок 66 кодирования, определенный среди единиц 50 кодирования, может, например, быть порядком растрового сканирования, согласно которому через единицы 50 кодирования перемещаются строка за строкой сверху вниз. Необязательно, подразделение массива 10 на массив тайлов может приводить к тому, что порядок сканирования 66 перемещается - по порядку растрового сканирования - через единицы 50 кодирования, которые создают один тайл, сначала перед переходом к следующему по порядку тайлу, который, в свою очередь, может также иметь тип растрового сканирования. Например, пространственное предсказание может вовлекать просто соседние единицы 50 кодирования в пределах строки единиц кодирования выше строки единиц кодирования, в пределах которой находится текущая единица 50 кодирования, и единицу кодирования в пределах той же самой строки единиц кодирования, но слева относительно текущей единицы кодирования. Как будет объяснено более подробно ниже, это ограничение на пространственную взаимосвязь/пространственное предсказание предоставляет возможность параллельной волновой обработки данных.
Предварительный кодер 42 направляет синтаксические элементы к каскаду 44 энтропийного кодирования. Как только что изложено, некоторые из этих синтаксических элементов закодированы с предсказанием, то есть представляют ошибки предсказания. Предварительный кодер 42 может, таким образом, расцениваться как кодер с предсказанием. Кроме того, предварительный кодер 42 может быть кодером с преобразованием, сконфигурированном для преобразования остатков кодов предсказания содержимого единиц 50 кодирования.
Примерная внутренняя структура каскада 44 энтропийного кодирования также показана на фиг. 1. Как показано, каскад 44 энтропийного кодирования может необязательно содержать средство представления в символьной форме для преобразования каждого из синтаксических элементов, принятых из предварительного кодера 42, количество возможных состояний которого превышает количество элементов алфавита символов, в последовательность символов si алфавита символов, основываясь на которой работает средство (движок) 44 энтропийного кодирования. Кроме этого необязательного средства 70 представления в символьной форме средство 44 энтропийного кодирования может содержать средство 72 выбора контекста и средство 74 инициализации, средство 76 управления оценкой вероятности, средство 78 адаптирования оценки вероятности и ядро 80 энтропийного кодирования. Выходной сигнал ядра энтропийного кодирования формирует выходной сигнал каскада 44 энтропийного кодирования. Кроме того, ядро 80 энтропийного кодирования содержит два входа, а именно, один - для приема символов si последовательности символов, а другой - для приема оценки pi вероятности для каждого из символов.
Из-за свойств энтропийного кодирования эффективность кодирования по отношению к степени сжатия увеличивается с улучшением оценки вероятности: чем лучше оценка вероятности соответствует фактической статистической информации символа, тем лучше степень сжатия.
В примере на фиг. 1 средство 72 выбора контекста сконфигурировано для выбора для каждого символа si соответствующего контекста ci среди набора доступных контекстов, которыми управляет средство 76 управления. Нужно отметить, однако, что выбор контекста формирует просто необязательную особенность и ее можно не использовать, например, используя одинаковый контекст для каждого символа. Однако, если используется выбор контекста, то средство 72 выбора контекста может быть сконфигурировано для выполнения выбора контекста, по меньшей мере частично основываясь на информации, которая относится к единицам кодирования вне текущей единицы кодирования, а именно, которая относится к соседним единицам кодирования в пределах ограниченной близости, как обсуждается выше.
Средство 76 управления содержит запоминающее устройство, которое сохраняет для каждого доступного контекста связанную с ним оценку вероятности. Например, алфавит символа может быть двоичным алфавитом, так что просто одно значение вероятности, вероятно, придется сохранять для каждого доступного контекста.
Средство 74 инициализации может периодически инициализировать или повторно инициализировать оценки вероятности, сохраненные в средстве 76 управления для доступных контекстов. Возможные моменты времени, в которые может выполняться такая инициализация, обсуждаются дополнительно ниже.
Средство 78 адаптирования имеет доступ к парам символов si и соответствующим оценкам pi вероятности и, соответственно, адаптирует оценки вероятности в средстве 76 управления. То есть каждый раз, когда оценка вероятности применяется ядром 80 энтропийного кодирования для энтропийного кодирования соответствующего символа si в поток 20 данных, средство 78 адаптирования может изменять эту оценку вероятности в соответствии со значением данного текущего символа si, так, чтобы эта оценка pi вероятности была лучше адаптирована к фактической статистической информации символа, когда кодируют следующий символ, который связан с данной оценкой вероятности (посредством его контекста). То есть средство 78 адаптирования принимает оценку вероятности для выбранного контекста от средства 76 управления наряду с соответствующим символом si и адаптирует оценку pi вероятности, соответственно так, чтобы для следующего символа si того же самого контекста ci использовалась адаптивная оценка вероятности.
Ядро 80 энтропийного кодирования, например, сконфигурировано для работы в соответствии со схемой арифметического кодирования или со схемой энтропийного кодирования с разделением интервала вероятности. При арифметическом кодировании ядро 80 энтропийного кодирования, например, непрерывно обновляет свое состояние, когда кодирует последовательность символов, состоянием, например, определяемым интервалом вероятности, определенным с помощью значения ширины интервала вероятности и значения смещения интервала вероятности. Когда работает в конвейерной концепции, ядро 80 энтропийного кодирования, например, разделяет область возможных значений оценок вероятности на различные интервалы с выполнением энтропийного кодирования с фиксированной вероятностью по отношению к каждому из этих интервалов, таким образом получая подпоток для каждого из подинтервалов, эффективность кодирования которых, соответственно, настраивается для связанного интервала вероятности. В случае энтропийного кодирования выходом потока 20 данных является арифметически закодированный поток данных, передающий информацию к стороне декодирования, которая предоставляет возможность эмуляции или повторного выполнения процесса подразделения данного интервала.
Естественно, возможно для состояния 44 энтропийного кодирования энтропийно кодировать всю информацию, то есть все синтаксические элементы/символы si, относящиеся к массиву 10 выборок, с помощью инициализации оценок вероятности просто один раз в его начале, и затем непрерывного обновления оценки вероятности с помощью средства 78 адаптирования. Это, однако, привело бы к созданию потока 20 данных, который пришлось бы последовательно декодировать на стороне декодирования. Другими словами, не было бы возможности, чтобы какой-либо декодер подразделял результирующий поток данных на несколько подпорций и декодировал подпорции параллельно. Это, в свою очередь, препятствовало бы всем усилиям уменьшить задержку.
Соответственно, как будет изложено более подробно ниже, удобно подразделять множество данных, описывающих массив 10 выборок, на так называемые энтропийные слайсы. Каждый из этих энтропийных слайсов, соответственно, охватывает отличающийся набор синтаксических элементов, относящихся к массиву 10 выборок. Если бы каскад 44 энтропийного кодирования, однако, энтропийно кодировал каждый энтропийный слайс полностью независимо друг от друга, сначала инициализируя оценку вероятности один раз с последующим постоянным обновлением оценок вероятности отдельно для каждого энтропийного слайса, то эффективность кодирования уменьшилась бы из-за увеличенного процента от данных, которые относятся и описывают массив 10 выборок, для которого используемые оценки вероятности (все же) менее точно адаптированы к фактической статистической информации символа.
Для преодоления только что упомянутых проблем при согласовании необходимости низкой задержки кодирования с одной стороны и высокой эффективности кодирования с другой стороны, может использоваться следующая схема кодирования, которая далее описана по отношению к фиг. 3.
Сначала данные, описывающие массив 10 выборок, подразделяют на порции, называемые в последующем «энтропийными слайсами». Подразделение 80 не обязательно должно быть без наложений. С другой стороны, это подразделение может по меньшей мере частично соответствовать пространственному подразделению массива 10 выборок на различные порции. То есть согласно подразделению 80, синтаксические элементы, описывающие массив 10 выборок, могут распределяться на различные энтропийные слайсы в зависимости от расположения единицы 50 кодирования, которая относится к соответствующему синтаксическому элементу. См., например, фиг. 2. Фиг. 2 показывает примерное подразделение массива 10 выборок на различные порции 12. Каждая порция соответствует соответствующему энтропийному слайсу. В качестве примера показано, что каждая порция 12 соответствует строке единиц 50 кодирования. Другие разделения, однако, также могут выполняться. Однако, предпочтительно, если разделение массива 10 выборок на порции 12 придерживается вышеупомянутого порядка 66 кодирования, так, чтобы порции 12 охватывали последовательные прохождения единиц 12 кодирования по порядку 66 кодирования. Даже если так, однако, не требуется, чтобы начальное и конечное положения порции 12 по порядку 66 кодирования совпадали с левым и правым краями строк единиц 50 кодирования, соответственно. Необязательно даже совпадение с границами единиц 50 кодирования, которые непосредственно следуют друг за другом, и порядок 66 кодирования.
С помощью такого разделения массива 10 выборок среди порций 12 определяют порядок 16 энтропийных слайсов, по которому порции 12 следуют друг за другом по порядку 66 кодирования. Кроме того, для каждого энтропийного слайса определяется соответствующая траектория 14 энтропийного кодирования, а именно, фрагмент траектории 66 кодирования, направленный к соответствующей порции 12. В примере на фиг. 2, где порции 12 совпадают со строками единиц 50 кодирования, траектории 14 энтропийного кодирования из каждой точки энтропийного слайса вдоль направления строки параллельны друг другу, то есть в данном случае с левой стороны в правую сторону.
Нужно отметить, что было бы возможно ограничить пространственные предсказания, выполняемые предварительным кодером 42, и получение контекста, выполняемое средством 72 выбора контекста, так, чтобы они не пересекали границы слайса, то есть так, чтобы пространственные предсказания и результаты выборы контекста не зависели от данных, соответствующих другому энтропийному слайсу. Таким образом, «энтропийные слайсы» соответствуют обычному определению «слайсов» в H.264, например, которые декодируются полностью независимо друг от друга, за исключением нижеизложенной зависимости инициализации/адаптирования вероятности. Однако, также допустимо предоставлять возможность, чтобы пространственные предсказания и результаты выборы контекста, то есть вообще говоря зависимости, пересекали границы слайса, для использования локальных/пространственных взаимозависимостей, поскольку обработка WPP все еще может выполняться, в то время когда рассматривается инверсия предварительного кодирования, то есть восстановление, основанное на синтаксических элементах, и выбор энтропийного контекста. До сих пор энтропийные слайсы так или иначе соответствовали «зависимым слайсам».
Подразделение 80 может, например, выполняться с помощью каскада 44 энтропийного кодирования. Подразделение может быть фиксированным или может изменяться среди множества последовательностей 30. Разделение может устанавливаться по определению или может сообщаться в потоке 20 данных.
Основываясь на энтропийных слайсах, может происходить фактическое энтропийное кодирование, то есть 82. Для каждого энтропийного слайса энтропийное кодирование может быть структурировано на начальную фазу 84 и фазу 86 продолжения. Начальная фаза 84 вовлекает, например, инициализацию оценок вероятности, а также вызов процесса фактического энтропийного кодирования для соответствующего энтропийного слайса. Фактическое энтропийное кодирование затем выполняется во время фазы 86 продолжения. Энтропийное кодирование во время фазы 86 выполняется вдоль соответствующей траектории 14 энтропийного кодирования. Начальной фазой 84 для каждого энтропийного слайса управляют таким образом, что энтропийное кодирование множества энтропийных слайсов запускается последовательно, используя порядок 16 энтропийных слайсов.
Затем, чтобы избежать вышеизложенного недостатка, который является результатом энтропийного кодирования каждого энтропийного слайса полностью независимо друг от друга, процессом энтропийного кодирования 82 управляют таким образом, что текущая часть, например, текущая единица кодирования текущего энтропийного слайса энтропийно кодируется, основываясь на соответствующих оценках вероятности текущего энтропийного слайса, которые адаптируются, используя ранее закодированные части текущего энтропийного слайса, то есть части текущего энтропийного слайса слева от текущей единицы 50 кодирования в случае на фиг. 2, и на оценках вероятности, которые используются при энтропийном кодировании пространственно соседних, по порядку 16 энтропийных слайсов предыдущих энтропийных слайсов в его соседней части, то есть в соседней единице кодирования.
Чтобы описать приведенную выше зависимость более четко, ссылка сделана к фиг. 4. Фиг. 4 иллюстрирует n-1-й, n-й и n+1-й энтропийные слайсы по порядку 16 энтропийных слайсов с помощью ссылочного знака 90. Каждый энтропийный слайс 90 охватывает последовательность синтаксических элементов, описывающих порцию 12 массива 10 выборок, с которой связан соответствующий энтропийный слайс 90. Вдоль траектории 14 энтропийного кодирования энтропийный слайс 19 сегментирован на последовательность сегментов 92, каждый из которых соответствует соответствующей одной из единиц 50 кодирования порции 12, к которой относится энтропийный слайс 90.
Как описано выше, оценки вероятности, используемые при энтропийном кодировании энтропийных слайсов 90, непрерывно обновляются во время фазы 86 продолжения вдоль траектории 14 энтропийного кодирования так, чтобы оценки вероятности все лучше и лучше адаптировались к фактической статистической информации символа соответствующего энтропийного слайса 90 - то есть оценки вероятности связывают с соответствующим энтропийным слайсом. Хотя оценки 94 вероятности, используемые для энтропийного кодирования энтропийного слайса 90, во время фазы 86 продолжения непрерывно обновляются, на фиг. 4 просто состояния оценок 94 вероятности, которые появляются в начальном и конечном положениях сегментов 92, иллюстрируются и упоминаются дополнительно ниже. В частности, состояние до энтропийного кодирования первого сегмента 92, которое инициализируется во время начальной фазы 84, показано как 96, состояние, обнаруживающееся после кодирования первого фрагмента, иллюстрируется как 98, и состояние, обнаруживающееся после кодирования первых двух фрагментов, указывается как 100. Те же самые элементы показаны на фиг. 4 также для энтропийного слайса n-1 по порядку 16 энтропийных слайсов, и следующего энтропийного слайса, то есть энтропийного слайса n+1.
Теперь, для обеспечения вышеизложенной зависимости, начальное состояние 96 для энтропийного кодирования n-го энтропийного слайса 90 устанавливается в зависимости от любого промежуточного состояния оценок 94 вероятности, обнаруженного во время кодирования предыдущего энтропийного слайса n-1. «Промежуточное состояние» должно обозначать любое состояние оценок 94 вероятности, исключая начальное состояние 96 и конечное состояние, обнаруживаемое после энтропийного кодирования всего энтропийного слайса n-1. Делая так, энтропийное кодирование последовательности энтропийных слайсов 90 по порядку 16 энтропийных слайсов может параллелизовываться со степенью параллелизации, которая определяется отношением количества сегментов 92, предшествующих состоянию, используемому для инициализации оценок 94 вероятности для энтропийного кодирования следующего энтропийного слайса, то есть a, и количеством сегментов 92, следующих за этой стадией, то есть b. В частности на фиг. 4 a для примера устанавливают равным, с помощью инициализации, то есть адаптирования, состояния 100, таким образом, чтобы устанавливать состояние 96 текущего энтропийного слайса равным состоянию 100 предыдущего энтропийного слайса, иллюстрировано с помощью стрелки 104.
С помощью этих мер энтропийное кодирование любого сегмента 92 после состояния 100 по порядку 14 траектории энтропийного кодирования будет зависеть от оценки 94 вероятности, которую адаптируют во время фазы 86 продолжения, основываясь на предыдущих фрагментах того же самого энтропийного слайса, а также от оценки вероятности, которая используется при энтропийном кодировании третьего сегмента 92 предыдущего энтропийного слайса 90.
Соответственно, энтропийное кодирование энтропийных слайсов 90 может выполняться параллельно при конвейерном планировании. Единственными ограничениями, введенными на время планирования, является то, что энтропийное кодирование некоторого энтропийного слайса может начинаться сразу после окончания энтропийного кодирования a-го сегмента 92 предыдущего энтропийного слайса. Энтропийные слайсы 90 непосредственно друг после друга по порядку 16 энтропийных слайсов не подлежат каким-либо другим ограничениям относительно выравнивания по времени процедуры энтропийного кодирования во время фазы 86 продолжения.
Однако, в соответствии с другим вариантом осуществления, дополнительно и/или альтернативно используется более интенсивное соединение. В частности, как иллюстрируется на фиг. 4 с помощью обычных стрелок 106, адаптирование оценки вероятности во время фазы 86 продолжения приводит к тому, что данные единицы кодирования, соответствующей некоторому сегменту 92, изменяют оценки 94 вероятности из состояния в начале соответствующего сегмента 92 до завершения этого сегмента 92, таким образом улучшая аппроксимацию фактической статистической информации символа, как обозначено выше. То есть для энтропийного слайса n-1 выполняется адаптирование 106, просто зависящее от данных энтропийного слайса n-1, и то же самое относится к адаптированию 106 оценки вероятности энтропийного слайса n, и т.д. Например, можно выполнять инициализацию, как объясняется выше с помощью стрелок 104, с помощью выполнения адаптирования 106 оценки вероятности без дальнейшего взаимного влияния между энтропийными слайсами 90. Однако, чтобы ускорить аппроксимацию оценки вероятности к фактической статистической информации символа, адаптирования 106 оценки вероятности последовательных энтропийных слайсов могут соединяться так, чтобы адаптирование 106 оценки вероятности предыдущего n-1 энтропийного слайса также влияло или учитывалось, когда адаптируется результат адаптирования оценки вероятности текущего энтропийного слайса n. Это иллюстрируется на фиг. 4 с помощью стрелки 108, обращенной от состояния 110 пространственно соседних оценок 94 вероятности для энтропийного кодирования n-1-го энтропийного слайса 90 к состоянию 100 оценок 94 вероятности энтропийного кодирования n-го энтропийного слайса 90. Когда используют вышеизложенную инициализацию состояния 96, соединение 108 адаптирования вероятности может, например, использоваться в любом из b состояний оценки вероятности, обнаруживающихся после энтропийного кодирования b сегментов 92 предыдущего энтропийного слайса. Точнее, оценки вероятности, обнаруживающиеся непосредственно после энтропийного кодирования первого сегмента 92 текущего энтропийного слайса, могут быть результатом обычного адаптирования 106 вероятности и с помощью учета 108 состояний оценки вероятности, являющихся результатом адаптирования 106 оценок вероятности во время энтропийного кодирования (a+1)-го сегмента 92 предыдущего энтропийного слайса n-1. «Учет» может, например, вовлекать некоторую операцию усреднения. Пример будет дополнительно изложен ниже. Другими словами, состояние 98 оценок 94 вероятности энтропийного кодирования n-го энтропийного слайса 90 в начале энтропийного кодирования его сегмента 92 может быть результатом усреднения предыдущего состояния 96 оценок 94 вероятности для энтропийного кодирования текущего энтропийного слайса n, которые адаптируются, используя адаптирование 106, и состояния перед энтропий