СПОСОБ И УСТРОЙСТВО ВЫБОРА ПОРЯДКА СКАНИРОВАНИЯ Российский патент 2019 года по МПК H04N19/129 H04N19/176 H04N19/18 

Описание патента на изобретение RU2706228C1

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

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

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

Широкий спектр цифровых устройств, таких как цифровые камеры, сотовые радиотелефоны, ноутбуки, системы вещания и системы видеоконференций предоставляет возможность использовать приложения цифровой видеосвязи и хранения данных. Одной из наиболее важных и сложных технических задач при использовании этих приложений является выполнение процесса сжатия видео. Задача сжатия видео сложна и ограничена двумя противоречивыми параметрами: эффективностью сжатия и вычислительной сложностью. Стандарты кодирования видео, такие как стандарт ITU-T H.264/AVC или высокоэффективного видеокодирования (HEVC) ITU-T H.265/HEVC, обеспечивают хороший компромисс между этими параметрами. По этой причине, поддержка стандартов кодирования видео является обязательным требованием для практически любого приложения сжатия видео.

Современные стандарты кодирования видео основаны на разделении исходного изображения на блоки. Обработка этих блоков зависит от их размера, пространственного положения и режима кодирования, заданного кодером. Режимы кодирования можно разделить на две группы в соответствии с типом предсказания: режимы внутреннего и внешнего предсказания. В режимах внутреннего предсказания пиксели одного и того же изображения генерируют опорные отсчеты для вычисления значений предсказания для пикселей восстанавливаемого блока. Режим внутреннего предсказания можно также назвать пространственным предсказанием. Режимы внешнего предсказания предназначены для временного предсказания и используют опорные отсчеты предшествующих или следующих изображений для предсказания пикселей блока текущего изображения. После этапа предсказания выполняют преобразование кодирования для вычисления ошибки предсказания, которая представляет собой разностную величину между исходным сигналом и его предсказанием. Затем кодируют коэффициенты преобразования и вспомогательную информацию с использованием энтропийного кодера, такого как, например, контекстно-адаптивное двоичное арифметическое кодирование (CABAC) для AVC/H.264 и HEVC/H.265.

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

ITU-T H.265/HEVC стандарт, известный, например, из ISO/IEC 23008-2:2013, «Информационные технологии. Высокоэффективное кодирование и доставка мультимедиа в гетерогенных средах. Часть 2. Высокоэффективное видеокодирование», ноябрь 2013г., вводит набор современных средств кодирования видео, которые обеспечивают разумный компромисс между эффективностью кодирования и сложностью вычислений. Обзор ITU-T H.265/HEVC стандарта приведен в статье Gary J. Sullivan «Обзор стандарта высокоэффективного видеокодирования (HEVC)» в IEEE Transactions on Circuits and Systems for Video Technology, Vol. 22, №12, декабрь 2012 г., все содержание которого включено в настоящий документ посредством ссылки.

Аналогично ITU-T H.264/AVC стандарту видеокодирования, HEVC/H.265 стандарт видеокодирования обеспечивает разделение исходного изображения на блоки, например, (CUs). Каждый из CUs может быть дополнительно разделен на меньшие CUs или блоки предсказания (PUs). PU может быть предсказан в режиме внутреннего или внешнего предсказания в соответствии с типом обработки, применяемой для пикселей PU. В случае внешнего предсказания, PU представляет собой область пикселей, которую обрабатывают посредством компенсации движения, используя вектор движения, указанный для PU. Для внутреннего предсказания, PU определяет режим предсказания для набора блоков преобразования (TUs). TU может иметь разные размеры (например, 4x4, 8x8, 16x16 и 32x32 пикселя) и может быть обработан по-разному. Для TU выполняют кодирование преобразования, то есть, преобразования ошибки предсказания дискретным косинусным преобразованием или дискретным синусным преобразованием, в HEVC/H.265 стандарте применяют к блокам с внутренним кодированием, и квантуют. Следовательно, восстановленные пиксели содержат шум квантования и артефакты блочности, которые могут влиять на точность предсказания.

Во всех стандартах видеокодирования предшествующего уровня техники, кроме HEVC/H.265, для упрощения разработки использовали только одно преобразование. В HEVC/H.265 стандарте указаны два преобразования для внутреннего кодирования: DST для 4x4 блоков, поскольку данное преобразование обеспечивает лучшее уплотнение энергии для небольших блоков с внутренним предсказанием, и DCT для других блоков.

Дополнительно, для HEVC/H.265 стандарта используют зависимый от режима коэффициент сканирования (MDCS). Основная идея заключается в выборе порядка сканирования в зависимости от выбранного режима внутреннего предсказания. Для блоков с внутренним кодированием, порядок сканирования 4 × 4 блока преобразования (TB) и 8 × 8 яркости TB определяют режимом внутреннего предсказания, см. Joel Sole, Rajan Joshi, Nguyen Nguyen, Tianying Ji, Marta Karczewicz, Gordon Clare, Felix Henry и Alberto Dueňas «Кодирование коэффициента преобразования в HEVC», «IEEE Transactions on Circuits and Systems for Video Technology», том. 22, вып. 12, декабрь 2012 г., стр. 1765-1777. Каждый из 35 режимов внутреннего предсказания использует один из трех возможных порядков сканирования: по диагонали, по горизонтали или по вертикали. Справочная таблица отображает режим внутреннего предсказания на один из порядков сканирования.

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

Yung-Lyul Lee, Ki-Hun Han, Dong-Gyu Sim и Jeongil Seo в документе «Адаптивное сканирование для H.264/AVC внутреннего кодирования», ETRI, том 28, номер 5, октябрь 2006 г., стр. 668-671, Byeong-Doo Choi, Jin-Hyung Kim и Sung-Jea Ko. в документе «Адаптивное сканирование коэффициента на основании режима внутреннего предсказания», журнал ETRI, том 29, номер 5, октябрь 2007 г., стр. 694-696 и Md. Salah Uddin Yusuf and Mohiuddin Ahmad в работе «Новая схема сканирования для направленного пространственного предсказания AVS внутреннего кодирования», «Международный журнал усовершенствованных исследований в области электротехники, электроники и приборостроения», том. 2, выпуск 8, август 2013 г., стр. 4120-4126 представили подобные MDCS технологии. Порядки сканирования отличается от тех, которые используют в HEVC/H.265 стандарте. Кроме того, было предложено отображать режимы внутреннего предсказания на порядки сканирования.

Дополнительно, режим разделения, как описано Bae Keun Lee, Jae Cheol Kwon и Joo Young Kim в работе «Способ и устройство для сканирования коэффициента на основании режима разделения блока предсказания», публикация патентной заявки США, US 2014/0314143 A1, PCT/KR2012/009373, 8 ноября 2012 г., и параметры квантования (QP), представленные Thai-Ha Nguyen, Yoichi Yagasaki и Ali Tabatabai в документе «Адаптивное сканирование коэффициентов и применение QP», публикация патентной заявки США, US 2011/0249726 A1, 1 апреля 2011 г., могут быть использованы в качестве признаков для выбора порядка сканирования не только для внутреннего кодирования, но так же и для внешнего кодирования.

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

Пример процесса выбора порядка сканирования в процедуре, основанной на RDO, описан, например, в работе Muhammed Zeyd Coban и Marta Karczewicz. «Адаптивное сканирование коэффициентов преобразования для кодирования видео», публикация патентной заявки США, US 2012/0099646 A1, 17 октября 2011 г. В этом случае, выбирают порядок сканирования, который обеспечивает наименьшую RD-стоимость. Таким образом, основное преимущество этого подхода заключается в том, что выбранный порядок сканирования обеспечивает наивысший коэффициент кодирования. Следовательно, эффективность кодирования этого подхода выше, чем для других способов, если не принимать в расчет объем служебной сигнализации.

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

Другим способом повышения эффективности сжатия, по сравнению с MDCS, является адаптация порядка сканирования в соответствии с полученными статистическими данными для блоков, которые имеют одинаковые значения параметров, таких как режим внутреннего предсказания, режим разделения, размер блока и т.д., вместо использования априори определенных порядков сканирования. Соответственно, определяют исходные порядки сканирования для использования в случаях, когда статистических данных недостаточно. Когда количество блоков, используемых для сбора статистических данных, превышает пороговое значение, порядок сканирования может быть адаптирован на основании полученных статистических данных, см. Yan Ye and Marta Karczewicz. «Адаптивное сканирование коэффициентов для кодирования видео», патент США US 8,488,668 B2, 4 июня 2008 г. Аналогичный подход описан в работе Sridhar Srinivasan «Порядок адаптивного сканирования коэффициента», описание изобретения к европейскому патенту, EP 1679903 B1, 30.11.2005.

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

Раскрытие сущности изобретения

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

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

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

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

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

Таким образом, настоящее изобретение обеспечивает как заданные порядки сканирования, так и контекстно-адаптивные сгенерированные порядки сканирования. Расширяя набор доступных порядков сканирования, соответственно, повышают эффективность квантования «скорость-искажение».

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Таким образом, настоящее изобретение выгодно тем, что оно обеспечивает как заданные порядки сканирования, так и контекстно-адаптированные сгенерированные порядки сканирования. Расширяя набор доступных порядков сканирования, соответственно, повышая эффективность квантования «скорость-искажение».

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- количество значимых коэффициентов в пределах вектора коэффициента скрытия или

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

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

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

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

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

В форме реализации декодера, согласно пятому аспекту изобретения, результат функции проверки зависит от координат (x, y) в матрице коэффициентов последнего значимого коэффициента вектора коэффициента скрытия. Функция проверки может, например, быть следующей функцией:

x и y являются координатами и R - целочисленное значение. Таким образом, результат функции проверки может быть получен непосредственно из координат коэффициентов.

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

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

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

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

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

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

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

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

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

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

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

- количество значимых коэффициентов в пределах вектора коэффициента скрытия или

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

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

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

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

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

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

- применения функции проверки к вектору коэффициента скрытия, чтобы получить результат функции проверки,

- определения, соответствует ли результат функции проверки информации порядка сканирования,

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

В форме реализации кодера, согласно седьмому аспекту изобретения, результат функции проверки зависит от координат (x, y) в матрице коэффициентов последнего значимого коэффициента вектора коэффициента скрытия. Функция проверки может, например, быть следующей функцией:

x и y являются координатами и R - целочисленное значение.

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

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

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

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

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

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

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

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

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

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

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

Фиг.1 иллюстрирует видеокодер согласно варианту осуществления настоящего изобретения.

Фиг.2 иллюстрирует видеодекодер согласно варианту осуществления настоящего изобретения.

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

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

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

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

Фиг.7 и фиг.8 иллюстрируют условие скрытия согласно варианту осуществления настоящего изобретения.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Режим предсказания для получения остаточного сигнала 101 может соответственно ссылаться на режим внутреннего или внешнего предсказания. Дополнительно, режим предсказания может соответствовать любому из множества доступных режимов предсказания или направлений. Например, множество доступных режимов предсказания может содержать до 35 режимов внутреннего предсказания, которые могут включать в себя 33 направленных режима и 2 ненаправленных режима, таких как режим предсказания постоянного тока (DC) и режим планарного предсказания. 33 направленные режимы могут охватывать угловой диапазон π-радиан или 180 градусов. Если направление вертикального режима рассматривают как нулевой градус, то 33 направленных режима могут быть симметричными относительно оси -45 градусов. Что касается режима предсказания, то кодер может быть выполнен с возможностью определять для данного блока один из множества доступных режимов предсказания на основании функции оптимизации по скорости-искажению (RDO).

Блок дерева кодирования (CTU) является корнем кодирования структуры видеопоследовательности заданного размера, содержащей часть изображения (например, 64x64 пикселей). CTU можно разделить на блоки кодирования (CUs). CU представляет собой базовую структуру кодирования видеопоследовательности заданного размера, содержащую часть изображения, принадлежащего CTU. CU может быть разделен на дополнительные CUs. Блок прогнозирования (PU) представляет собой структуру кодирования, которая является результатом разделения CU. PU может быть разделен на несколько блоков трансформации (TUs) или совпадает с одним TU. PU может быть предсказан посредством применения внутреннего или внешнего предсказания в соответствии с типом обработки, применяемой для пикселей PU. В случае внешнего предсказания, PU представляет собой область пикселей, которую обрабатывают компенсацией движения, используя вектор движения, указанный для PU.

В этом отношении режим разделения может зависеть от PU и, в частности, от размера и/или ориентации PU. Режим разделения может соответствовать любому из множества доступных режимов разделения. Кодер может быть выполнен с возможностью определять для блока или PU один из множества доступных режимов разделения на основании RDO способа. Например, режим разделения может соответствовать горизонтально ориентированной форме, в которой CU может быть разделен на 2N × N PUs или блоки. Кроме того, режим разделения может соответствовать вертикально ориентированной форме, в которой CU может быть разделен на N × 2N PUs или блоки или квадратной форме, в которой CU может быть разделен на 2N × 2N PUs или блоки.

Остаточный сигнал 101 может быть подан в модуль 102 преобразования для преобразования кодирования остаточного сигнала 101, чтобы получить коэффициенты преобразования. В частности, для внутреннего предсказания PU может указывать режим предсказания для набора ТUs. TU может иметь разные размеры, например, 4x4, 8x8, 16x16 и 32x32 пикселя, и может обрабатываться по-разному. Примеры преобразований, которые могут быть применены к остаточному сигналу, содержат, например, дискретное косинусное преобразование (DCT) и дискретное синусное преобразование (DST).

В этом отношении параметром преобразования может быть размер или форма TU, или как размер, так и форма. Дополнительным параметром преобразования может быть применяемое преобразование, например, DCT или DST и другие.

Остаточный сигнал 101, вычисленный для блока исходного изображения, преобразуют модулем 102 преобразования, и затем квантуют модулем 103 квантования. Модуль 103 квантования обрабатывает коэффициенты преобразования, чтобы получить квантованные коэффициенты преобразования (QTCs) в форме матрицы коэффициентов.

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

Матрицу коэффициентов сериализуют с помощью сериализатора 104 путем сканирования в порядке, определенном селектором 109 порядка сканирования. Порядок сканирования может быть выбран из заданных порядков сканирования, предоставленных списком 110 шаблонов сканирования, или из сгенерированных порядков сканирования, предоставляемые генератором 111 порядка сканирования. Порядки сканирования, предоставляемые списком 110 шаблонов сканирования, предварительно определенные как для стороны кодера 100, так и для декодера 200 и, следовательно, порядок сканирования, выбранный из списка 110 шаблона сканирования, является статическим, т.е. не изменяются во всем процессе кодирования или декодирования. Порядки сканирования, предоставляемые генератором 111 порядка сканирования, являются динамическими, то есть, генерируются в зависимости от одной или более ранее полученных матриц коэффициентов блоков видеопоследовательности. В частности, сгенерированные порядки сканирования могут быть сгенерированы в соответствии со статистическими данными распределения матриц коэффициентов во время процесса кодирования или декодирования.

Один или более векторов коэффициентов, полученных сериализатором 104 из матрицы коэффициентов, хранят в буфере 105 квантованных коэффициентов. Модуль 106 кодирования может быть в форме модуля энтропийного кодирования для энтропийного кодирования векторов коэффициентов, в поток 108 бит. Порядок сканирования, выбранный селектором 109 порядка сканирования, может быть идентифицирован с помощью индекса сканирования или информации SCAN_IDX порядка сканирования.

Эта информация индекса сканирования может быть явно добавлена в поток 107 бит, то есть, значение информации SCAN_IDX порядка сканирования может быть сохранено в потоке 107 бит с помощью выделенной переменной или параметром. Альтернативно, модуль 112 скрытия может быть выполнен с возможностью скрывать, по меньшей мере, частично информацию SCAN_IDX порядка сканирования в векторах коэффициентов, то есть, в значениях матрицы коэффициентов после сериализации. Например, модуль 112 скрытия может соответственно выполнять корректировку коэффициентов, сохраненных в буфере 105 квантованных коэффициентов, так что соответствующий модуль проверки, расположенный в модуле 212 проверки декодера 200, может извлекать информацию SCAN_IDX порядка сканирования, применяя к ним функцию проверки. Полученные скорректированные коэффициенты или векторы коэффициентов, сохраненные в буфере 105 квантованных коэффициентов, затем могут быть энтропийно закодированы и переданы в декодер 200 в поток 107 бит.

Коэффициенты одного или более векторов коэффициентов, сохраненные в буфере 105 квантованных коэффициентов, могут быть скорректированы или нет, в зависимости от того, явно или неявно передана ли информация SCAN_IDX порядка сканирования в потоке 107 бит, то есть, в зависимости от того, скрыта ли информация порядка сканирования или нет.

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

- определения набора параметров кодирования этого блока и

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

В этом отношении набор параметров кодирования соответствует конкретной комбинации, по меньшей мере, одного или более:

- режим предсказания,

- режим разделения,

- один или более параметров преобразования, и

- один или более параметров квантования.

Режим предсказания, режим разделения, параметры преобразования и параметры квантования обычно упоминаются ссылкой 108 на фиг.1. Например, набор параметров кодирования может соответствовать только режиму предсказания (например, конкретный режим направленного внутреннего предсказания), только режим разделения (например, конкретная ориентация PU), только одному или нескольким параметрам преобразования (например, конкретный размер и/или форма TU) или только одному или нескольким параметрам квантования (например, конкретное количество существенных коэффициентов матрицы коэффициентов). Кроме того, набор параметров кодирования может соответствовать конкретной комбинации режима предсказания, режима разделения, параметров преобразования и/или параметров квантования.

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

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

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

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

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

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

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

В частности, на фиг.2 показан пример остаточной декодирующей части с выбором контекстно-адаптированного порядка сканирования. В этом примере декодер 200 выполнен с возможностью получать остаточный сигнал 201 из потока 207 битов. После генерации посредством модуля 206 декодирования (например, модуля энтропийного декодирования) и десериализатора 204 матрица коэффициентов, содержащая коэффициенты квантованного преобразования, буфер 205 квантованных коэффициентов сохраняет упомянутую матрицу коэффициентов. Сохраненная матрица коэффициентов затем обрабатывается модулем 203 обратного квантования и модулем 202 обратного преобразования для получения остаточного сигнала 201, соответствующего остаточному сигналу 101 в кодере 100. Используя остаточный сигнал 201, можно восстановить кодированную видеопоследовательность согласно известным технологиям.

Блок 213 оценки распределения коэффициентов декодера 200 может быть аналогичным или идентичным по функциям блоку 113 оценки распределения коэффициентов кодера 100. В этом примере они отличаются тем, что блок 213 оценки распределения коэффициентов принимает в качестве входных данных матрицу коэффициентов, сохраненную в буфере 205 квантованных коэффициентами, при этом, блок 113 оценки распределения коэффициентов принимает в качестве входных данных матрицу коэффициентов, полученную из десериализатора 114.

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

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

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

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

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

На видеодекодере оценка 301 статистических данных распределения с помощью блока 213 оценки распределения коэффициентов содержит несколько этапов.

На этапе 302 режим предсказания, режим разделения, параметры преобразования и/или параметры 208 квантования для блока анализируют из потока 207 бит. Предпочтительно этот синтаксический анализ выполняют модулем 206 декодирования. Согласно анализируемой информации, селектор 209 порядка сканирования предпочтительно определяет режим кодирования этого блока.

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

На этапе 304 селектор 209 порядка сканирования выбирает порядок сканирования для этого блока из заданных и сгенерированных порядков сканирования на основании проанализированной информации SCS_IDX порядка сканирования.

На этапе 305 определяют, является ли выбранный порядок сканирования заданным порядком сканирования, предоставляемым модулем 210 списка шаблонов сканирования, или сгенерированным порядком сканирования, предоставляемым генератором 211 порядка сканирования.

Если порядок сканирования, выбранный для этого блока, является сгенерированным (например, предоставленным генератором 211 порядка сканирования), блок 213 оценки распределения коэффициентов на этапе 306 обновляет текущие статистические данные распределения. Эти текущие статистические данные распределения получают предпочтительно из предыдущих блоков. Текущие статистические данные распределения обновляют в соответствии со статистическими данными распределения матрицы коэффициентов, полученной для этого блока.

Если, однако, порядок сканирования, выбранный для этого блока, является заданным (например, предоставленным модулем 210 списка шаблонов сканирования), блок 213 оценки распределения коэффициентов на этапе 306 обрабатывает статистические данные распределения этого блока отдельно от текущих статистических данных распределения. Например, блок 213 оценки распределения коэффициентов может не обновлять или может сбросить показания текущих статистических данных распределения.

После этапа 306 или 307 завершают процесс оценки статистических данных распределения (на этапе 308).

На фиг.4 показана блок-схема алгоритма оценки статистических данных распределения в видеокодере согласно варианту осуществления настоящего изобретения.

В видеокодере процесс оценки 401 статистических данных распределения с помощью блока 113 оценки распределения коэффициентов содержит несколько этапов.

На этапе 402 выполняют RDO процедуру селектором 109 порядка сканирования, чтобы выбирать из заданных порядков сканирования, предоставляемых модулем 110 списка шаблонов сканирования, и сгенерированных порядков сканирования, предоставляемых генератором 111 порядка сканирования, порядок сканирования, который обеспечивает минимальную стоимость скорость-искажение (RD). На этом этапе получают информацию SCAN_IDX порядка сканирования для выбранного порядка сканирования.

На этапе 403 получают порядок сканирования, соответствующий выбранной информации SCAN_IDX порядка сканирования.

Дальнейшие этапы 404-407 соответствуют этапам 305-308, показанным на фиг.3.

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

Один из возможных способов инициализации списка порядка сканирования показан на фиг.5. На фиг.5 соответственно показана блок-схема последовательности операций 500 инициализации 501 списка порядков сканирования в соответствии с вариантом осуществления настоящего изобретения.

Процесс инициализации зависит от режима предсказания, режима разделения, параметров преобразования и параметров квантования, заданных для обрабатываемого блока.

На этапе 502 определяют, является ли режим предсказания этого блока планарным режимом внутреннего предсказания. Если это так, то список шаблонов сканирования предварительно определенных порядков сканирования определен 508 так, чтобы содержать заданный Z-порядок и порядки диагонального сканирования. Если это неверно, то выполняют этап 503.

На этапе 503 определяют, является ли режим предсказания этого блока DC режимом внутреннего предсказания. Если это верно, то список шаблонов сканирования заданных порядков сканирования определяют 508 так, чтобы содержать заданный Z-порядок и порядки диагонального сканирования. Если это ложно, то выполняют этап 504.

На этапе 504 определяют, является ли режим предсказания этого блока угловым режимом внутреннего предсказания, близким к горизонтали. Если это так, то список шаблонов сканирования заданных порядков сканирования определяют 509 так, чтобы содержать вертикальные, вертикально-диагональные и спиральные порядки сканирования. Если это ложно, то выполняют этап 505.

На этапе 505 определяют, является ли режим предсказания этого блока угловым режимом внутреннего предсказания, близким к вертикали. Если это так, то список шаблонов сканирования заданных порядков сканирования определяют 510 так, чтобы содержать горизонтальные, горизонтально-диагональные и спиральные порядки сканирования. Если это ложно, то выполняют этап 506.

На этапе 506 определяют, является ли режим предсказания этого блока угловым режимом внутреннего предсказания, близким к диагонали. Если это так, список шаблонов сканирования заданных порядков сканирования определяют 511 так, чтобы содержать диагональные, Z-порядка и спиральные порядки сканирования. Если это ложно, то выполняют этап 507. На этапе 507 список шаблонов сканирования заданных порядков сканирования определяют так, чтобы содержать диагональный порядок сканирования.

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

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

Как показано на фиг.5, заданные порядки сканирования могут зависеть от режима предсказания и/или режима разделения и/или параметров преобразования и/или параметров квантования. Например, наиболее вероятными порядками сканирования для случаев DC или планарных режимов внутреннего предсказания являются Z-порядок и порядок диагонального сканирования. Для угловых режимов могут учитывать направленность остаточного сигнала, так что заданные порядки сканирования могут быть выбраны как ортогональные по отношению к направленности режима внутреннего предсказания.

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

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

Например, этот список заданных порядков сканирования может быть обновлен в соответствии с размерами преобразования. Меньшие размеры TU вводят ограничения на некоторые шаблоны сканирования. Затем, например, спиральные порядки сканирования могут быть исключены из списка заданных порядков сканирования, если размер TU меньше 8x8 пикселей.

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

Пример зависимости схемы сигнализации от QP показан на фиг.6. На фиг.6 в частности показана блок-схема алгоритма 600 неявной и явной сигнализации для выбранного порядка сканирования согласно варианту осуществления настоящего изобретения.

На первом этапе 601 получают QP значение. Если это QP значение меньше или равно 602 для QP значения для высоких скоростей QPHBR передачи, тогда информация SCAN_IDX порядка сканирования должна быть закодирована энтропийным кодом 603 в потоке битов.

Если QP значение превышает значение QPHBR и ниже дополнительного QP значения для низких скоростей QPLBR передачи, тогда информация SCAN_IDX порядка сканирования должна быть частично энтропийно закодирована 606 и частично скрыта в квантованных коэффициентах преобразования с помощью модуля 112 скрытия.

Если QP значение превышает значение QPHBR и выше или равно этому дополнительному QP значению для низких скоростей QPLBR, тогда информация SCAN_IDX порядка сканирования должна быть скрыта 605 в пределах квантованных коэффициентов преобразования с помощью модуля 112 скрытия.

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

В соответствии с настоящим изобретением предлагают декодер 200 для декодирования коэффициентов блоков видеопоследовательности из потока 207 битов. Декодер содержит:

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

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

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

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

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

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

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

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

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

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

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

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

Параметр может представлять собой:

- количество значительных, то есть, ненулевых, коэффициентов в пределах скрытого вектора коэффициентов, или

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

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

в котором условие скрытия истинно, если параметр превышает пороговое значение, и ложно, если параметр ниже порогового значения.

Фиг.7 и фиг.8 показывают условия скрытия согласно варианту осуществления настоящего изобретения. В частности, на фиг.7 показан блок или TU, который подразделяют на группы коэффициентов (CGs), каждый вектор коэффициентов соответствует группе коэффициентов. На фиг.8 показан пример вектора коэффициентов, иллюстрирующий случай, когда параметр представляет собой расстояние N между первым и последним значительными, то есть, ненулевыми коэффициентами в пределах вектора коэффициентов. Если значение N превышает пороговое значение TSIG, то условие скрытия истинно, и информация порядка сканирования может быть скрыта в этом векторе коэффициентов.

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

- применения функции проверки к вектору коэффициента скрытия, чтобы получить результат функции проверки,

- определения, соответствует ли результат функции проверки информации SCAN_IDX порядка сканирования,

- если нет, то изменением вектора коэффициента скрытия, чтобы результат функции проверки соответствовал информации SCAN_IDX порядка сканирования.

Предлагают, что результат функции проверки зависит от координат (x, y) в матрице коэффициентов последнего значимого коэффициента вектора коэффициента скрытия. Функция проверки может быть, например, следующей функцией:

x и y являются координатами и R является целочисленным значением.

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

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

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

В этом отношении на фиг.9 показано энтропийное декодирование 901 коэффициентов согласно предшествующему уровню техники и, в частности, согласно стандарту кодирования видео H.265. Энтропийное декодирование 901 содержит декодирование 902 X и Y координат последнего значимого, то есть, ненулевого QTC. Затем маску QTCs значений значимости (маску значимости) сигнализируют 903 согласно порядку сканирования, начиная с последнего QTC значимого. Значения и знаки анализируют 904, 905 из потока битов только для значений значительных коэффициентов.

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

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

В варианте осуществления, показанном на фиг.10, возможен порядок сканирования, скрытый в QTC. Во время процесса кодирования на этапах квантования 1001 и скрытия 1002 применяют несколько разных порядков сканирования, индексированных посредством SCAN_IDX. Процедура 1001 квантования может использовать информацию сканирования для оценки количества бит (то есть, скорости передачи битов) для кодирования QTC значений и для выполнения оптимизации по скорости-искажению путем корректировки этих QTC значений относительно оценочной скорости передачи битов.

Если процесс скрытия не был выполнен 1003, то есть, например, если условие скрытия является ложным, тогда выбирают 1004 другой порядок SCAN_IDX сканирования. Предпочтительно, выбирают другой порядок сканирования, до тех пор пока не будет успешно выполнен процесс скрытия. Если выбранный порядок сканирования является порядком сканирования по умолчанию, например, то процесс скрытия не выполняют.

Если процесс скрытия выполнен успешно или выбран порядок сканирования по умолчанию, тогда можно переупорядочить 1005 QTCs в соответствии с порядком сканирования по умолчанию. Следующие этапы содержат сериализацию 1006 QTCs и энтропийное кодирование 1007. Упомянутые этапы 1006 и 1007 могут соответствовать этапам 104 и 106 на фиг.1. Сериализация 1006 также может быть выполнена между 1001 и 1002, как это имеет место на фиг.1.

Процесс скрытия 1002 содержит проверку условия скрытия, а также изменение QTCs для выполнения условия скрытия. Процедура изменения может включать в себя: изменение QTCs значений, установку QTCs значений на ноль и изменение незначительных (нулевых) QTCs на значимые (отличные от нуля). Очевидно, что всегда можно скорректировать QTCs так, чтобы выполнялось условие скрытия. Тем не менее, корректировки QTCs на стороне кодера ограничены искажениями, вызванными этими корректировками, и применяют корректирующие ограничения с учетом сказанного. Например, из-за процедуры квантования диапазон корректировки коэффициента ограничен значениями плюс или минус один. Это ограничение позволяет избежать операции скрытия, т.е. не было возможных корректировок QTCs для удовлетворения условия скрытия (1003 оценивает случай «нет» для порядков сканирования не по умолчанию).

На стороне декодера после энтропийного декодирования 1011 извлекают 1012 скрытую информацию из сериализованных данных, и поэтому этап скрытия также требует информацию порядка сканирования, который будет использован на стороне декодера, чтобы он мог быть адаптирован в отношении выбранного порядка сканирования. Процедура скрытия данных также может быть выполнена совместно с квантованием, как это делается, например, для скрытия знакового бита. Однако скрытие может привести к сбою некоторых QTCs, поскольку условие скрытия не выполняется. Например, TU имеет ряд значительных QTCs ниже порогового значения. В этом случае дополнительная обработка зависит от того, является ли порядок сканирования порядком по умолчанию. Если использовался порядок сканирования по умолчанию, то декодер может извлечь 1015 его, применив одно и то же условие скрытия к анализируемым QTCs на этапе энтропийного декодирования. В противном случае, порядок сканирования пропускают, и проверяют следующий порядок сканирования, при доступности.

Если действует порядок сканирования по умолчанию, то этап переупорядочения QTCs может быть пропущен, поскольку исходный и целевой порядки сканирования являются одними и теми же. Для порядков сканирования не по умолчанию предлагают выполнять этап переупорядочивания коэффициентов для выполнения энтропийного кодирования и энтропийного декодирования без изменений. Конкретная реализация может использовать операцию переопределения соответствия, чтобы избежать ненужной операции копирования для переупорядочения, то есть, путем переопределения соответствия между координатами 2D QTC матрицы и 1D позицией в пределах выбранного порядка сканирования. На этапе сериализации/десериализации это переопределения соответствия может предоставлять CABAC индексы контекста и последние значительные QTC координаты для данной 1D позиции сканирования, как если бы QTCs были переупорядочены.

На фиг.11 показан процесс переупорядочивания коэффициента в соответствии с настоящим изобретением и, в частности, показан пример QTCs переупорядочения для 4x4 блока: переупорядочение с диагонального до горизонтального сканирования.

В этом отношении делают ссылку на документ «Кодирование коэффициента преобразования в HEVC» автора Joel Sole et al., IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, том. 22, №12, декабрь 2012, страницы 1765-1777. В разделе V.B этого документа указано, что кодируют флаг значимости с использованием контекстной модели для каждого коэффициента между последним в порядке сканирования (который исключают) и DC коэффициентом. Для 4×4 блока преобразования TB, то есть, матрицы QTCs, контекст зависит от позиции коэффициента в TB, как в H.264/AVC. Несмотря на то, что для сериализованных и бинаризированных данных выполняют энтропийное кодирование, выбирают контекстную модель для кодирования бита значимости QTC в зависимости от позиции этого QTC в QTCs матрице и значимости пространственно соседних QTCs (справа и ниже). Используемый в настоящее время декодер анализирует бит значимости из потока битов с использованием контекстной модели, который выбирают в соответствии с позицией QTC, для которой анализируют этот бит, и позициями ранее декодированных значимых QTCs. Если порядок сканирования недоступен декодеру, то пространственная позиция QTC не определена и, следовательно, контекстная модель не может быть получена.

Предлагаемый этап переупорядочения, как показано, например, на фиг.11, до энтропийного кодера, гарантирует, что кодер и декодер будут использовать один и тот же порядок сканирования и те же контекстные модели для кодированных/декодированных QTСs.

На фиг.11, конкретно описывают случай, когда после квантования была получена матрица QTC (левая нижняя ее часть) с последним значимым коэффициентом (для диагонального сканирования), расположенным в точке (x = 1, y = 2). В случае диагонального сканирования должны быть закодированы 8 битов значимости коэффициента.

Для выбора другого порядка сканирования (например, селектором 109), например, горизонтального сканирования вместо диагонального, может быть выгодным кодировать первые два ряда битов QTCs плюс два бита QTC третьей строки (всего 10 QTCs). Однако, если переупорядочивают этот коэффициент от диагонального сканирования до горизонтального (как показано в верхней части фиг.11), то должна быть закодирована позиция последнего тех же 8 QTC битов.

Для модуля 106 энтропийного кодирования доступны два порядка сканирования:

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

- порядок сканирования, выбранный селектором 109 порядка сканирования.

Когда модуль энтропийного кодирования выбирает контекстную модель в соответствии с QTC позицией, то используют не только X, Y, определенные селектором 109 порядка сканирования, но и пересчитывают X, Y для соответствующей позиции QTC после его переупорядочения.

Например, в примере на фиг.11 предлагают рассмотреть случай, когда селектор 109 порядка сканирования выбрал диагональное сканирование, и порядок сканирования по умолчанию является горизонтальный порядком сканирования. Модуль 106 энтропийнго кодирования будет кодировать коэффициент, расположенный на позиции (x = 1, y = 1) (обозначенный как «E» для диагонального сканирования) с использованием контекстного модуля переупорядоченной позиции (x0, y = 2) (также обозначено как «E» для горизонтального сканирования), а также соседние коэффициенты будут определены не как «I» и «H», а как «F» и «I».

Эта операция переупорядочения может быть реализована как переопределение соответствия X и Y координат с выбранного порядка сканирования на порядок сканирования по умолчанию, то есть, для реализации этого переупорядочения нет необходимости выполнять операции копирования/изменения в памяти для QTCs, но просто для обеспечения таблицы поиска для x и y координат для каждой из (выбранного порядка сканирования, порядка сканирования по умолчанию) пары.

При выполнении процесса скрытия данных может быть использованы известные способы для встраивания порядка сканирования в QTCs. Однако в данном случае скрытия порядка сканирования дополнительная возможность заключается в том, что порядок сканирования может быть задан условием, применяемым к координатам последнего QTC значимого значения (x, y), например:

mod(x+y,2) = scan_idx (c1)

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

На фиг.12 метки «X» указывают позиции, которые проверяют с использованием условия (C1). Также можно объединить этот подход со скрытыми данными в QTC значениях. Например, значение, полученное из последней значимой QTC позиции, может быть использовано как часть условия скрытия для скрытия в QTC значениях.

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

mod(x+y +R,2) = scan_idx.

Значение R должно быть, на сколько возможно, быть некоррелированным к выбранному порядку сканирования. Например, это может быть количеством соседних TUs, значение четности суммы значений опорных отсчетов или общим количеством закодированных битов.

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

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

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

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

Настоящее изобретение в его вариантах осуществления мультимедийного кодирования дополнительно обеспечивает преимущество, заключающееся в том, что настоящее изобретение может быть использовано во многих потенциальных приложениях в рамках гибридного кодирования видео, которые совместимы с совместной моделью исследования (JEM), которая является основой для стандарта кодирования следующего поколения. Дополнительным преимуществом является пониженная BD-скорость (Bjøntegaard дельта-скорость) и улучшение субъективного качества по сравнению с JEM1. Дополнительное преимущество заключается в возможности замены вычислительно сложное адаптивное множественное преобразование (AMT), также известное как усовершенствованное множественное преобразование (EMT), на более простую процедуру выбора порядка адаптивного сканирования.

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

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

Похожие патенты RU2706228C1

название год авторы номер документа
СПОСОБ И УСТРОЙСТВО ВЫБОРА ПОРЯДКА СКАНИРОВАНИЯ 2016
  • Филиппов Алексей Константинович
  • Руфицкий Василий Алексеевич
RU2707719C1
ЗАВИСЯЩЕЕ ОТ РЕЖИМА СКАНИРОВАНИЕ КОЭФФИЦИЕНТОВ БЛОКА ВИДЕОДАННЫХ 2011
  • Чжэн Юньфей
  • Кобан Мухаммед Зейд
  • Соле Рохальс Хоэль
  • Карчевич Марта
RU2547239C2
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ С ПРЕОБРАЗОВАНИЕМ С ВЫБОРОМ ПРЕОБРАЗОВАНИЯ БЛОКОВОГО УРОВНЯ И НЕЯВНОЙ СИГНАЛИЗАЦИЕЙ В РАМКАХ ИЕРАРХИЧЕСКОГО РАЗБИЕНИЯ 2015
  • Филиппов Алексей Константинович
  • Руфицкий Василий Алексеевич
RU2682838C1
КВАНТОВАНИЕ, ОСНОВАННОЕ НА МОДЕЛИРОВАНИИ ИСКАЖЕНИЯ СКОРОСТИ ПЕРЕДАЧИ, ДЛЯ КОДЕРОВ CABAC 2009
  • Карчевич Марта
  • Е Янь
RU2475999C2
СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ 2018
  • Коо, Моонмо
  • Ким, Сеунгхван
RU2746706C1
Устройство, способ и компьютерная программа для кодирования и декодирования видео 2020
  • Лайнема Яни
RU2795346C1
Способ и устройство для видеокодирования 2020
  • Чжао Синь
  • Ли Сян
  • Лю Шань
RU2780422C1
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ ОБЛАКА ТОЧЕК 2020
  • Чжан Сян
  • Гао Вэнь
  • Лю Шань
RU2799041C1
СПОСОБ И УСТРОЙСТВО ДЛЯ УМЕНЬШЕНИЯ КОЛИЧЕСТВА КОНТЕКСТНЫХ МОДЕЛЕЙ ДЛЯ ЭНТРОПИЙНОГО КОДИРОВАНИЯ ФЛАГА ЗНАЧИМОСТИ КОЭФФИЦИЕНТА ПРЕОБРАЗОВАНИЯ 2020
  • Оуян Чун
  • Чжао Синь
  • Ли Сян
  • Лю Шань
RU2783341C1
СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И НОСИТЕЛЬ ЗАПИСИ, НА КОТОРОМ ХРАНИТСЯ БИТОВЫЙ ПОТОК 2019
  • Канг, Дзунг Вон
  • Ли, Ха Хиун
  • Лим, Сунг Чанг
  • Ли, Дзин Хо
  • Ким, Хой Йонг
  • Парк, Гван Хоон
  • Ким, Тае Хиун
  • Ли, Дэ Йоун
RU2769959C1

Иллюстрации к изобретению RU 2 706 228 C1

Реферат патента 2019 года СПОСОБ И УСТРОЙСТВО ВЫБОРА ПОРЯДКА СКАНИРОВАНИЯ

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

Формула изобретения RU 2 706 228 C1

1. Декодер для декодирования коэффициентов блоков видеопоследовательности из потока битов, содержащий:

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

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

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

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

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

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

4. Декодер по п.3, в котором параметр представляет собой:

количество значимых коэффициентов в пределах вектора коэффициентов скрытия, или

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

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

условие скрытия истинно, если параметр выше порогового значения, и ложно, если параметр ниже порогового значения.

5. Декодер по п.3 или 4, в котором модуль проверки выполнен с возможностью проверки условия скрытия и восстановления скрытой информации из вектора коэффициентов скрытия, если условие скрытия является истинным.

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

7. Декодер по п.2, в котором модуль проверки выполнен с возможностью восстановления скрытой информации из вектора коэффициентов скрытия посредством применения функции проверки к вектору коэффициентов скрытия, при этом результатом функции проверки является скрытая информация.

8. Декодер по п.7, в котором результат функции проверки зависит от координат (x, y) в матрице коэффициентов последнего значимого коэффициента вектора коэффициентов скрытия, в частности, функция проверки является следующей функцией:

, где

x и y являются координатами, а R является целочисленным значением.

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

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

10. Декодер по п.1, в котором набор порядков сканирования представляет собой набор заданных и сгенерированных порядков сканирования.

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

декодируют один или более векторов коэффициентов каждого блока из потока битов,

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

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

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

12. Способ по п.11, в котором набор порядков сканирования представляет собой набор заданных и сгенерированных порядков сканирования.

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

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

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

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

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

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

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

16. Кодер по п.15, в котором параметр представляет собой:

количество значимых коэффициентов в пределах вектора коэффициентов скрытия, или

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

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

условие скрытия истинно, если параметр выше порогового значения, и ложно, если параметр ниже порогового значения.

17. Кодер по п.15 или 16, в котором модуль скрытия выполнен с возможностью проверки условия скрытия и скрытия информации порядка сканирования в векторе коэффициентов скрытия, когда условие скрытия является истинным.

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

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

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

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

определения, соответствует ли результат функции проверки информации порядка сканирования,

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

21. Кодер по п.20, в котором результат функции проверки зависит от координат (x, y) в матрице коэффициентов последнего значимого коэффициента вектора коэффициентов скрытия, в частности, функция проверки является следующей функцией:

, где

x и y являются координатами, а R является целочисленным значением.

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

23. Кодер по п.13, в котором набор порядков сканирования представляет собой набор заданных и сгенерированных порядков сканирования.

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

выбирают порядок сканирования для каждого блока из набора порядков сканирования,

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

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

осуществляют кодирование векторов коэффициентов в поток битов.

25. Способ по п.24, в котором набор порядков сканирования представляет собой набор заданных и сгенерированных порядков сканирования.

26. Декодер для декодирования коэффициентов блоков видеопоследовательности из потока битов, содержащий:

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

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

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

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

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

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

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

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

селектор порядка сканирования выполнен с возможностью выбора порядка сканирования для каждого блока посредством:

определения набора параметров кодирования указанного блока, и

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

28. Декодер по п.27, дополнительно содержащий:

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

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

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

30. Декодер по п.27, в котором модуль декодирования выполнен с возможностью анализа, для каждого блока, информации параметра кодирования из потока битов, а

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

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

32. Декодер по п.26, дополнительно содержащий:

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

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

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

предоставляют один или более заданных порядков сканирования,

генерируют один или более порядков сканирования,

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

декодируют один или более векторов коэффициентов каждого блока из потока битов,

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

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

34. Способ по п. 33, дополнительно содержащий этап, на котором:

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

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

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

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

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

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

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

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

36. Кодер по п.35, в котором

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

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

селектор порядка сканирования выполнен с возможностью выбора порядка сканирования, для каждого блока, посредством:

определения набора параметров кодирования указанного блока, и

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

37. Кодер по п.36, дополнительно содержащий:

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

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

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

39. Кодер по п.36, дополнительно содержащий:

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

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

41. Кодер по п. 35, дополнительно содержащий:

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

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

предоставляют один или более заданных порядков сканирования,

генерируют один или более порядков сканирования,

выбирают порядок сканирования для каждого блока из заданных и сгенерированных порядков сканирования,

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

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

43. Способ по п. 42, дополнительно содержащий этап, на котором:

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

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

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

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

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

Документы, цитированные в отчете о поиске Патент 2019 года RU2706228C1

US 2013272424 A1, 2013-10-17
WO 2012054805 A1, 2012-04-26
СКАНИРОВАНИЕ КОЭФФИЦИЕНТОВ ПРИ КОДИРОВАНИИ ВИДЕО 2012
  • Джоши Раджан Лаксман
  • Соле Рохальс Хоэль
  • Карчевич Марта
  • Чжэн Юньфэй
  • Ван Сянлинь
RU2604421C2
US 2013051459 A1, 2013-02-28
US 6148109 A, 2000-11-14
СПОСОБ И УСТРОЙСТВО ДЛЯ ОПРЕДЕЛЕНИЯ СПОСОБА СКАНИРОВАНИЯ НА ОСНОВАНИИ РЕЖИМА ДЕЛЕНИЯ БЛОКА ПРЕДСКАЗАНИЯ 2012
  • Лэе Бэ Кын
  • Квон Джэ Чхол
  • Ким Джо
RU2585976C2

RU 2 706 228 C1

Авторы

Филиппов Алексей Константинович

Руфицкий Василий Алексеевич

Даты

2019-11-15Публикация

2016-02-12Подача