СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ ОСТАТОЧНОГО БЛОКА, СПОСОБ И УСТРОЙСТВО ДЛЯ ДЕКОДИРОВАНИЯ ОСТАТОЧНОГО БЛОКА
METHOD AND APPARATUS FOR ENCODING RESIDUAL UNIT, METHOD AND APPARATUS FOR DECODING RESIDUAL UNIT

Область техники
Устройства и способы согласно настоящему изобретению относятся к кодированию и декодированию и, в частности, к кодированию и декодированию остаточного блока.
Уровень техники
При разработке аппаратного обеспечения для воспроизведения и сохранения видеоконтента высокого разрешения или высокого качества возникает необходимость в кодеке видео для эффективного кодирования и декодирования видеоконтента высокого разрешения или высокого качества. В кодеке видео согласно существующему уровню техники видео кодируется в соответствии с ограниченным режимом предсказания на основе макроблока предопределенного размера. Кроме того, кодек видео согласно существующему уровню техники кодирует остаточный блок, используя элемент преобразования малого размера, такой как 4×4 или 8×8.
Раскрытие изобретения
Техническая проблема
Кодек видео согласно существующему уровню техники кодирует остаточный блок, используя элемент преобразования малого размера, такой как 4×4 или 8×8.
Решение проблемы
Примеры осуществления настоящего изобретения предоставляют способ и устройство для эффективного кодирования и декодирования информации эффективного коэффициента преобразования в остаточном блоке преобразования, имеющем большой размер.
Полезные эффекты изобретения
Согласно одному или более примерным вариантам осуществления настоящего изобретения флаг эффективного коэффициента, указывающий существование эффективного коэффициента преобразования, генерируется согласно элементам полосы частот таким образом, что в процессе сканирования полосы частот пропускается остаточный блок преобразования, в котором не существует эффективного коэффициента преобразования, и количество битов, генерируемых для кодирования эффективного коэффициента преобразования, сокращается.
Краткое описание чертежей
Фиг. 1 - структурная схема устройства для кодирования видео согласно одному примерному варианту осуществления настоящего изобретения;
Фиг. 2 - структурная схема устройства для декодирования видео согласно одному примерному варианту осуществления настоящего изобретения;
Фиг. 3 - схема для описания концепции элементов кодирования согласно одному примерному варианту осуществления настоящего изобретения;
Фиг. 4 - структурная схема устройства кодера изображения на основе элементов кодирования согласно одному примерному варианту осуществления настоящего изобретения;
Фиг. 5 - структурная схема устройства декодера изображения на основе элементов кодирования согласно одному примерному варианту осуществления настоящего изобретения;
Фиг. 6 - схема, иллюстрирующая более глубокие элементы кодирования согласно глубине, а также разделы согласно одному примерному варианту осуществления настоящего изобретения;
Фиг. 7 - схема для описания связи между элементом кодирования и элементами преобразования согласно одному примерному варианту осуществления настоящего изобретения;
Фиг. 8 - схема для описания кодирования информации элементов кодирования, соответствующих кодируемой глубине, согласно одному примерному варианту осуществления настоящего изобретения;
Фиг. 9 - схема более глубоких элементов кодирования согласно одному примерному варианту осуществления настоящего изобретения;
Фиг. 10-12 - схемы для описания связи между элементами кодирования, элементами предсказания и элементами преобразования согласно одному или более примерным вариантам осуществления;
Фиг. 13 - схема для описания связи между элементом кодирования, элементом предсказания или разделом и элементом преобразования согласно информации режима кодирования по примерной Таблице 1 согласно одному примерному варианту осуществления настоящего изобретения;
Фиг. 14a-14c - опорные схемы для описания процесса кодирования остаточного блока преобразования;
Фиг. 15 - структурная схема устройства для кодирования остаточного блока согласно одному примерному варианту осуществления настоящего изобретения;
Фиг. 16a-16j - схемы для описания разделения остаточного блока преобразования на предопределенные элементы полосы частот согласно одному или более примерным вариантам осуществления настоящего изобретения;
Фиг. 17a и 17b - опорные схемы для описания процесса кодирования эффективного коэффициента преобразования согласно одному или более примерным вариантам осуществления настоящего изобретения;
Фиг. 18a и 18b - опорные схемы для подробного описания процесса кодирования остаточного блока согласно одному примерному варианту осуществления настоящего изобретения;
Фиг. 19a и 19b - опорные схемы для описания кодирования информации остаточного блока преобразования, которая генерируется кодером эффективного коэффициента, согласно одному или более примерным вариантам осуществления настоящего изобретения;
Фиг. 20 - схема последовательности операций, иллюстрирующая способ кодирования остаточного блока согласно одному примерному варианту осуществления настоящего изобретения;
Фиг. 21 - структурная схема устройства для декодирования остаточного блока согласно одному примерному варианту осуществления настоящего изобретения; и
Фиг. 22 - схема последовательности операций, иллюстрирующая способ декодирования остаточного блока согласно одному примерному варианту осуществления настоящего изобретения.
Предпочтительный вариант осуществления изобретения
Согласно одному аспекту одного примерного варианта осуществления настоящего изобретения предоставлен способ кодирования остаточного блока, содержащий этапы, на которых:
генерируют блок предсказания для текущего блока;
генерируют остаточный блок на основании разности между блоком предсказания и остаточным блоком;
генерируют остаточный блок преобразования путем преобразования остаточного блока в частотную область;
разделяют остаточный блок преобразования на элементы полосы частот; и
кодируют флаги эффективных коэффициентов, указывающие элементы полосы частот, из числа полученных разделением элементов полосы частот, в которых существуют ненулевые эффективные коэффициенты преобразования.
Согласно способу одного примерного варианта осуществления настоящего изобретения, на этапе разделения элемента полосы частот разделяют остаточный блок преобразования таким образом, что размер элемента, полученного разделением в полосе низких частот, меньше размера элемента, полученного разделением в полосе высоких частот.
Согласно способу одного примерного варианта осуществления настоящего изобретения, разделение остаточного блока преобразования содержит разделение остаточного блока преобразования на четыре части и повторное разделение на четыре части полосы самых низких частот из числа разделенных на четыре части остаточных блоков преобразования.
Согласно способу одного примерного варианта осуществления настоящего изобретения, разделение остаточного блока преобразования содержит разделение остаточного блока преобразования на элементы полосы частот, имеющие одинаковый размер.
Согласно способу одного примерного варианта осуществления настоящего изобретения, разделение остаточного блока преобразования содержит разделение остаточного блока преобразования путем соединения горизонтальной частоты и вертикальной частоты, имеющих одно и то же значение, через предопределенные интервалы.
Согласно способу одного примерного варианта осуществления настоящего изобретения, на этапе разделения остаточного блока преобразования:
определяют характеристики изображения остаточного блока преобразования, используя коэффициенты преобразования остаточного блока преобразования;
определяют размер разделения согласно полосам частот остаточного блока преобразования, используя определенную характеристику изображения; и
разделяют остаточный блок преобразования согласно определенному размеру разделения.
Согласно способу одного примерного варианта осуществления настоящего изобретения, на этапе определения характеристики изображения определяют характеристику изображения, используя, по меньшей мере, одно из количества и распределения коэффициентов преобразования, существующих в каждой полосе частот остаточного блока преобразования.
Согласно способу одного примерного варианта осуществления настоящего изобретения, на этапе кодирования флага эффективного коэффициента кодируют, не отделяя, флаг эффективного коэффициента относительно наименьшего элемента полосы низких частот из числа элементов полосы частот.
Способ одного примерного варианта осуществления настоящего изобретения дополнительно содержит этап, на котором кодируют карту значимости, указывающую местоположения эффективных коэффициентов преобразования, существующих в элементе полосы частот с ненулевым эффективным коэффициентом преобразования, из числа элементов полосы частот.
Согласно способу одного примерного варианта осуществления настоящего изобретения, на этапе кодирования карты значимости кодируют флаг, указывающий местоположения эффективных коэффициентов преобразования, существующих в элементах полосы частот, которые имеют ненулевые коэффициенты преобразования, путем считывания эффективных коэффициентов преобразования согласно предопределенному порядку сканирования, независимо для каждого из элементов полосы частот.
Согласно способу одного примерного варианта осуществления настоящего изобретения, на этапе кодирования карты значимости кодируют флаг, указывающий местоположения эффективных коэффициентов преобразования, существующих в элементах полосы частот, которые имеют ненулевые коэффициенты преобразования, путем считывания всех эффективных коэффициентов преобразования независимо для каждого из элементов полосы частот согласно предопределенному порядку сканирования.
Согласно способу одного примерного варианта осуществления настоящего изобретения, на этапе кодирования карты значимости: устанавливают флаг, указывающий последний эффективный коэффициент преобразования, существующий в элементе полосы частот из числа элементов полосы частот, путем считывания эффективных коэффициентов преобразования в элементах полосы частот согласно предопределенному порядку сканирования; и
устанавливают флаг, указывающий последний эффективный коэффициент преобразования, существующий в остаточном блоке преобразования.
Согласно способу одного примерного варианта осуществления настоящего изобретения разделение остаточного блока преобразования содержит разделение остаточного блока преобразования на элементы полосы частот согласно форме разделения, выбранной из множества форм разделения, которые предопределены согласно размерам и формам элементов полосы частот; и
информация индекса формы разделения, указывающая выбранную форму разделения из множества форм разделения, добавляется в кодированный битовой поток, содержащий флаги эффективных коэффициентов.
Согласно одному аспекту еще одного примерного варианта осуществления настоящего изобретения предоставлено устройство кодирования остаточного блока, которое содержит:
узел предсказания, который генерирует блок предсказания для текущего блока;
узел вычитания, который генерирует остаточный блок на основании разности между блоком предсказания и остаточным блоком;
преобразователь, который генерирует остаточный блок преобразования путем преобразования остаточного блока в частотную область;
статистический кодер, который разделяет остаточный блок преобразования на элементы полосы частот и кодирует флаги эффективных коэффициентов, указывающие элементы полосы частот, из числа полученных разделением элементов полосы частот, в которых существуют ненулевые эффективные коэффициенты преобразования.
Согласно одному аспекту одного примерного варианта осуществления настоящего изобретения предоставлен способ декодирования остаточного блока, содержащий этапы, на которых:
извлекают флаги эффективных коэффициентов из кодированного битового потока, причем флаги эффективных коэффициентов указывают элементы полосы частот, в которых существуют ненулевые эффективные коэффициенты преобразования, из числа разделенных элементов полосы частот, полученных путем разделения остаточного блока преобразования текущего блока;
разделяют остаточный блок преобразования на элементы полосы частот; и
определяют элемент полосы частот с эффективным коэффициентом преобразования из числа разделенных элементов полосы частот, полученных путем разделения остаточного блока преобразования, посредством извлеченных флагов эффективных коэффициентов.
Согласно способу еще одного примерного варианта осуществления настоящего изобретения, на этапе разделения элемента полосы частот разделяют остаточный блок преобразования таким образом, что размер элемента, полученного разделением в полосе низких частот, меньше размера элемента, полученного разделением в полосе высоких частот.
Согласно способу еще одного примерного варианта осуществления настоящего изобретения, разделение остаточного блока преобразования содержит разделение остаточного блока преобразования на четыре части и повторное разделение на четыре части полосы самых низких частот разделенных на четыре части остаточных блоков преобразования.
Согласно способу еще одного примерного варианта осуществления настоящего изобретения, разделение остаточного блока преобразования содержит разделение остаточного блока преобразования на элементы полосы частот, имеющие одинаковый размер.
Согласно способу еще одного примерного варианта осуществления настоящего изобретения, разделение остаточного блока преобразования содержит разделение остаточного блока преобразования путем соединения горизонтальной частоты и вертикальной частоты, имеющих одно и то же значение, через предопределенные интервалы.
Согласно способу еще одного примерного варианта осуществления настоящего изобретения, на этапе разделения остаточного блока преобразования: извлекают информацию индекса разделения из кодированного битового потока, причем информация индекса формы разделения указывает форму разделения, используемую для разделения остаточного блока преобразования, из множества форм разделения, которые предопределены согласно размерам и формам элементов полосы частот; и
разделяют остаточный блок преобразования на элементы полосы частот согласно излеченной информации индекса формы разделения.
Способ еще одного примерного варианта осуществления настоящего изобретения дополнительно содержит этапы, на которых:
извлекают карту значимости из кодированного битового потока, причем карта значимости указывает местоположения ненулевых эффективных коэффициентов преобразования, существующих в элементах полосы частот, которые имеют ненулевые эффективные коэффициенты преобразования, из числа элементов полосы частот; и
определяют местоположения ненулевых эффективных коэффициентов преобразования, существующих в элементах полосы частот, которые имеют ненулевые эффективные коэффициенты преобразования, путем использования карты значимости.
Согласно способу еще одного примерного варианта осуществления настоящего изобретения, карта значимости указывает местоположения эффективных коэффициентов преобразования в элементах полосы частот согласно предопределенному порядку сканирования, независимо для каждого элемента полосы частот.
Согласно способу еще одного примерного варианта осуществления настоящего изобретения, карта значимости указывает местоположения эффективных коэффициентов преобразования в элементах полосы частот согласно предопределенному порядку сканирования для всего остаточного блока преобразования.
Согласно способу еще одного примерного варианта осуществления настоящего изобретения карта значимости содержит флаг, указывающий последний эффективный коэффициент преобразования, существующий в элементе полосы частот, из числа элементов полосы частот, путем считывания эффективных коэффициентов преобразования в элементах полосы частот согласно предопределенному порядку сканирования, и флаг, указывающий последний эффективный коэффициент преобразования, существующий в остаточном блоке преобразования.
Согласно одному аспекту еще одного примерного варианта осуществления настоящего изобретения предоставлено устройство декодирования остаточного блока, которое содержит:
анализатор, который извлекает флаги эффективных коэффициентов из кодированного битового потока, причем флаги эффективных коэффициентов указывают элементы полосы частот, в которых существуют ненулевые эффективные коэффициенты преобразования, из числа разделенных элементов полосы частот, полученных путем разделения остаточного блока преобразования текущего блока; и
статистический кодер, который разделяет остаточный блок преобразования на разделенные элементы полосы частот и определяет элемент полосы частот, имеющий эффективный коэффициент преобразования, из числа разделенных элементов полосы частот, полученных путем разделения остаточного блока преобразования, используя извлеченные флаги эффективных коэффициентов.
Согласно одному аспекту еще одного примерного варианта осуществления настоящего изобретения предоставлен способ кодирования остаточного блока, содержащий этапы, на которых:
генерируют остаточный блок преобразования путем преобразования остаточного блока в частотную область;
разделяют остаточный блок преобразования на элементы полосы частот; и
кодируют флаги эффективных коэффициентов, указывающие элементы полосы частот из числа элементов полосы частот, в которых существуют ненулевые эффективные коэффициенты преобразования.
Осуществление изобретения
Ниже приведено более подробное описание примеров осуществления настоящего изобретения со ссылкой на прилагаемые чертежи. Очевидно, что выражения типа "по меньшей мере один из", предшествующие ряду элементов, модифицируют весь этот ряд элементов, но не модифицируют отдельные элементы этого ряда.
В примерах осуществления настоящего изобретения элемент кодирования на стороне кодера представляет собой элемент кодируемых данных, в котором кодируются данные изображения, а на стороне декодера - это элемент кодированных данных, в котором кодированные данные изображения декодируются. Кроме того, кодированная глубина обозначает глубину, где кодируется элемент кодирования.
Фиг. 1 представляет собой структурную схему устройства 100 кодирования видео согласно одному примерному варианту осуществления настоящего изобретения. Ссылаясь на Фиг. 1, устройство 100 кодирования видео включает в себя разделитель 110 максимального элемента кодирования, определитель 120 элемента кодирования и узел 130 вывода.
Разделитель 110 максимального элемента кодирования может разделять текущую неподвижную картинку в изображении на основе максимального элемента кодирования для текущей картинки. Если текущая картинка больше, чем максимальный элемент кодирования, то данные изображения текущей картинки могут быть разделены на, по меньшей мере, один максимальный элемент кодирования. Согласно одному примерному варианту осуществления настоящего изобретения максимальный элемент кодирования может иметь размер 32×32, 64×64, 128×128, 256×256 и т.п., причем форма этого элемента данных представляет собой квадрат со стороной, длина которого равна 2 в разных степенях. Данные изображения могут быть выведены в определитель 120 элемента кодирования согласно, по меньшей мере, одному максимальному элементу кодирования.
Элемент кодирования согласно одному примерному варианту осуществления настоящего изобретения может быть охарактеризован максимальным размером и глубиной. Глубина указывает количество раз, которое для данного элемента кодирования было выполнено пространственное разделение от максимального элемента кодирования, и по мере увеличения глубины более глубокие элементы кодирования могут быть получены разделением, согласно глубине, от максимального элемента кодирования до минимального элемента кодирования. Глубина максимального элемента кодирования является самой верхней глубиной, а глубина минимального элемента кодирования является самой нижней глубиной. Поскольку размер элемента кодирования согласно каждой глубине уменьшается по мере увеличения глубины максимального элемента кодирования, элемент кодирования согласно верхней глубине может включать в себя множество элементов кодирования согласно более низким глубинам.
Как описано выше, данные изображения текущей неподвижной картинки разделяются на максимальные элементы кодирования согласно максимальному размеру элемента кодирования, и каждый максимальный элемент кодирования может включать в себя более глубокие элементы кодирования, которые разделяются согласно глубинам. Поскольку максимальный элемент кодирования согласно одному примерному варианту осуществления настоящего изобретения разделяется согласно глубинам, данные изображения пространственной области, входящие в состав максимального элемента, могут быть иерархически классифицированы согласно глубинам.
Максимальная глубина и максимальный размер элемента кодирования, которые ограничивают количество возможных операций иерархического разделения, могут быть предопределенными величинами.
Определитель 120 элемента кодирования кодирует, по меньшей мере, одну разделенную область, которая получается в результате разделения области максимального элемента кодирования по глубинам, и определяет глубину, чтобы вывести кодированные данные изображения согласно, по меньшей мере, одной разделенной области. То есть, определитель 120 элемента кодирования определяет кодированную глубину путем кодирования данных изображения в более глубокие элементы кодирования согласно глубинам на основе максимального элемента кодирования текущей картинки, и путем выбора глубины с наименьшей ошибкой кодирования. Таким образом, кодированные данные изображения этого элемента кодирования, соответствующие кодированной глубине, выводятся в блок 130 вывода. Кроме того, элементы кодирования, соответствующие этой кодированной глубине, могут рассматриваться как кодированные элементы кодирования.
Определенная кодированная глубина и кодированные данные изображения согласно определенной кодированной глубине выводятся в блок 130 вывода.
Данные изображения в максимальном элементе кодирования кодируются на основе более глубоких элементов кодирования, соответствующих, по меньшей мере, одной глубине, которая равна или ниже максимальной глубины, а результаты кодирования данных изображения сравниваются на основании каждого из упомянутых более глубоких элементов кодирования. Глубина с наименьшей ошибкой кодирования может быть выбрана после сравнения ошибок кодирования упомянутых более глубоких элементов кодирования. По меньшей мере, одна кодированная глубина может быть выбрана для каждого максимального элемента кодирования.
Размер максимального элемента кодирования разделяется по мере того, как элемент кодирования иерархически разделяется на глубины и по мере увеличения элементов кодирования. Кроме того, даже если элементы кодирования соответствуют одной и той же глубине в одном максимальном элементе кодирования, целесообразность разделения каждого из элементов кодирования, соответствующих одинаковой глубине, на более низкую глубину измеряется ошибкой кодирования данных изображения каждого элемента кодирования в отдельности. Соответственно, даже если данные изображения входят в состав одного максимального элемента кодирования, эти данные изображения разделяются на области согласно глубинам, и ошибки кодирования могут отличаться согласно областям в одном максимальном элементе кодирования, и, таким образом, кодированные глубины могут отличаться для разных областей в данных изображения. Следовательно, в одном элементе кодирования могут быть определены одна или более кодированных глубин, и данные изображения максимального элемента кодирования могут быть разделены согласно элементу кодирования, по меньшей мере, одной кодированной глубины.
Соответственно, определитель 120 элемента кодирования может определять элементы кодирования с древовидной структурой, входящие в состав максимального элемента кодирования. Из множества элементов кодирования, входящих в состав максимального элемента кодирования, элементы кодирования с древовидной структурной согласно одному примерному варианту осуществления настоящего изобретения включают в себя элементы кодирования, соответствующие глубине, которая была определена как кодированная глубина. Элемент кодирования кодированной глубины может быть иерархически определен согласно глубинам в одной области максимального элемента кодирования, и он может быть независимым образом определен в разных областях. Аналогично, кодированная глубина в текущей области может быть независимым образом определена из кодированной глубины в другой области.
Максимальная глубина согласно одному примерному варианту осуществления настоящего изобретения представляет собой индекс, связанный с количеством операций разделения от максимального элемента кодирования до минимального элемента кодирования. Первая максимальная глубина согласно одному примерному варианту осуществления настоящего изобретения может обозначать общее количество операций разделения от максимального элемента кодирования до минимального элемента кодирования. Вторая максимальная глубина согласно одному примерному варианту осуществления настоящего изобретения может обозначать общее количество уровней глубины от максимального элемента кодирования до минимального элемента кодирования. Например, когда глубина максимального элемента кодирования равна 0, глубина элемента кодирования, с которым разделен максимальный элемент кодирования, может быть установлена в значение 1, а глубина элемента кодирования, с которым максимальный элемент кодирования разделен дважды, может быть установлена в значение 2. Так, если минимальный элемент кодирования представляет собой элемент кодирования, в котором максимальный элемент кодирования разделен четыре раза, то существует 5 уровней глубины  - 0, 1, 2, 3 и 4. Таким образом, первая максимальная глубина может быть установлена равной 4, а вторая максимальная глубина может быть установлена равной 5.
Кодирование с предсказанием и преобразование могут быть выполнены согласно максимальному элементу кодирования. Кодирование с предсказанием и преобразование также осуществляются на основе более глубоких элементов кодирования по глубинам, которые равны или меньше максимальной глубины, на основании максимального элемента кодирования. Преобразование может быть выполнено согласно способу ортогонального преобразования или целочисленного преобразования.
Поскольку количество более глубоких элементов кодирования увеличивается, когда максимальный элемент кодирования разделяется согласно глубинам, кодирование, такое как кодирование с предсказанием и преобразование, выполняется по всем более глубоким элементам кодирования, генерируемым по мере увеличения глубины. Для удобства описания кодирование с предсказанием и преобразование описываются ниже на основе элемента кодирования текущей глубины в максимальном элементе кодирования.
Устройство 100 кодирования видео может разными способами выбирать, по меньшей мере, одно из размера и формы элемента данных для кодирования данных изображения. Для кодирования данных изображения могут быть выполнены операции, такие как кодирование с предсказанием, преобразование и статистическое кодирование, и при этом один и тот же элемент данных может быть использован для всех операций либо для каждой операции могут использоваться разные элементы данных.
Например, устройство 100 кодирования видео может выбирать элемент кодирования для кодирования данных изображения и, дополнительно, элемент данных, отличный от упомянутого элемента кодирования, для применения кодирования с предсказанием к данным изображения в этом элементе кодирования.
Для выполнения кодирования с предсказанием в максимальном элементе кодирования кодирование с предсказанием может быть выполнено на основании элемента кодирования, соответствующего кодированной глубине, то есть на основании элемента кодирования, который больше не разделен на элементы кодирования, соответствующие более низким глубинам. Элемент кодирования, который больше не разделяется и становится базовым элементом для предсказания с кодированием, в настоящем документе будет обозначаться как элемент предсказания. Раздел, получаемый путем разделения элемента предсказания, может включать в себя элемент предсказания или элемент данных, полученный путем разделения, по меньшей мере, одного из высоты и ширины элемента предсказания.
Например, когда элемент кодирования размером 2N×2N (где N являет собой положительное целое число) больше не разделяется и становится элементом предсказания размером 2N×2N, размером раздела может быть 2N×2N, 2N×N, N×2N или N×N. Примеры типов раздела включают в себя симметричные разделы, которые получаются путем симметричного разделения, по меньшей мере, одного из высоты и ширины элемента предсказания, разделы, которые получают путем ассиметричного разделения высоты или ширины элемента предсказания (например, в соотношении 1:n или n:1), разделы, которые получают путем геометрического разделения элемента предсказания, а также разделы, имеющие произвольные формы.
Режим предсказания упомянутого элемента предсказания может быть, по меньшей мере, одним из внутреннего режима, взаимного режима и режима пропуска. Например, взаимный режим или внутренний режим может быть применен на разделе размером 2N×2N, 2N×N, N×2N или N×N. В этом случае режим пропуска может быть применен только к разделу 2N×2N. Кодирование выполняется независимым образом на одном элементе предсказания в элементе кодирования, за счет чего выбирается режим предсказания с наименьшей ошибкой кодирования.
Устройство 100 кодирования видео также может выполнять преобразование данных изображения в элементе кодирования на основании элемента кодирования для кодирования данных изображения, а также на основании элемента данных, который отличается от элемента кодирования.
Для выполнения преобразования в элементе кодирования преобразование может быть выполнено на основании элемента данных, размер которого меньше или равен размеру элемента кодирования. Например, элемент данных для преобразования может включать в себя элемент данных для внутреннего режима и элемент данных для взаимного режима.
Элемент данных, используемый в качестве основы преобразования, в настоящем документе обозначается элементом преобразования. Глубина преобразования, указывающая количество операций разделения для достижения элемента преобразования путем разделения высоты и ширины элемента кодирования, также может быть установлена в элементе преобразования. Например, в текущем элементе кодирования размером 2N×2N глубина преобразования может быть равна 0, когда размер элемента преобразования также имеет размер 2N×2N; может быть равна 1, когда и высота, и ширина текущего элемента кодирования разделяются на две равные части, в результате чего получается всего 4^1 элементов преобразования и размер элемента преобразования, таким образом, составляет N×N; и может быть равна 2, когда и высота, и ширина текущего элемента кодирования разделяются на четыре равные части, в результате чего получается всего 4^2 элементов преобразования и размер элемента преобразования, таким образом, составляет N/2×N/2. Например, элемент преобразования может быть задан согласно иерархической древовидной структуре, в которой элемент преобразования верхней глубины преобразования разделяется на четыре элемента преобразования нижней глубины преобразования согласно иерархическим характеристикам глубины преобразования.
Аналогично элементу кодирования элемент преобразования в элементе кодирования может быть рекурсивно разделен на меньшие области, таким образом, элемент преобразования может быть определен независимым образом в единицах областей. Таким образом, остаточные данные в элементе кодирования могут быть разделены согласно преобразованию с древовидной структурой по глубинам преобразования.
Информация кодирования по элементам кодирования, соответствующим кодированной глубине, использует информацию о кодированной глубине, и информацию, относящуюся к кодированию с предсказанием и преобразованию. Соответственно, определитель 120 элемента кодирования определяет кодированную глубину с наименьшей ошибкой кодирования и определяет тип раздела в блоке предсказания, режим предсказания согласно элементам предсказания и размер преобразования для операции преобразования.
Элементы кодирования согласно древовидной структуре в максимальном элементе кодирования и способ определения раздела согласно некоторым примерным вариантам осуществления настоящего изобретения подробно описаны ниже со ссылкой на Фиг. 3-12.
Определитель 120 элемента кодирования может измерять ошибку кодирования более глубоких элементов кодирования согласно глубинам, используя Оптимизацию отношения частота-ухудшение качества на основе коэффициентов Лагранжа.
Блок 130 вывода выводит в битовых потоках данные изображения максимального элемента кодирования, который кодируется на основе, по меньшей мере, одной кодированной глубины, определяемой определителем 120 элемента кодирования, и информацию о режиме кодирования согласно кодированной глубине.
Кодированные данные изображения могут быть получены путем кодирования остаточных данных изображения.
Информация о режиме кодирования согласно кодированной глубине может включать в себя, по меньшей мере, одно из информации о кодированной глубине, типа раздела в блоке предсказания, режима предсказания и размера элемента преобразования.
Информация о кодированной глубине может быть определена, используя информацию разделения согласно глубинам, которая указывает, применяется ли кодирование к элементам кодирования более низкой глубины вместо текущей глубины. Если текущая глубина текущего элемента кодирования является кодированной глубиной, данные изображения в текущем элементе кодирования кодируются и выводятся. В этом случае информация разделения может быть задана так, чтобы не разделять текущий элемент кодирования на более низкую глубину. Альтернативно, если текущая глубина текущего элемента кодирования не является кодированной глубиной, то кодирование выполняется по элементу кодирования более низкой глубины. В этом случае информация разделения может быть задана так, чтобы разделять текущий элемент кодирования для получения элементов кодирования более низкой глубины.
Если текущая глубина не является кодированной глубиной, то кодирование выполняется по элементу кодирования, который разделен на элемент кодирования более низкой глубины. В этом случае, поскольку в элементе кодирования текущей глубины существует, по меньшей мере, один элемент кодирования нижней глубины, кодирование многократно выполняется по каждому элементу кодирования нижней глубины, и, таким образом, кодирование может выполняться рекурсивно для элементов кодирования с одинаковой глубиной.
Поскольку элементы кодирования с древовидной структурой определяются для одного максимального элемента кодирования и информация о, по меньшей мере, одном режиме кодирования определяется для элемента кодирования кодированной глубины, информация о, по меньшей мере, одном режиме кодирования может быть определена для одного максимального элемента кодирования. Кроме того, кодированная глубина данных изображения максимального элемента кодирования может отличаться в соответствии с местоположениями, поскольку данные изображения иерархически разделены согласно глубинам, и, соответственно, информация о кодированной глубине и режиме кодирования может задаваться для таких данных изображения.
Таким образом, узел 130 вывода может назначать информацию кодирования о соответствующей кодированной глубине и режиме кодирования, по меньшей мере, одному из элемента кодирования, элемента предсказания и минимального элемента, входящего в состав максимального элемента кодирования.
Минимальный элемент согласно одному примерному варианту осуществления настоящего изобретения представляет собой прямоугольный элемент данных, получаемый путем разделения минимального элемента кодирования самой нижней глубины на 4. Альтернативно, минимальный элемент может представлять собой максимальный прямоугольный элемент данных, который может быть включен во все элементы кодирования, элементы предсказания, элементы раздела и элементы преобразования, входящие в состав максимального элемента кодирования.
Например, информация кодирования, выводимая через узел 130 вывода, может быть классифицирована на информацию кодирования согласно элементам кодирования и информацию кодирования согласно элементам предсказания. Информация кодирования согласно элементам кодирования может включать в себя информацию о режиме предсказания и размере разделов. Информация кодирования согласно элементам предсказания может включать в себя информацию об оцененном направлении взаимного режима, индексе опорного изображения внутреннего режима, векторе движения, компоненте цветности внутреннего режима и способе интерполяции внутреннего режима. Кроме того, информация о максимальном размере элемента кодирования, заданная по неподвижным картинкам, разрезам или Группам Изображений (Group of Picture, GOP), а также информация о максимальной глубине может быть вставлена в, по меньшей мере, одно из Набора Параметров Последовательности (Sequence Parameter Set, SPS) или заголовка битового потока.
В устройстве 100 кодирования видео более глубокий элемент кодирования может представлять собой элемент кодирования, получаемый путем разделения на два, по меньшей мере, одного из высоты и ширины элемента кодирования более высокой глубины, которая находится на один уровень выше. Например, когда размер элемента кодирования текущей глубины равен 2N×2N, размер элемента кодирования более низкой глубины может быть равен N×N. Кроме того, элемент кодирования текущей глубины с размером 2N×2N может включать в себя максимум 4 элемента кодирования более низкой глубины.
Соответственно, устройство 100 кодирования видео может формировать элементы кодирования с древовидной структурой путем определения элементов кодирования с оптимальной формой и оптимальным размером для каждого элемента кодирования, на основании размера максимального элемента кодирования и максимальной глубины, определенной с учетом характеристик текущей картинки. Кроме того, поскольку кодирование может быть выполнено для каждого максимального элемента кодирования, используя любой из разных режимов предсказания и преобразования, оптимальный режим кодирования может быть определен с учетом характеристик элемента кодирования в изображениях разных размеров.
Таким образом, если изображение, имеющее высокое разрешение или большой объем данных, кодируется в макроблоке согласно существующему уровню техники, количество макроблоков на одну неподвижную картинку чрезмерно увеличивается. Соответственно, количество частей сжатой информации, генерируемой для каждого макроблока, увеличивается и, соответственно, становится сложным передавать сжатую информацию и эффективность сжатия данных сокращается. Тем не менее, используя устройство 100 кодирования видео согласно одному примерному варианту осуществления настоящего изобретения, можно поднять эффективность сжатия изображения, поскольку элемент кодирования регулируется с учетом характеристик изображения и максимальный размер элемента кодирования увеличивается с учетом размера изображения.
Фиг. 2 представляет собой структурную схему устройства 200 декодирования видео согласно одному примерному варианту осуществления настоящего изобретения.
Ссылаясь на Фиг. 2, устройство 200 декодирования видео включает в себя приемник 210, узел 220 извлечения данных изображения и информации кодирования, а также декодер 230 данных изображения. Определения различных терминов, таких как элемент кодирования, глубина, элемент предсказания, элемент преобразования, а также информация о разных режимах кодирования для различных операций устройства 200 декодирования видео схожи с вышеупомянутыми, которые описаны со ссылкой на Фиг. 1.
Приемник 210 принимает и анализирует битовой поток кодированного видео. Узел 220 извлечения данных изображения и информации кодирования извлекает кодированные данные изображения для каждого элемента кодирования из анализированного битового потока, причем эти элементы кодирования имеют древовидную структуру согласно каждому максимальному элементу кодирования, и выводит извлеченные данные изображения в декодер 230 данных изображения. Узел 220 извлечения данных изображения и информации кодирования может извлекать информацию о максимальном размере элемента кодирования текущей картинки из заголовка о текущей картинке или SPS.
Кроме того, узел 220 извлечения данных изображения и информации кодирования извлекает из проанализированного битового потока информацию о кодированной глубине и режиме кодирования для этих элементов кодирования, имеющих древовидную структуру согласно каждому максимальному элементу кодирования. Извлеченная информация о кодированной глубине и режиме кодирования выводится в декодер 230 данных изображения. То есть данные изображения в битовом потоке разделяются на максимальные элементы кодирования, так что декодер 230 данных изображения декодирует данные изображения для каждого максимального элемента кодирования.
Информация о кодированной глубине и режиме кодирования согласно максимальному элементу кодирования может быть установлена для информации о, по меньшей мере, одном элементе кодирования, соответствующем кодированной глубине, и информация о режиме кодирования может включать в себя информацию о, по меньшей мере, одном из типа раздела соответствующего элемента кодирования, соответствующего кодированной глубине, режима предсказания и размера элемента преобразования. Кроме того, информация разделения согласно глубинам может быть извлечена из информации о кодированной глубине.
Информация о кодированной глубине и режиме кодирования согласно каждому максимальному элементу кодирования, извлеченная узлом 220 извлечения данных изображения и информации кодирования, представляет собой информацию о кодированной глубине и режиме кодирования, который был определен как режим, генерирующий минимальную ошибку кодирования, когда кодер, такой как устройство 100 кодирования видео согласно одному примерному варианту осуществления настоящего изобретения, многократно выполняет кодирование для каждого более глубокого элемента кодирования на основании глубин согласно каждому максимальному элементу кодирования. Соответственно, устройство 100 декодирования видео может восстановить изображение путем декодирования данных изображения согласно кодированной глубине и режиму кодирования, который генерирует минимальную ошибку кодирования.
Поскольку информация кодирования о кодированной глубине и режиме кодирования может быть присвоена предопределенному элементу данных из соответствующего элемента кодирования, элемента предсказания и минимального элемента, узел 220 извлечения данных изображения и информации кодирования может извлечь информацию о кодированной глубине и режиме кодирования согласно предопределенным элементам кодирования. Предопределенные элементы данных, которым назначается одинаковая информация о кодированной глубине и режиме кодирования, могут представлять собой элементы данных, входящие в состав одного максимального элемента кодирования.
Декодер 230 данных изображения восстанавливает текущую картинку путем декодирования данных изображения в каждом максимальном элементе кодирования на основании информации о кодированной глубине и режиме кодирования согласно максимальным элементам кодирования. Например, декодер 230 данных изображения может декодировать кодированные данные изображения на основании извлеченной информации о типе раздела, режиме предсказания и блоке преобразования для каждого элемента кодирования из ряда элементов кодирования, которые имеют древовидную структуру и входят в состав каждого максимального элемента кодирования. Процесс декодирования может включать в себя предсказание, при котором выполняется внутреннее предсказание и компенсация движения, и обратное преобразование. Обратное преобразование может быть выполнено согласно способу обратного ортогонального преобразования или обратного целочисленного преобразования.
Декодер 230 данных изображения может выполнять, по меньшей мере, одно из внутреннего предсказания и компенсации движения согласно разделу и режиму предсказания каждого элемента кодирования, на основании информации о типе раздела и режиме предсказания элемента предсказания этого элемента кодирования согласно кодированным глубинам.
Кроме того, декодер 230 данных изображения может выполнять обратное преобразование согласно каждому элементу преобразования в элементе кодирования на основании информации о размере элемента преобразования этого элемента кодирования согласно кодированным глубинам, чтобы выполнять обратное преобразование согласно максимальным элементам кодирования.
Декодер 230 данных изображения может определять, по меньшей мере, одну кодированную глубину текущего максимального элемента кодирования, используя информацию разделения согласно глубинам. Если информация разделения указывает, что данные изображения больше не разделены на текущей глубине, то эта текущая глубина является кодированной глубиной. Соответственно, декодер 230 данных изображения может декодировать кодированные данные, по меньшей мере, одного элемента кодирования, соответствующего каждой кодированной глубине, в текущем максимальном элементе кодирования, используя, по меньшей мере, одно из информации о типе раздела блока предсказания, режима предсказания и размера элемента преобразования для каждого элемента кодирования, соответствующего этой кодированной глубине, и выводить данные изображения текущего максимального элемента кодирования.
Например, элементы данных, включающие в себя информацию кодирования с одинаковой информацией разделения, могут быть собраны путем исследования набора информации кодирования, назначенного для предопределенного элемента данных, из элемента кодирования, элемента предсказания и минимального элемента, и эти собранные элементы данных могут рассматриваться как один элемент данных, который должен быть декодирован декодером 230 данных изображения в одном и том же режиме кодирования.
Устройство 200 декодирования видео может получать информацию о, по меньшей мере, одном элементе кодирования, который генерирует минимальную ошибку кодирования, когда кодирование рекурсивно выполняется для каждого максимального элемента кодирования, и может использовать эту информацию, чтобы декодировать текущую картинку. То есть могут декодироваться элементы кодирования с древовидной структурой, определенные как оптимальные элементы кодирования в каждом максимальном элементе кодирования. Кроме того, максимальный размер элемента кодирования может быть определен с учетом, по меньшей мере, одного из разрешения и объема данных изображения.
Соответственно, даже если данные изображения имеют высокое разрешение и большой объем данных, эти данные изображения могут быть эффективно декодированы и восстановлены, используя размер элемента кодирования и режим кодирования, которые адаптивно определяются согласно характеристикам этих данных изображения, а также информацию об оптимальном режиме кодирования, принятую из кодера.
Способ определения элементов кодирования с древовидной структурой, элемента предсказания и элемента преобразования согласно одному или более примерным вариантам осуществления настоящего изобретения описан ниже, со ссылкой на Фиг. 3-13.
Фиг. 3 представляет собой схему для описания концепции элементов кодирования согласно одному примерному варианту осуществления настоящего изобретения.
Размер элемента кодирования может быть выражен как произведение ширина×высота. Например, размер элемента кодирования может быть равен 64×64, 32×32, 16×16 или 8×8. Элемент кодирования 64×64 может быть разделен на разделы 64×64, 64×32, 32×64 или 32×32, элемент кодирования 32×32 может быть разделен на разделы 32×32, 32×16, 16×32 или 16×16, элемент кодирования 16×16 может быть разделен на разделы 16×16, 16×8, 8×16 или 8×8, а элемент кодирования 8×8 может быть разделен на разделы 8×8, 8×4, 4×8 или 4×4.
Ссылаясь на Фиг. 3, в качестве примера представлена первая часть 310 данных видео с разрешением 1920×1080, и элемент кодирования с максимальным размером 64 и максимальной глубиной 2. Кроме того, в качестве примера представлена вторая часть 320 данных видео с разрешением 1920×1080, а также элемент кодирования с максимальным размером 64 и максимальной глубиной 3. Кроме того, в качестве примера представлена третья часть 330 данных видео с разрешением 352×288, а также элемент кодирования с максимальным размером 16 и максимальной глубиной 1. Максимальная глубина, показанная на Фиг. 3, указывает общее количество разделений от максимального элемента кодирования до минимального элемента кодирования.
Если видео имеет высокое разрешение или большой объем данных, то максимальный размер элемента кодирования может быть большим, чтобы увеличить эффективность кодирования и точно отражать характеристики изображения. Соответственно, максимальный размер элемента кодирования первой и второй частей 310 и 320 данных видео, имеющих более высокое разрешение, чем третья часть 330 данных видео, может быть равен 64.
Поскольку максимальная глубина первой части 310 данных видео равна 2, элементы 315 кодирования первой части 310 данных видео могут включать в себя максимальный элемент кодирования с длиной 64 и элементы кодирования с длинами 32 и 16, поскольку глубины снижаются на два уровня путем разделения максимального элемента кодирования на два. Между тем, поскольку максимальная глубина третьей части 330 данных видео равна 1, элементы 335 кодирования третьей части 330 данных видео могут включать в себя максимальный элемент кодирования с длиной 16 и элементы кодирования с длиной 8, поскольку глубины снижаются на один уровень путем разделения максимального элемента кодирования на один.
Поскольку максимальная глубина второй части 320 данных видео равна 3, элементы 325 кодирования второй части 320 данных видео могут включать в себя максимальный элемент кодирования с длиной 64 и элементы кодирования с длинами 32, 16 и 8, поскольку глубины снижаются на 3 уровня путем разделения максимального элемента кодирования три раза. По мере увеличения глубины обеспечивается возможность точного выражения более детальной информации.
Фиг. 4 представляет собой структурную схему кодера 400 изображения на основе элементов кодирования согласно одному примерному варианту осуществления настоящего изобретения.
Кодер 400 изображения может выполнять операции определителя 120 элемента кодирования устройства 100 кодирования видео согласно одному примерному варианту осуществления настоящего изобретения, чтобы кодировать изображения данных. Ссылаясь на Фиг. 4, узел 410 внутреннего предсказания выполняет внутреннее предсказание по элементам кодирования из текущего кадра 405, а узел 420 оценки движения и узел 425 компенсации движения выполняют взаимную оценку и компенсацию движения по элементам кодирования из текущего кадра в режиме взаимного предсказания с использованием текущего кадра 405 и опорного кадра 495.
Вывод данных из узла 410 внутреннего предсказания, узла 420 оценки движения и узла 425 компенсации движения выводится в форме квантованного коэффициента преобразования через преобразователь 430 и узел 440 квантования. Квантованный коэффициент преобразования восстанавливается в качестве данных в пространственной области посредством узла 460 обратного квантования и обратного преобразователя 470, и восстановленные данные в пространственной области выводятся как опорный кадр 495 после их пост-обработки узлом 480 деблокирования и узлом 490 контурного фильтра. Квантованный коэффициент преобразования может быть выведен как битовой поток 455 через статистический кодер 450.
Для применения кодера 400 изображения в устройстве 100 кодирования видео компоненты кодера 400 изображения, то есть внутрикадровый предсказатель 410, узел 420 оценки движения, узел 425 компенсации движения, преобразователь 430, узел 440 квантования, статистический кодер 450, узел 460 обратного квантования, обратный преобразователь 470, узел 480 деблокирования и узел 490 контурного фильтра, выполняют операции на основе каждого элемента кодирования из ряда элементов кодирования с древовидной структурой, причем при этом учитывается максимальная глубина каждого максимального элемента кодирования.
В частности, узел 410 внутреннего предсказания, узел 420 оценки движения и компенсатор 425 движения определяют разделы и режим предсказания каждого элемента кодирования из ряда элементов кодирования с древовидной структурой, причем при этом учитывается максимальный размер и максимальная глубина текущего максимального элемента кодирования, и преобразователь 430 определяет размер элемента преобразования в каждом элементе кодирования из ряда элементов кодирования с древовидной структурой.
Фиг. 5 представляет собой структурную схему декодера 500 изображения на основе элементов кодирования согласно одному примерному варианту осуществления настоящего изобретения.
Ссылаясь на Фиг. 5, анализатор 510 анализирует кодированные данные изображения, которые требуется декодировать, и информацию о кодировании, используемую для декодирования битового потока 505. Кодированные данные изображения выводятся как обратно квантованные данные через статистический декодер 520 и узел 530 обратного квантование, и обратно квантованные данные восстанавливаются в данные изображения в пространственной области посредством узла 540 обратного преобразования.
Узел 550 внутреннего предсказания выполняет внутреннее предсказание по элементам кодирования во внутреннем режиме относительно данных изображения в пространственной области, и узел 560 компенсации движения выполняет компенсацию движения по элементам кодирования во взаимном режиме, используя опорный кадр 585.
Данные изображения в пространственной области, которые проходят через узел 550 внутреннего предсказания и узел 560 компенсации движения, могут быть выведены как восстановленный кадр 595 после пост-обработки в блоке узла 570 деблокировки и узла 580 замкнутого фильтра. Кроме того, данные изображения, которые были подвергнуты пост-обработке в узле 570 деблокирования и узле 580 замкнутого фильтра, могут быть выведены как опорный кадр 585.
Для декодирования данных изображения в декодере 230 данных изображения устройства 200 декодирования видео согласно одному примерному варианту осуществления настоящего изобретения, декодер 500 изображения может выполнять операции, которые реализуются после анализатора 510.
Для применения декодера 500 изображения в устройстве 200 декодирования видео компоненты декодера 500 изображения, то есть анализатор 510, статистический декодер 520, узел 530 обратного квантования, обратный преобразователь 540, узел 550 внутреннего предсказания, компенсатор 560 движения, узел 570 деблокирования и узел 580 замкнутого фильтра, выполняют операции на основе элементов кодирования с древовидной структурой для каждого максимального элемента кодирования.
В частности, узел 550 внутреннего предсказания и компенсатор 560 движения выполняют операции на основе разделов и режима предсказания для каждого элемента кодирования с древовидной структурой, и узел 540 обратного преобразования выполняет операции на основе размера элемента преобразования для каждого элемента кодирования.
Фиг. 6 представляет собой схему, иллюстрирующую элементы кодирования по глубине, а также разделы согласно одному примерному варианту осуществления настоящего изобретения.
Устройство 100 кодирования видео и устройство 200 декодирования видео согласно примерным вариантам осуществления настоящего изобретения используют иерархические элементы кодирования, чтобы учитывать характеристики изображения. Максимальная высота, максимальная ширина и максимальная глубина элементов кодирования могут быть адаптивным образом определены согласно характеристикам изображения, или могут быть установлены пользователем. Размеры более глубоких элементов кодирования согласно глубинам могут быть определены в соответствии с предопределенным максимальным размером элемента кодирования.
Ссылаясь на Фиг. 6, в иерархической структуре 600 элементов кодирования согласно одному примерному варианту осуществления настоящего изобретения, максимальная высота и максимальная ширина элементов кодирования равны 64, а максимальная глубина составляет 4. Поскольку глубина увеличивается вдоль вертикальной оси иерархической структуры 600, высота и ширина более глубоких элементов кодирования разделяются. Кроме того, элемент предсказания и разделы, которые являются основами для кодирования с предсказанием каждого более глубокого элемента кодирования, показаны вдоль горизонтальной оси иерархической структуры 600.
То есть первый элемент 610 кодирования представляет собой максимальный элемент кодирования в иерархической структуре 600, причем глубина равна 0 и размер, то есть произведение высоты на ширину, составляет 64×64. Глубина увеличивается вдоль вертикальной оси, и существуют второй элемент 620 кодирования с размером 32×32 и глубиной 1, третий элемент 630 кодирования с размером 16×16 и глубиной 2, четвертый элемент 640 кодирования с размером 8×8 и глубиной 3 и пятый элемент 650 кодирования с размером 4×4 и глубиной 4. Пятый элемент 650 кодирования с размером 4×4 и глубиной 4 является минимальным элементом кодирования.
Элемент предсказания и разделы элемента кодирования располагаются вдоль горизонтальной оси согласно каждой глубине. То есть если первый элемент 610 кодирования с размером 64×64 и глубиной 0 является элементом предсказания, элемент предсказания может быть разделен на разделы, входящие в первый элемент 610 кодирования, то есть раздел 610 с размером 64×64, разделы 612 с размером 64×32, разделы 614 с размером 32×64 или разделы 616 с размером 32×32.
Аналогично, элемент предсказания второго элемента 620 кодирования с размером 32×32 и глубиной 1 может быть разделен на разделы, входящие в состав второго элемента 620 кодирования, то есть раздел 620 с размером 32×32, разделы 622 с размерами 32×16, разделы 624 с размерами 16×32 и разделы 626 с размерами 16×16.
Аналогично, элемент предсказания третьего элемента 630 кодирования с размером 16×16 и глубиной 2 может быть разделен на разделы, входящие в состав третьего элемента 630 кодирования, то есть раздел с размером 16×16, входящий в состав третьего элемента 630 кодирования, разделы 632 с размером 16×8, разделы 634 с размером 8×16 и разделы 636 с размером 8×8.
Аналогично, элемент предсказания четвертого элемента 640 кодирования с размером 8×8 и глубиной 3 может быть разделен на разделы, входящие в состав четвертого элемента 640 кодирования, то есть раздел с размером 8×8, входящий в состав четвертого элемента 640 кодирования, разделы 642 с размером 8×4, разделы 644 с размером 4×8 и разделы 646 с размером 4×4.
Пятый элемент 650 кодирования с размером 4×4 и глубиной 4 является минимальным элементом кодирования и элементом кодирования самой нижней глубины. Элемент предсказания пятого элемента 650 кодирования присваивается только разделу с размером 4×4.
Чтобы определить, по меньшей мере, одну кодированную глубину элементов кодирования максимального элемента 610 кодирования, определитель 120 элемента кодирования устройства 100 кодирования видео выполняет кодирование для элементов кодирования, соответствующих каждой глубине, входящей в состав максимального элемента кодирования 610.
Количество более глубоких элементов кодирования согласно глубинам, включающим в себя данные в одном диапазоне и одного размера, увеличивается по мере увеличения глубины. Например, четыре элемента кодирования, соответствующие глубине 2, используются для покрытия данных, которые входят в состав одного элемента кодирования, соответствующего глубине 1. Соответственно, чтобы сравнить результаты кодирования одинаковых данных согласно глубинам, кодируются элемент кодирования, соответствующий глубине 1, и четыре элемента кодирования, соответствующие глубине 2.
Чтобы выполнить кодирование для текущей глубины из ряда глубин, для текущей глубины может быть выбрана наименьшая ошибка кодирования путем выполнения кодирования для каждого элемента предсказания из ряда элементов предсказания, соответствующих текущей глубине, вдоль горизонтальной оси иерархической структуры 600. Альтернативно, минимальная ошибка кодирования может быть определена путем сравнения наименьших ошибок кодирования согласно глубинам, выполняя кодирование для каждой глубины по мере ее увеличения вдоль вертикальной оси иерархической структуры 600. Глубина и раздел, обеспечивающие минимальную ошибку кодирования в первом элементе 610 кодирования, могут быть выбраны как кодированная глубина и тип раздела первого элемента 610 кодирования.
Фиг. 7 представляет собой схему для описания связи между элементом 710 кодирования и элементами 720 преобразования согласно одному примерному варианту осуществления настоящего изобретения.
Устройство 100 кодирования видео или устройство 200 декодирования видео согласно примерным вариантам осуществления настоящего изобретения кодирует или декодирует изображение согласно элементам кодирования с размерами, которые меньше или равны максимальному элементу кодирования для каждого максимального элемента кодирования. Размеры элементов преобразования для преобразования в течение кодирования могут быть выбраны на основании элементов данных, которые не больше соответствующего элемента кодирования.
Например, в устройстве 100 кодирования или устройстве 200 декодирования видео, если размер элемента 710 кодирования составляет 64×64, преобразование может быть выполнено путем использования элементов 720 преобразования с размером 32×32.
Кроме того, данные элемента 710 кодирования с размером 64×64 могут быть кодированы путем выполнения преобразования по каждому элементу преобразования с размерами 32×32, 16×16, 8×8 и 4×4, которые меньше чем 64×64, так что может быть выбран элемент преобразования с наименьшей ошибкой кодирования.
Фиг. 8 представляет собой схему для описания информации кодирования элементов кодирования, соответствующих кодированной глубине, согласно одному примерному варианту осуществления настоящего изобретения.
Ссылаясь на Фиг. 8, узел 130 вывода устройства 100 кодирования видео согласно одному примерному варианту осуществления настоящего изобретения может кодировать и передавать информацию 800 о типе раздела, информацию 810 о режиме предсказания и информацию 820 о размере элемента преобразования для каждого элемента кодирования согласно кодированной глубине, в качестве информации о режиме кодирования.
Информация 800 о типе раздела представляет собой информацию о форме раздела, получаемой в результате разделения элемента предсказания текущего элемента кодирования, причем упомянутый раздел представляет собой элемент данных для кодирования с предсказанием текущего элемента кодирования. Например, текущий элемент CU_0 кодирования с размером 2N×2N может быть разделен на любой один из раздела 802 с размером 2N×2N, раздела 804 с размером 2N×N, раздела 806 с размером N×2N и раздела 808 с размером N×N. Так, информация 800 о типе раздела устанавливается так, чтобы указывать один из раздела 804 с размером 2N×N, раздела 806 с размером N×2N и раздела 808 с размером N×N.
Информация 810 о режиме предсказания указывает режим предсказания каждого раздела. Например, информация 810 о режиме предсказания может указывать режим кодирования с предсказанием, которое было применено к разделу, указанному посредством информации 800 о типе раздела, то есть внутренний 812, взаимный 814 или режим 816 пропуска.
Информация 820 о размере элемента преобразования указывает элемент преобразования, который должен выполнять роль основы, когда на текущем элементе кодирования выполняется преобразование. Например, элемент преобразования может быть первым элементом 822 внутреннего преобразования, вторым элементом 824 внутреннего преобразования, первым элементом 826 взаимного преобразования или вторым элементом 828 взаимного преобразования.
Узел 220 извлечения данных изображения и информации кодирования устройства 200 декодирования видео согласно одному примерному варианту осуществления настоящего изобретения может извлекать и использовать информацию 800, 810 и 820 для декодирования согласно каждому из более глубоких элементов кодирования.
Фиг. 9 представляет собой схему более глубоких элементов кодирования согласно одному примерному варианту осуществления настоящего изобретения.
Информация разделения может быть использована для указания изменения глубины. Информация разделения указывает, разделяется ли элемент кодирования текущей глубины на элементы кодирования меньшей глубины.
Ссылаясь на Фиг. 9, элемент 910 предсказания для кодирования с предсказанием относительно элемента 900 кодирования, имеющего глубину 0 и размер 2N_0×2N_0, может включать в себя раздел типа 912 с размером 2N_0×2N_0, раздел типа 914 с размером 2N_0×N_0, раздел типа 916 с размером N_0×2N_0 и раздел типа 918 с размером N_0×N_0. Хотя на Фиг. 9 проиллюстрированы только типы разделов с 912 по 918, которые получают путем симметричного разделения элемента 910 предсказания, очевидно, что типы разделов не ограничиваются этим. Например, согласно одному примерному варианту осуществления настоящего изобретения разделы элемента 910 предсказания могут включать в себя ассиметричные разделы, разделы с предопределенной формой и разделы, имеющие геометрическую форму.
Кодирование с предсказанием многократно выполняется по одному разделу с размером 2N_0×2N_0, двум разделам с размером 2N_0×N_0, двум разделам с размером N_0×2N_0 и четырем разделам с размером N_0×N_0 согласно каждому типу раздела. Кодирование с предсказанием во внутреннем режиме и взаимном режиме может быть применено к разделам, имеющим размеры 2N_0×2N_0, N_0×2N_0, 2N_0×N_0 и N_0×N_0. Кодирование с предсказанием в режиме пропуска применяется только к разделу с размером 2N_0×2N_0.
Ошибки кодирования, образуемые при кодировании с предсказанием в типах разделов с 912 по 918, сравниваются, и из этих типов разделов определяется наименьшая ошибка кодирования. Если ошибка кодирования принимает наименьшее значение в одном из типов разделов с 912 по 916, элемент 910 предсказания может быть разделен на более низкую глубину.
Например, если ошибка кодирования принимает наименьшее значение в разделе типа 918, глубина меняется с 0 на 1, чтобы разделить раздел типа 918 в операции 920, и кодирование многократно выполняется по элементам 930 кодирования, имеющим глубину 2 и размер N_0×N_0, чтобы найти минимальную ошибку кодирования.
Элемент 940 предсказания для кодирования с предсказанием относительно элемента 930 кодирования, имеющего глубину 1 и размер 2N_1×2N_1 (=N_0×N_0), может включать в себя раздел типа 942 с размером 2N_1×2N_1, раздел типа 944 с размером 2N_1×N_1, раздел типа 946 с размером N_1×2N_1 и раздел типа 948 с размером N_1×N_1.
Например, если ошибка кодирования принимает наименьшее значение в разделе типа 948, глубина меняется с 1 на 2, чтобы разделить раздел типа 948 в операции 950, и кодирование многократно выполняется по элементам 960 кодирования, имеющим глубину 2 и размер N_2×N_2, чтобы найти минимальную ошибку кодирования.
Когда максимальная глубина имеет значение d, операции разделения согласно каждой глубине могут быть выполнены до тех пор, пока глубина не становится равна d-1, и информация разделения может быть кодирована тогда, когда глубина лежит в диапазоне от 0 до d-2. Например, когда кодирование выполняется до тех пор, пока глубина не принимает значение d-1 после разделения элемента кодирования, соответствующего глубине d-2, в операции 970, элемент 990 предсказания для кодирования с предсказанием элемента 980 кодирования, имеющего глубину d-1 и размер 2N_(d-1)×2N_(d-1), может включать в себя разделы типа 992, имеющие размер 2N_(d-1)×2N_(d-1), разделы типа 994, имеющие размер 2N_(d-1)×N_(d-1), разделы типа 996, имеющие размер N_(d-1)×2N_(d-1) и разделы типа 998, имеющие размер N_(d-1)×N_(d-1).
Кодирование с предсказанием может многократно выполняться на одном разделе с размером 2N_(d-1)×2N_(d-1), двух разделах с размером 2N_(d-1)×N_(d-1), двух разделах с размером N_(d-1)×2N_(d-1), четырех разделах с размером N_(d-1)×N_(d-1) из числа разделов с типами от 992 до 998, чтобы найти тип раздела с наименьшей ошибкой кодирования.
Даже когда тип 998 раздела обеспечивает минимальную ошибку кодирования, поскольку максимальная глубина равна d, элемент CU_(d-1) кодирования с глубиной d-1 больше не разделяется на меньшую глубину. В этом случае кодированная глубина для элементов кодирования текущего максимального элемента кодирования определяется как d-1, и тип раздела текущего максимального элемента 900 кодирования может быть определен как равный N_(d-1)×N_(d-1). Кроме того, поскольку максимальная глубина равна d и минимальный элемент 980 кодирования с наименьшей глубиной d-1 больше не разделяется на меньшую глубину, информация разделения для минимального элемента 980 кодирования не устанавливается.
Элемент 999 данных может представлять собой минимальный элемент для текущего максимального элемента кодирования. Минимальный элемент согласно одному примерному варианту осуществления настоящего изобретения может представлять собой прямоугольный элемент данных, получаемый путем разделения минимального элемента 980 кодирования на 4. Путем многократного выполнения кодирования устройство 100 кодирования видео согласно одному примерному варианту осуществления настоящего изобретения может выбрать глубину с наименьшей ошибкой кодирования путем сравнения ошибок кодирования согласно глубинам элемента 900 кодирования, чтобы определить кодированную глубину, и установить соответствующий тип раздела и режим предсказания как режим кодирования кодированной глубины.
По существу, минимальные ошибки кодирования согласно глубинам сравниваются во всех глубинах с 1 до d, и глубина, при которой обеспечивается минимальная ошибка кодирования, может быть определена как кодированная глубина. Кодированная глубина, тип раздела элемента предсказания и режим предсказания могут быть кодированы и переданы как информация о режиме кодирования. Кроме того, поскольку элемент кодирования разделяется с глубины 0 до кодированной глубины, информация разделения кодированной глубины устанавливается равной 0, и информация разделения глубин, за исключением кодированной глубины, устанавливается равной 1.
Узел 220 извлечения данных изображения и информации кодирования устройства 200 декодирования видео согласно одному примерному варианту осуществления настоящего изобретения может извлекать и использовать информацию о кодированной глубине и элементе предсказания элемента 900 кодирования, чтобы декодировать раздел 912. Устройство 200 декодирования видео может определять глубину, в которой информация разделения равна 0, как кодированную глубину, используя информацию разделения согласно глубинам, и использовать информацию о режиме кодирования соответствующей глубины для декодирования.
Фиг. 10-12 представляют собой схемы для описания связи между элементами 1010 кодирования, элементами 1060 предсказания и элементами 1070 преобразования согласно одному или более примерным вариантам осуществления.
Ссылаясь на Фиг. 10, элементы 1010 кодирования представляют собой элементы кодирования с древовидной структурой, соответствующие кодированным глубинам, которые были определены устройством 100 кодирования видео, согласно одному примерному варианту осуществления настоящего изобретения, в максимальном элементе кодирования. Ссылаясь на Фиг. 11 и 12, элементы 1060 предсказания представляют собой разделы элементов предсказания каждого из элементов 1010 кодирования, а элементы 1070 преобразования представляют собой элементы преобразования каждого из элементов 1010 кодирования.
Когда глубина максимального элемента кодирования равна 0 в элементах 1010 кодирования, глубины элементов 1012 и 1054 кодирования равны 1, глубины элементов 1014, 1016, 1018, 1028, 1050 и 1052 кодирования равны 2, глубины элементов 1020, 1022, 1024, 1026, 1030, 1032 и 1048 кодирования равны 3, а глубины элементов 1040, 1042, 1044 и 1046 кодирования равны 4.
В элементах 1060 кодирования некоторые элементы 1014, 1016, 1022, 1032, 1048, 1050, 1052 и 1054 кодирования получаются путем разделения элементов 1010 кодирования. В частности, типы разделов в элементах 1014, 1022, 1050 и 1054 кодирования имеют размер 2N×N, типы разделов в элементах 1016, 1048 и 1052 кодирования имеют размер N×2N и тип раздела элемента 1032 кодирования имеет размер N×N. Элементы предсказания и разделы элементов 1010 кодирования меньше или равны каждому элементу кодирования.
Преобразование или обратное преобразование выполняется по данным изображения элемента 1052 кодирования в элементах 1070 преобразования в элементе данных, который меньше элемента 1052 кодирования. Кроме того, элементы 1014, 1016, 1022, 1032, 1048, 1050 и 1052 кодирования элементов 1070 преобразования отличаются от аналогичных элементов для элементов 1060 предсказания в части размеров и форм. То есть устройство 100 кодирования видео и устройство 200 декодирования видео согласно примерным вариантам осуществления настоящего изобретения могут выполнять внутреннее предсказание, оценку движения, компенсацию движения, преобразование и обратное преобразование индивидуальным образом по элементу данных в одном и том же элементе кодирования.
Соответственно, кодирование рекурсивно выполняется по каждому элементу кодирования с иерархической структурой в каждой области максимального элемента кодирования, чтобы определить оптимальный элемент кодирования, и, таким образом, можно получить элементы кодирования с рекурсивной древовидной структурой. Информация кодирования может включать в себя информацию разделения об элементе кодирования, информацию о типе раздела, информацию о режиме предсказания и информацию о размере элемента преобразования. Таблица 1 иллюстрирует информацию кодирования, которая может быть установлена посредством устройства 100 кодирования видео и устройства 200 декодирования видео.
Таблица 1
Информация 0 Разделения (Кодирование по Элементу кодирования с Размером 2N×2N и Текущей Глубиной d)
Информация 1 Разделения
Режим Предска-зания
Тип Раздела
Размер элемента Преобразования
Многократно Кодировать Элементы кодирования с МеньшейГлубиной d+1
ВнутрикадровыйМежкадровыйПропуска(Только 2N×2N)
Симметричный Тип Раздела
Асимметричный Тип Раздела
Информация 0 Разделения Элемента преобразования
Информация 1 Разделения Элемента преобразования
2N×2N2N×NN×2NN×N
2N×nU2N×n DnL×2NnR×2N
2N×2N
N×NСимметричныйТип) N/2×N/2 (АсимметричныйТип)
Узел 130 вывода устройства 100 кодирования видео может выводить информацию кодирования об элементах кодирования с древовидной структурой, и узел 220 извлечения данных и информации кодирования устройства 200 декодирования видео может извлекать информацию кодирования о элементах кодирования с древовидной структурой из принятого битового потока.
Информация разделения указывает, разделен ли текущий элемент кодирования на элементы кодирования более низкой глубины. Если информация разделения текущей глубины d равна 0, глубина, в которой текущий элемент кодирования больше не разделен на более низкую глубину, является кодированной глубиной. Информация о типе раздела, режиме предсказания и размере элемента преобразования может быть определена для кодированной глубины. Если текущий элемент кодирования дополнительно разделен согласно информации разделения, то кодирование независимо выполняется по разделенным элементам кодирования более низкой глубины.
Режим предсказания может быть одним из внутреннего режима, взаимного режима и режима пропуска. Внутренний и взаимный могут быть определены во всех типах раздела, а режим пропуска может быть определен только в типе раздела с размером 2N×2N.
Информация о типе раздела может указывать симметричные типы раздела с размерами 2N×2N, 2N×N, N×2N и N×N, которые получают путем симметричного разделения высоты или ширины элемента предсказания, и ассиметричные типы раздела с размерами 2N×nU, 2N×nD, nL×2N или nR×2N, которые получают путем ассиметричного разделения высоты или ширины элемента предсказания. Ассиметричные типы раздела с размерами 2N×nU и 2N×nD могут быть получены путем разделения высоты элемента предсказания в соотношениях 1:3 и 3:1 соответственно, а ассиметричные типы раздела с размерами nL×2N и nR×2N могут быть получены путем разделения ширины элемента предсказания в соотношениях 1:3 и 3:1 соответственно.
Размер элемента преобразования может быть установлен так, чтобы иметь два типа в внутреннем режиме и два типа в взаимном режиме. Например, если информация разделения элемента преобразования равна 0, размер элемента преобразования может составлять 2N×2N, что равно размеру текущего элемента кодирования. Если информация разделения элемента преобразования равна 1, то элементы преобразования могут быть получены путем разделения текущего элемента кодирования. Кроме того, если тип раздела текущего элемента кодирования с размером 2N×2N является симметричным типом раздела, то размер элемента преобразования может быть равен N×N, и если тип раздела текущего элемента кодирования является ассиметричным типом раздела, то размер элемента преобразования может быть равен N/2×N/2.
Информация кодирования о элементах кодирования с древовидной структурой может включать в себя, по меньшей мере, одно из элемента кодирования, соответствующего кодированной глубине, элемента кодирования, соответствующего элементу предсказания, и элементу кодирования, соответствующего минимальному элементу. Элемент кодирования, соответствующий кодированной глубине, может включать в себя, по меньшей мере, одно из элемента предсказания и минимального элемента, включающих в себя одинаковую информацию кодирования.
Соответственно, определяется, входят ли смежные элементы данных в один и тот же элемент кодирования, соответствующий кодированной глубине, причем это реализуется путем сравнения информации кодирования смежных элементов данных. Кроме того, элемент кодирования, соответствующий кодированной глубине, определяется путем использования информации кодирования элемента данных, и, таким образом, может быть определено распределение кодированных глубин в максимальном элементе кодирования.
Соответственно, если текущий элемент кодирования предсказывается на основе информации кодирования смежных элементов данных, информация кодирования элементов данных в более глубоких элементах кодирования, смежных относительно текущего элемента кодирования, может быть напрямую использована.
Тем не менее, очевидно, что другие примеры осуществления настоящего изобретения этим не ограничиваются. Например, согласно еще одному примерному варианту осуществления, если текущий элемент кодирования предсказывается на основании информации кодирования смежных элементов данных, то элементы данных, смежные относительно текущего элемента кодирования, могут быть найдены, используя информацию кодирования элементов данных, и искомые смежные элементы кодирования могут быть использованы для предсказания текущего элемента кодирования.
Фиг. 13 представляет собой схему для описания связи между элементом кодирования, элементом предсказания или разделом и элементом преобразования согласно информации режима кодирования по Таблице 1, согласно одному примерному варианту осуществления настоящего изобретения.
Ссылаясь на Фиг. 13, максимальный элемент 1300 кодирования включает в себя элементы 1302, 1304, 1306, 1312, 1314, 1316 и 1318 кодирования кодированных глубин. Поскольку элемент 1318 кодирования представляет собой элемент кодирования кодированной глубины, информация разделения может быть установлена равной 0. Информация о типе раздела элемента 1318 кодирования с размером 2N×2N может быть установлена равной одному из раздела типа 1322 с размером 2N×2N, раздела типа 1324 с размером 2N×N, раздела типа 1326 с размером N×2N, раздела типа 1328 с размером N×N, раздела типа 1332 с размером 2N×nU, раздела типа 1334 с размером 2N×nD, раздела типа 1336 с размером nL×2N и раздела типа 1338 с размером nR×2N.
Когда тип раздела устанавливается симметричным, то есть раздел типа 1322, 1324, 1326 или 1328, элемент 1342 преобразования с размером 2N×2N устанавливается, если информация разделения (флаг размера TU) элемента преобразования равна 0, и элемент 1344 преобразования с размером N×N устанавливается, если флаг размера TU равен 1.
Когда тип раздела устанавливается симметричным, то есть устанавливается раздел типа 1332, 1334, 1336 или 1338, элемент 1352 преобразования с размером 2N×2N устанавливается, если информация разделения (флаг размера TU) элемента преобразования равна 0, и элемент 1354 преобразования с размером N×N устанавливается, если флаг размера TU равен 1.
Ссылаясь на Фиг. 13, флаг размера TU представляет собой флаг, принимающий значения 0 или 1, хотя очевидно, что флаг размера TU не ограничивается размером 1 бит, и элемент преобразования может быть иерархически разделен согласно древовидной структуре вместе с возрастанием значения флага размера TU от 0.
В этом случае размер элемента преобразования, который был фактически использован, может быть выражен с использованием флага размера TU элемента преобразования, согласно одному примерному варианту осуществления, вместе с максимальным размером и минимальным размером элемента преобразования. Согласно одному примерному варианту осуществления настоящего изобретения устройство 100 кодирования видео способно кодировать информацию размера максимального элемента преобразования, информацию минимального размера преобразования и флаг максимального размера TU. Результат кодирования информации максимального размера элемента преобразования, информации минимального размера элемента преобразования и флага максимального размера TU может быть вставлен в SPS. Согласно одному примерному варианту осуществления настоящего изобретения устройство 200 декодирования видео может декодировать видео, используя информацию размера максимального элемента преобразования, информацию минимального размера элемента преобразования и флаг максимального размера TU.
Например, если размер текущего элемента кодирования составляет 64×64 и максимальный элемент преобразования равен 32×32, размер элемента преобразования может быть 32×32, когда флаг размера TU равен 0, может быть 16×16, когда флаг размера TU равен 1, и может быть 8×8, когда флаг размера TU равен 2.
В качестве еще одного примера, если размер текущего элемента кодирования составляет 32×32 и минимальный элемент преобразования равен 32×32, то размер элемента преобразования может быть равен 32×32, когда флаг размера TU равен 0. В данном случае флаг размера TU не может быть установлен в значение, отличное от 0, поскольку размер элемента преобразования не может быть меньше 32×32.
В качестве еще одного примера, если размер текущего элемента кодирования равен 64×64 и флаг максимального размера TU равен 1, то флаг размера TU может быть равен 0 или 1. Так, флаг размера TU не может быть установлен в значение, отличное от 0 или 1.
Таким образом, если определено, что флаг максимального размера TU равен MaxTransformSizeIndex, минимальный размер элемента преобразования равен MinTransformSize, и размер элемента преобразования равен RootTuSize, то когда флаг размера TU равен 0, текущий размер CurrMinTuSize минимального элемента преобразования, который может быть определен в текущем элементе кодирования, может быть задан Уравнением (1):
CurrMinTuSize=max(MinTransformSize, RootTuSize/(2^MaxTransformSizeIndex))… (1).
По сравнению с текущим минимальным размером CurrMinTuSize элемента преобразования, который может быть определен в текущем элементе преобразования, размер RootTuSize элемента преобразования, когда флаг размера TU равен 0, может обозначать максимальный размер элемента преобразования, который может быть выбран в системе. В Уравнении (1), RootTuSize/(2^MaxTransformSizeIndex) указывает размер элемента преобразования, когда размер RootTuSize элемента преобразования, при нулевом значении флага размера TU, разделен некоторое количество раз, которое соответствует флагу максимального размера TU. Дополнительно, MinTransformSize указывает минимальный размер преобразования. Таким образом, меньшая величина из RoofTuSize/(2^MaxTransformSizeIndex) и MinTransformSize может быть выбрана как текущий размер CurrMinTuSize минимального элемента преобразования, который может быть определен в текущем элементе кодирования.
Согласно одному примерному варианту осуществления, максимальный размер RootTuSize элемента преобразования может варьировать согласно типу режима предсказания.
Например, если текущим режимом предсказания является взаимный, то RootTuSize может быть определен согласно нижеприведенному Уравнению (2). В Уравнении (2), MaxTransformSize указывает максимальный размер элемента преобразования, а PUSize указывает текущий размер элемента предсказания.
RootTuSize = min(MaxTransformSize, PUSize) (2).
То есть если текущим режимом предсказания является взаимный, то размер RootTuSize элемента преобразования, когда флаг размера TU равен 0, может быть наименьшей величиной из максимального размера элемента преобразования и текущего размера элемента предсказания.
Если режимом предсказания текущего элемента кодирования является внутренний, то RootTuSize может быть определен путем использования нижеприведенного Уравнения (3). В Уравнении (3), PartitionSize указывает размер текущего элемента раздела.
RootTuSize = min(MaxTransformSize, PartitionSize) (3).
То есть если текущим режимом предсказания является внутренний, то размер RootTuSize элемента преобразования, когда флаг размера TU равен 0, может быть наименьшей величиной из максимального размера элемента преобразования и размера текущего элемента раздела.
Тем не менее, текущий размер RootTuSize максимального элемента преобразования, который варьирует согласно типу режима предсказания в элементе раздела, является лишь примером, и другие примеры осуществления настоящего изобретения не ограничиваются этим.
Ниже следует подробное описание кодирования и декодирования остаточного блока, выполняемое статистическим кодером 450 устройства 400 кодирования видео с Фиг. 4 и статистическим декодером 520 устройства 500 декодирования видео с Фиг. 5. В нижеприведенном описании кодируемый элемент указывает текущий кодированный элемент в процессе кодирования изображения, а декодируемый элемент указывает текущий декодированный элемент в процессе декодирования изображения. Кодируемый элемент и декодируемый элемент отличаются тем, что кодируемый элемент используется в процессе кодирования, а декодируемый элемент используется в декодировании. В целях простоты, за исключением отдельных случаев, кодируемый элемент и декодируемый элемент обозначаются как элемент кодирования как в процессе кодирования, так и в процессе декодирования. Кроме того, специалистам в данной области техники будет очевидно, что способ внутреннего предсказания и устройство согласно одному примерному варианту осуществления настоящего изобретения также могут быть применены, чтобы выполнять внутреннее предсказание в обычном кодеке видео.
Фиг. 14a-14c представляют собой опорные схемы для описания процесса кодирования остаточного блока преобразования согласно предшествующему уровню техники.
Ссылаясь на Фиг. 14a, когда путем преобразования остаточного блока генерируется остаточный блок 1410 преобразования, формируется карта значимости, которая указывает местоположение ненулевого эффективного коэффициента преобразования в остаточном 1410 элементе преобразования при сканировании коэффициентов преобразования в остаточном 1410 элементе преобразования согласно зигзагообразному порядку. После сканирования коэффициентов преобразования в остаточном блоке 1410 преобразования выполняется кодирование информации уровня эффективного коэффициента трансформации. Например, ниже следует описание процесса кодирования остаточного блока 1420 преобразования с размером 4×4. Ссылаясь на Фиг. 14b, предполагается, что коэффициенты преобразования в позициях, обозначенных знаком X, являются ненулевыми эффективными коэффициентами преобразования. Как показано на Фиг. 14c, из коэффициентов преобразования в остаточном блоке 1430 карта значимости указывает эффективный коэффициент трансформации как 1, а нулевой коэффициент трансформации как 0. Карта значимости сканируется согласно предопределенному порядку сканирования, и одновременно выполняется его контекстно-адаптивное бинарное кодирование. Например, когда карта значимости с Фиг. 14c кодируется согласно растровому порядку сканирования и сканирование выполняется слева направо и сверху вниз, на карте значимости выполняется контекстно-адаптивное бинарное кодирование, соответствующее бинарной строке "111111110101000." Информация уровня эффективного коэффициента, то есть знак и абсолютная величина эффективного коэффициента, кодируется после кодирования карты значимости.
Такой процесс согласно предшествующему уровню техники может быть использован для кодирования остаточного блока преобразования с малым размером, таким как 4×4 или 8×8, но данный процесс может не подойти для кодирования остаточного блока преобразования с большим размером, таким как 16×16, 32×32 или 64×64. В частности, если все коэффициенты преобразования в остаточном блоке преобразования сканируются и кодируются согласно процессу с Фиг. 14a-14c относительно остаточного блока преобразования с большим размером, длина бинарной строки, соответствующей карте значимости, может увеличиться и эффективность кодирования может сократиться.
Соответственно, способ и устройство для кодирования остаточного блока согласно примерным вариантам осуществления настоящего изобретения способны эффективно кодировать остаточный блок преобразования путем разделения остаточного блока преобразования на предопределенные элементы полосы частот и путем кодирования флага эффективного кодирования согласно этим элементам полосы частот, который указывает, существует ли ненулевой эффективный коэффициент преобразования для каждого элемента полосы частот, между тем кодируя информацию эффективного коэффициента преобразования, то есть карту значимости и информацию уровня эффективного коэффициента в полосе частот, в котором флаг эффективного коэффициента согласно элементам полосы частот имеет значение 1.
Фиг. 15 представляет собой структурную схему устройства 1500 для кодирования остаточного блока согласно одному примерному варианту осуществления настоящего изобретения. Устройство 1500 может соответствовать статистическому кодеру 450 с Фиг. 4 или может входить в состав статистического кодера 450, но это не является ограничением.
Ссылаясь на Фиг. 15, устройство 1500 включает в себя разделитель 1510 полосы частот, генератор 1520 флага эффективного коэффициента и кодер 1530 эффективного коэффициента.
Разделитель 1510 полосы частот разделяет остаточный блок преобразования на предопределенные элементы полосы частот. Ссылаясь на Фиг. 14a, в образцовом остаточном блоке 1410 преобразования верхний левый коэффициент преобразования имеет низкочастотный компонент, а нижний правый коэффициент преобразования имеет высокочастотный коэффициент. Большинство эффективных коэффициентов преобразования остаточного блока 1410 преобразования могут существовать в полосах низких частот, а коэффициенты преобразования с высокочастотными компонентами в большинстве случаев могут иметь значение 0. В этом случае ненулевые эффективные коэффициенты редко встречаются среди коэффициентов преобразования высокочастотного компонента. В частности, распределение эффективных коэффициентов преобразования высокочастотных компонентов может быть более разрешенным, когда остаточный блок преобразования генерируется путем выполнения преобразования посредством элемента преобразования с размером 16×16, 32×32, 64×64 или более, что больше по сравнению с элементом преобразования согласно предшествующему уровню техники, который имеет размер 4×4 или 8×8, как в кодере 400 изображения. Соответственно, разделитель 1510 полосы частот может разделить остаточный блок преобразования на элементы полосы частот с учетом характеристик распределения согласно полосам частот коэффициентов преобразования в остаточном блоке преобразования.
Фиг. 16a-16j представляют собой схемы для описания разделения остаточного блока преобразования на предопределенные элементы полосы частот согласно одному или более примерным вариантам осуществления настоящего изобретения.
Ссылаясь на Фиг. 16a, разделитель 1510 полосы частот генерирует элементы 1611-1614 полосы частот путем разделения остаточного блока 1610 преобразования через предопределенные частотные интервалы от полосы низких частот до горизонтальной частоты H1 и вертикальной частоты V1. На Фиг. 16a горизонтальные стороны и вертикальные стороны элементов 1611-1614 полосы частот имеют одинаковую длину, хотя очевидно, что длины горизонтальных и вертикальных сторон могут отличаться друг от друга. Если длина остающейся полосы частот от горизонтальной частоты H1 до максимальной горизонтальной частоты меньше, чем частотный интервал, соответствующий длине горизонтальной стороны каждого из элементов 1611-1614 полосы частот, или если длина остающейся полосы частот от вертикальной частоты V1 до максимальной вертикальной частоты меньше, чем частотный интервал, соответствующий длине вертикальной стороны каждого из элементов 1611-1614 полосы частот, разделитель 1510 полосы частот больше не разделяет остаточный блок 1610 преобразования и генерирует элемент 1615 полосы частот, соответствующий высокочастотному компоненту. Эффективные коэффициенты преобразования могут быть сконцентрированы в элементах 1611-1614 полосы частот, соответствующих низкочастотным компонентам, и распределение эффективных компонентов преобразования высокочастотных компонентов может быть разреженным. Соответственно, даже когда все остающиеся высокочастотные компоненты, кроме элементов 1611-1614 полосы частот, сгенерированных путем разделения остаточного блока 1610 преобразования через предопределенные частотные интервалы, генерируются в одном элементе 1615 полосы частот, объем служебной информации, образуемый при кодировании коэффициентов преобразования в элементе 1615 полосы частот, не может существенно увеличиться.
В еще одном примере осуществления настоящего изобретения, как показано на Фиг. 16b, разделитель 1510 полосы частот может генерировать элементы 1621-1624 полосы частот путем разделения остаточного блока 1620 преобразования от полосы низких частот до горизонтальной частоты H2 и вертикальной частоты V2, и генерировать элементы 1625-1627 путем разделения остающихся высокочастотных компонентов остаточного блока 1620 преобразования на основе горизонтальной частоты H2 и вертикальной частоты V2, аналогично описанию с Фиг. 16a.
Кроме того, согласно еще одному примерному варианту осуществления настоящего изобретения, как показано на Фиг. 16c, разделитель 1510 полосы частот может генерировать элементы 1631-1624 полосы частот путем разделения остаточного блока 1630 преобразования от полосы низких частот до горизонтальной частоты H3 и вертикальной частоты V3, и генерировать элементы 1635-1636 высокочастотных компонентов путем разделения остающихся высокочастотных компонентов остаточного блока 1630 преобразования на две части на основе вертикальной частоты V3, аналогично описанию с Фиг. 16a.
Ссылаясь на Фиг. 16d, согласно еще одному примерному варианту осуществления настоящего изобретения разделитель 1510 полосы частот может генерировать элементы 1641-1644 полосы частот путем разделения остаточного блока 1640 преобразования от полосы низких частот до горизонтальной частоты H4 и вертикальной частоты V4, и генерировать элементы 1645-1646 полосы частот высокочастотных компонентов путем разделения остающихся высокочастотных компонентов остаточного блока 1630 преобразования на две части на основе горизонтальной частоты H4, аналогично описанию с Фиг. 16a.
Как описано выше, распределение эффективных коэффициентов преобразования имеет высокую концентрацию в полосе низких частот и становится разреженным в направлении полосы высоких частот. Соответственно, как показано на Фиг. 16e, разделитель 1510 полосы частот разделяет остаточный блок 1650 преобразования таким образом, что размер элемента, полученного разделением в полосе низких частот, меньше размера элемента, полученного разделением в полосе высоких частот, с учетом характеристик распределения эффективных коэффициентов преобразования. Иначе говоря, разделитель 1510 полосы частот разделяет остаточный блок 1650 преобразования на более мелкие элементы в полосе низких частот и относительно большие элементы в полосе высоких частот, так что эффективные коэффициенты преобразования, которые сконцентрированы в полосе низких частот, кодируются точно. Например, как показано на Фиг. 16e, разделитель 1610 полосы частот может генерировать элементы 1651-1657 разделения полосы частот путем разделения остаточного блока 1650 преобразования на основании горизонтальной частоты H5, вертикальной частоты V5, горизонтальной частоты H6, имеющей большую величину, чем кратное горизонтальной частоты H5, а также на основании вертикальной частоты V6, имеющей большую величину, чем кратное вертикальной частоты V5. Таким образом, когда A1651-A1657, соответственно, обозначают размеры элементов 1651-1657 разделения полосы частот, остаточный блок 1650 преобразования разделяется таким образом, что A1651 имеет минимальный размер, а A1657 имеет максимальный размер.
Ссылаясь на Фиг. 16f, согласно еще одному другому примерному варианту осуществления настоящего изобретения разделитель 1510 полосы частот может разделить остаточный блок 1660 преобразования на элементы 1661 полосы частот, имеющие одинаковый размер.
Более того, ссылаясь на Фиг. 16g, согласно еще одному примерному варианту осуществления настоящего изобретения разделитель 1510 полосы частот может разделять остаточный блок 1670 преобразования на четыре части и еще раз разделять на четыре части наименьший элемент 1671 полосы низких частот, чтобы сгенерировать элементы полосы частот. Разделитель 1510 полосы частот может снова разделить на четыре части наименьший элемент 1672 полосы низких частот. Подобный процесс разделения может повторяться до тех пор, пока размеры разделенных на четыре части элементов полосы частот не станут равны или меньше предопределенного размера.
Согласно еще одному примерному варианту осуществления, ссылаясь на Фиг. 16h, разделитель 1510 полосы частот может генерировать элемент 1681 полосы частот низкочастотного компонента от низкой частоты до горизонтальной частоты H7 и вертикальной частоты V7, и генерировать элементы 1682 и 1683 полосы частот путем диагонального разделения остальных высокочастотных компонентов остаточного блока 1680 преобразования.
Ссылаясь на Фиг. 16i и 16j, согласно одному или более другим примерным вариантам осуществления настоящего изобретения разделитель 1510 полосы частот может разделить остаточные элементы 1690 и 1695 преобразования путем соединения горизонтальной частоты и вертикальной частоты, которые имеют предопределенные значения. На Фиг. 16i остаточный блок 1690 преобразования разделяется путем соединения горизонтальной частоты и вертикальной частоты через равные частотные интервалы. На Фиг. 16j остаточный блок 1695 преобразования разделяется таким образом, что частотные интервалы увеличиваются в направлении высокой частоты, то есть путем соединения точек a1 и b1, a2 и b2, a3 и b3, a4 и b4, где a1<a2<a3<a4 и b1<b2<b3<b4.
Согласно еще одному примерному варианту осуществления, вместо использования преопределенной схемы разделения, показанной на Фиг. 16a и 16j, разделитель 1510 полосы частот может определить характеристики изображения остаточного блока преобразования, используя характеристики распределения эффективных коэффициентов преобразования остаточного блока преобразования или количество эффективных коэффициентов преобразования в каждой полосе частот, и определить размер частотного элемента, чтобы разделить остаточный блок преобразования согласно каждому частотному диапазону, используя определенные характеристики изображения. Например, когда эффективные коэффициенты преобразования в остаточном блоке преобразования существуют только в полосе частот, которая меньше горизонтальной частоты H8 и вертикальной частоты V8, и не существуют в полосе частот, которая больше горизонтальной частоты H8 и вертикальной частоты V8, разделитель 1510 полосы частот может установить весь остаточный блок преобразования от полосы низких частот до горизонтальной частоты H8 и вертикальной частоты V8 в качестве одного элемента полосы частот. Альтернативно, разделитель 1510 полосы частот разделяет остаточный блок преобразования на элементы полосы частот, имеющие одинаковый размер, и устанавливает полосу частот, которая больше горизонтальной частоты H8 и вертикальной частоты V8, в качестве одного элемента полосы частот.
Очевидно, что разделение остаточного блока преобразования на предопределенные элементы полосы частот не ограничивается примерами осуществления, описанными выше со ссылкой на Фиг. 16a-16j, и что остаточный блок преобразования может быть разделен на различные формы в одном или более других примерах осуществления настоящего изобретения.
Между тем, формы разделения остаточного блока преобразования посредством разделителя 1510 полосы частот могут быть идентичным образом установлены в кодере и декодере. Тем не менее, очевидно, что другие примеры осуществления настоящего изобретения этим не ограничиваются. Например, согласно еще одному примерному варианту осуществления предопределенный индекс разделения может быть определен для каждой из разных форм разделения, как показано на Фиг. 16a-16j, и кодер может вставлять этот индекс разделения в информацию разделения, используемую при кодировании остаточного блока преобразования в кодированный битовой поток. Например, когда целочисленные величины из индекса (div_index) разделения от 0 до 9, соответственно, обозначают формы разделения с Фиг. 16a-16j, и формой разделения, используемой для кодирования текущего остаточного блока преобразования, является div_index=5, соответствующая форме с Фиг. 16f, такая информация разделения может быть добавлена в информацию кодирования текущего остаточного блока преобразования.
Ссылаясь на Фиг. 15, после того как разделитель 1510 полосы частот разделяет остаточный блок преобразования на элементы полосы частот, генератор 1520 флага эффективного коэффициента генерирует флаг эффективного коэффициента, указывающий, существует ли эффективный коэффициент преобразования в каждом элементе полосы частот. Так, генератор 1520 флага эффективного коэффициента может не генерировать отдельный флаг эффективного коэффициента для наименьшего элемента полосы низких частот. Например, когда остаточный блок 1610 преобразования с Фиг. 16a разделяется, генератор 1520 флага эффективного коэффициента может генерировать флаги эффективных коэффициентов, указывающие, существуют ли эффективные коэффициенты преобразования для элементов 1612-1615 полосы частот, отличных от элемента 1611 полосы частот наименьшего элемента полосы низких частот. Когда Coeff_exist_1612, Coeff_exist_1613, Coeff_exist_1614 и Coeff_exist_1615, соответственно, обозначают флаги эффективных коэффициентов элементов 1612-1615 полосы частот, и эффективные коэффициенты существуют только в элементах 1612-1613 полосы частот из числа элементов 1612-1615, генератор 1520 флага эффективного коэффициента генерирует флаги эффективных коэффициентов каждого элемента полосы частот, например, Coeff_exist_1612=1, Coeff_exist_1613=1 и Coeff_exist_1614=0, Coeff_exist_1615=0. Как описано выше, поскольку эффективный коэффициент преобразования может существовать в элементе 1611 полосы частот наименьшего элемента полосы низких частот, флаг эффективного коэффициента, указывающий существование эффективного коэффициента преобразования, может отдельно не генерироваться для элемента 1611 полосы частот. Более того, вместо раздельной генерации флага эффективного коэффициента для элемента 1611 полосы частот, после coded_block_flag согласно предшествующему уровню техники, которое указывает, существует ли эффективный коэффициент преобразования в остаточном блоке, может быть использован, чтобы указывать существование эффективного коэффициента преобразования в элементе 1611 полосы частот. Подобный процесс генерации флага эффективного коэффициента не ограничивается формой разделения с Фиг. 16a и может быть применен к другим формам в одном или более других примерах осуществления настоящего изобретения, таких как проиллюстрированные на Фиг. 16b-16j.
Между тем, процесс преобразования или процесс обратного преобразования может быть выполнен индивидуально в каждом элементе полосы частот путем использования разных способов преобразования или обратного преобразования. Дополнительно процесс преобразования или обратного преобразования может быть выполнен только в элементе полосы частот, имеющем флаг эффективного коэффициента со значением 1, и может быть пропущен в элементе полосы частот, имеющем флаг эффективного коэффициента со значением 0.
Ссылаясь на Фиг. 15, кодер 1530 эффективного коэффициента кодирует карту значимости и информацию уровня эффективного коэффициента преобразования. Карта значимости указывает местоположения эффективных коэффициентов преобразования, существующих в элементе полосы частот, в котором значение флага эффективного коэффициента, генерируемого генератором 1520 флага эффективного коэффициента, равно 1, то есть в элементе полосы частот, имеющем эффективный коэффициент преобразования.
Фиг. 17a и 17b представляют собой опорные схемы для описания процесса кодирования эффективного коэффициента преобразования согласно одному или более примерным вариантам осуществления настоящего изобретения. Фиг. 17a и 17b иллюстрируют формы разделения, соответствующие форме разделения с Фиг. 16e, причем элементы полосы частот генерируются путем разделения на четыре части остаточного блока преобразования и еще одного разделения полосы низких частот на четыре части. Очевидно, что процесс, описанный со ссылкой на Фиг. 17a и 17b, также может быть применен к элементам полосы частот с другими формами разделения, такими как одна из форм с Фиг. 16a-16j.
Кодер 1530 эффективного коэффициента может кодировать эффективный коэффициент преобразования путем сканирования всего остаточного блока преобразования или кодировать эффективный коэффициент преобразования в элементе полосы частот путем выполнения сканирования независимо для каждого элемента полосы частот. Более подробно, ссылаясь на Фиг. 17a, кодер 1530 эффективного коэффициента может кодировать карту значимости, указывающую местоположения эффективных коэффициентов преобразования, существующих в остаточном блоке 1710 преобразования, и информацию размера и знака каждого эффективного коэффициента преобразования, между тем сканируя весь остаточный блок 1710 преобразования согласно предопределенному порядку сканирования, например, согласно растровому порядку сканирования, проиллюстрированному на Фиг. 17a. Так, сканирование может быть пропущено в элементе полосы частот, в котором флаг эффективного коэффициента имеет значение 0, то есть в элементе полосы частот, который не имеет эффективного коэффициента преобразования.
Согласно еще одному примерному варианту осуществления настоящего изобретения, ссылаясь на Фиг. 17b, кодер 1530 эффективного коэффициента может кодировать карту значимости и информацию уровня эффективного коэффициента преобразования для каждого элемента полосы частот согласно форме разделения остаточного блока 1720 преобразования, полученного разделением разделителем 1510 полосы частот.
Фиг. 18a и 18b представляют собой опорные схемы для подробного описания процесса кодирования остаточного блока согласно одному примерному варианту осуществления настоящего изобретения. Ссылаясь на Фиг. 18a и 18b, коэффициент преобразования, обозначенный как X, является эффективным коэффициентом преобразования, а коэффициент преобразования без какой-либо идентификации имеет значение 0.
Ссылаясь на Фиг. 18a, разделитель 1510 полосы частот разделяет остаточный блок 1810 преобразования согласно форме разделения, такой как одна из форм разделения с Фиг. 16a-16j. Фиг. 18a иллюстрирует форму разделения, соответствующую форме разделения с Фиг. 16e, хотя очевидно, что процесс, описанный со ссылкой на Фиг. 18a, также может быть применен к другим формам разделения. Генератор 1520 флага эффективного коэффициента, соответственно, устанавливает флаги эффективных коэффициентов элементов 1811-1813 полосы частот, включающих в себя эффективные коэффициенты преобразования, в значение 1, и устанавливает флаги эффективных коэффициентов элементов 1814-1817 полосы частот, которые не включают в себя эффективные коэффициенты преобразования, в значение 0. Кодер 1530 эффективного коэффициента кодирует карту значимости, указывающую местоположения эффективных коэффициентов преобразования, между тем сканируя весь остаточный блок 1810 преобразования. Как описано выше, карта значимости указывает, является ли коэффициент преобразования согласно каждому индексу сканирования эффективным коэффициентом преобразования или имеет значение 0. После кодирования карты значимости кодер 1530 эффективного коэффициента кодирует информацию уровня каждого эффективного коэффициента преобразования. Информация уровня эффективного коэффициента преобразования включает в себя информацию знака и абсолютной величины эффективного коэффициента преобразования. Например, карта значимости элементов 1811-1813 полосы частот, включающих в себя эффективные коэффициенты, может иметь величину бинарной строки, такой как "1000100010101110100100100010001", когда сканирование выполняется согласно растровому порядку сканирования, как показано на Фиг. 18a.
Кроме того, когда информация об эффективном коэффициенте преобразования кодируется, между тем сканируя весь остаточный блок 1810 преобразования, как показано на Фиг. 18a, флаг блока-конца (End-Of-Block, EOB), указывающий является ли эффективный коэффициент преобразования последним эффективным коэффициентом преобразования, может быть установлен для всего остаточного блока 1810 преобразования или каждого элемента полосы частот. Когда флаг EOB устанавливается для всего остаточного блока 1810 преобразования, только флаг EOB коэффициента 1802 преобразования последнего эффективного коэффициента преобразования согласно порядку сканирования с Фиг. 18a может иметь значение 1. Например, как описано выше, если карта значимости согласно Фиг. 18a имеет значение "1000100010101110100100100010001", флаг EOB, соответствующий такой карте значимости, имеет значение "000000000001", поскольку среди 12 эффективных коэффициентов преобразования, входящих в "1000100010101110100100100010001", только последний эффективный коэффициент преобразования имеет значение 1. Иначе говоря, для выражения флага EOB, соответствующего карте значимости с Фиг. 18a, используется всего 12 битов.
Альтернативно, чтобы сократить количество битов, используемых для выражения флага EOB, кодер 1530 эффективного коэффициента может определить флаг (Tlast), указывающий, существует ли последний эффективный коэффициент преобразования, согласно каждому элементу полосы частот, и устанавливать Tlast в значение 1, если последний эффективный коэффициент преобразования согласно каждому элементу полосы частот существует, и в значение 0, если последний эффективный коэффициент преобразования не существует, и устанавливает флаг EOB только для элемента полосы частот, где Tlast равен 1, таким образом сокращая количество битов, используемых для идентификации позиций эффективных коэффициентов преобразования во всем остаточном блоке преобразования и последнем эффективном коэффициенте преобразования. Ссылаясь на Фиг. 18a, кодер 1530 эффективного коэффициента может проверять наличие последнего эффективного коэффициента преобразования для каждого из элементов 1811-1813 полосы частот, включающих в себя эффективные коэффициенты преобразования, и устанавливает Tlast в значение 1 в элементе 1812 полосы частот, включающем в себя последний эффективный коэффициент преобразования, и устанавливает Tlast в значение 0 в остальных элементах 1811 и 1813 полосы частот. Если каждый бит Tlast указывает наличие последнего эффективного коэффициента преобразования в каждом из элементов 1811-1813 полосы частот согласно порядку сканирования коэффициентов преобразования, Наибольший Значащий Бит (Most Significant Bit, MSB) величины Tlast может указывать, существует ли эффективный коэффициент преобразования в элементе самой низкой полосы частот, а Наименьшей Значащий Бит (Least Significant Bit, LSB) величины Tlast может указывать, существует ли последний эффективный коэффициент преобразования в элементе 1812 полосы частот. То есть битовая величина "001" устанавливается, поскольку Tlast имеет величину 0 для элемента 1811 полосы частот, 0 - для элемента 1813 полосы частот, и 1 - для элемента 1812 полосы частот. Таким образом, поскольку эффективный коэффициент преобразования в остаточном блоке преобразования может заканчиваться на элементе 1811 полосы частот, который является наименьшим, величина Tlast может отдельно не назначаться элементу 1811 полосы частот. То есть величина Tlast может быть установлена только для частотных диапазонов 1812 и 1813, с исключением полосы частот 1811, из элементов 1811-1813 полосы частот, которые сканируются согласно порядку сканирования. Так, двухбитовые величины "01" устанавливаются как Tlast. Бит "0", который является MSB величины "01", указывает, что последний эффективный коэффициент преобразования остаточного блока преобразования не существует в элементе 1813 полосы частот, а бит "1", который является LSB величины "01", указывает, что последний эффективный коэффициент преобразования остаточного блока преобразования существует в элементе 1812 полосы частот. Tlast может иметь значение "00", если последний эффективный коэффициент преобразования остаточного блока преобразования существует в полосе частот 1811 элемента самого низкого диапазона. Таким образом, когда все биты Tlast равны 0, может быть определено, что последний эффективный коэффициент преобразования остаточного блока преобразования существует в элементе 1811 полосы частот.
В данном примере осуществления настоящего изобретения кодер 1530 эффективного коэффициента устанавливает флаг EOB только для элемента полосы частот, в котором Tlast равен 1, то есть элемент полосы частот, включающий в себя последний эффективный коэффициент преобразования остаточного блока преобразования. Ссылаясь на Фиг. 18a, кодер 1530 эффективного коэффициента устанавливает флаг EOB только для каждого эффективного коэффициента преобразования, существующего в элементе 1812 полосы частот, в котором Tlast равен 1. Поскольку в элементе 1812 полосы частот существует всего четыре эффективных коэффициента преобразования, флаг EOB имеет четыре бита "0001." Согласно еще одному примерному варианту осуществления настоящего изобретения, всего от шести до семи битов используются для идентификации местоположения эффективных коэффициентов преобразования в остаточном блоке преобразования и последнего эффективного коэффициента преобразования, поскольку от двух до трех битов устанавливаются для Tlast и четыре бита устанавливаются для флага EOB. Так, экономия составляет от пяти до шести битов по сравнению с ранее описанным примером осуществления, в котором для установки флага EOB используется всего 12 битов, например "000000000001".
Согласно еще одному примерному варианту осуществления настоящего изобретения, когда флаг EOB устанавливается для каждого элемента полосы частот, флаги EOB коэффициента 1801 преобразования в элементе 1811 полосы частот, коэффициента 1802 преобразования в элементе 1812 полосы частот и коэффициента 1803 преобразования в элементе 1813 полосы частот устанавливаются равными 1. Флаги EOB не устанавливаются для элементов 1814-1817 полосы частот, которые не включают в себя эффективные коэффициенты преобразования. По существу, когда флаг EOB устанавливается для каждого элемента полосы частот, включающего в себя эффективный коэффициент преобразования, эффективный коэффициент преобразования в предопределенном элементе полосы частот сканируется, и, далее, может быть сканирован эффективный коэффициент преобразования в следующем элементе полосы частот. Например, коэффициент преобразования в элементе 1812 полосы частот может быть сканирован после завершения сканирования коэффициента 1803 преобразования в элементе 1813 полосы частот. Ссылаясь на Фиг. 18b, информация эффективного коэффициента преобразования кодируется независимо для каждого элемента полосы частот. Кодер 1530 эффективного коэффициента кодирует карту значимости, указывающую местоположения эффективных коэффициентов преобразования, и информацию уровня каждого эффективного коэффициента преобразования, между тем независимым образом сканируя каждый элемент полосы частот остаточного блока 1820 преобразования. Например, при сканировании согласно растровому порядку сканирования с Фиг. 18b, карта значимости элемента 1821 полосы частот принимает форму бинарной строки, такой как "1000100010011". Кроме того, кодер 1530 эффективного коэффициента устанавливает флаг EOB эффективного коэффициента 1831 преобразования, соответствующий последнему эффективному коэффициенту преобразования, в значение 1. Аналогично, кодер 1530 эффективного коэффициента генерирует бинарную строку, такую как "101010001", в качестве карты значимости элемента 1822 полосы частот. Кроме того, кодер 1530 эффективного коэффициента устанавливает EOB эффективного коэффициента 1832 преобразования, среди эффективных коэффициентов преобразования в элементе 1822 полосы частот, в значение 1. Аналогично, кодер 1530 эффективного коэффициента генерирует бинарную строку, такую как "11001", в качестве карты значимости элемента 1823 полосы частот, и устанавливает флаг EOB эффективного коэффициента 1833 преобразования в значение 1.
Между тем, кодер 1530 эффективного коэффициента может отдельно кодировать флаг End_Of_WholeBlock, указывающий последний эффективный коэффициент преобразования остаточного блока 1820 преобразования, независимо от флага EOB, указывающего, что эффективные коэффициенты 1831-1833 преобразования являются последними эффективными коэффициентами преобразования в соответствующем элементе полосы частот. Ссылаясь на Фиг. 18b, если элементы 1821-1827 полосы частот независимо сканируются в установленном порядке, эффективный коэффициент 1833 преобразования является последним эффективным коэффициентом преобразования элемента 1823 полосы частот и, вместе с этим, последним эффективным коэффициентом преобразования остаточного блока 1820 преобразования. Соответственно, флаг EOB и флаг End_Of_WholeBlock эффективного коэффициента 1833 преобразования оба имеют значение 1. В эффективных коэффициентах 1831 и 1832 преобразования, которые являются последними эффективными коэффициентами преобразования элементов 1831 и 1832 полосы частот, флаги EOB имеют значение 1, однако флаги End_Of_WholeBlock имеют значение 0.
По существу, когда флаг EOB и флаг End_Of_WholeBlock устанавливаются для последнего эффективного коэффициента преобразования согласно каждому частотному диапазону, существование эффективного коэффициента преобразования в соответствующем элементе полосы частот может быть сначала определено путем использования вышеописанного флага эффективного коэффициента в течение декодирования, чтобы избежать сканирования элемента полосы частот, в котором флаг эффективного коэффициента равен 0. Дополнительно, когда коэффициент преобразования, в котором флаг EOB равен 1, сканируется и одновременно сканируются коэффициенты преобразования в элементе полосы частот, в котором флаг эффективного коэффициента равен 1, то есть в элементе полосы частот с эффективным коэффициентом преобразования, может быть выполнено сканирование следующей полосы частот. Когда эффективный коэффициент преобразования, в котором флаг EOB равен 1 и флаг End_Of_WholeBlock равен 1, сканируется, эффективные коэффициенты преобразования всего остаточного блока сканируются, и, таким образом, сканирование остаточного блока преобразования завершается.
Фиг. 19a и 19b представляют собой опорные схемы для описания кодирования информации остаточного блока преобразования, которая генерируется кодером 1530 эффективного коэффициента, согласно одному или более примерным вариантам осуществления настоящего изобретения.
Ссылаясь на Фиг. 19a, кодер 1530 эффективного кодера может последовательно кодировать карты значимости и части информации флага эффективного коэффициента, генерируемой согласно полосам частот. Когда первая полоса частот является наименьшей полосой частот остаточного блока преобразования, может быть кодирована только карта 1911 значимости первой полосы частот и флаг первой полосы частот, который указывает, существуют ли эффективные коэффициенты преобразования, в первой полосе частот, может не кодироваться отдельно, как показано на Фиг. 19a. Согласно еще одному примерному варианту осуществления, ссылаясь на Фиг. 19b, сначала могут быть кодированы флаги 1921 эффективного коэффициента каждой полосы частот и, далее, могут быть кодированы карты 1925 значимости каждой полосы частот.
Фиг. 20 представляет собой схему последовательности операций, иллюстрирующую способ кодирования остаточного блока согласно одному примерному варианту осуществления настоящего изобретения.
Ссылаясь на Фиг. 20, на этапе 2010 узел 410 внутреннего предсказания или узел 425 компенсации движения с Фиг. 4 генерирует блок предсказания путем внутреннего предсказания или взаимного предсказания, используя текущий блок.
На этапе 2020 узел вычитания генерирует остаточный блок, который представляет собой разность между блоком предсказания и текущим блоком.
На этапе 2030 узел 430 преобразования преобразует остаточный блок в частотную область, чтобы сгенерировать остаточный блок преобразования. Например, остаточный блок может быть преобразован в частотную область путем Дискретного Косинусного Преобразования (Discrete Cosine Transform, DCT).
На этапе 2040, разделитель 1510 полосы частот разделяет остаточный блок преобразования на предопределенные элементы полосы частот. Как описано выше, разделитель 1510 полосы частот может разделить остаточный блок преобразования согласно одной из различных форм разделения, например, как показано на Фиг. 16a-16j. Так, разделитель 1510 полосы частот может разделить остаточный блок преобразования так, чтобы размер элемента, полученного разделением в полосе низких частот, был меньше размера элемента, полученного разделением в полосе высоких частот, разделить остаточный блок преобразования путем разделения на четыре части остаточного блока преобразования и многократного разделения на четыре части наименьшей полосы низких частот в разделенном на четыре части остаточном блоке преобразования, разделить остаточный блок преобразования на элементы полосы частот, имеющие одинаковый размер, разделить остаточный блок преобразования путем соединения горизонтальной частоты и вертикальной частоты, имеющих одинаковую величину, или определить размер разделения согласно полосам частот, используя характеристики изображения остаточного блока преобразования, которые определяются посредством коэффициентов преобразования остаточного блока преобразования, и разделить остаточный блок преобразования согласно определенному размеру разделения в соответствии с частотными диапазонами.
На этапе 2050 генератор 1520 флага эффективного коэффициента генерирует флаг эффективного коэффициента согласно элементам полосы частот, причем флаг эффективного коэффициента указывает, существует ли эффективный коэффициент преобразования в каждом элементе полосы частот. Флаг эффективного коэффициента может отдельно не генерироваться для наименьшего элемента полосы частот из числа элементов полосы частот остаточного блока преобразования. Кроме того, кодер 1530 эффективного коэффициента кодирует карту значимости, указывающую местоположения эффективных коэффициентов преобразования, и информацию уровня эффективных коэффициентов преобразования относительно элементов полосы частот, в которых флаги эффективных коэффициентов не равны 0, то есть элементы полосы частот, включающие в себя эффективные коэффициенты преобразования, между тем сканируя остаточный блок преобразования согласно предопределенному порядку сканирования или независимо сканируя каждый элемент полосы частот, как описано выше со ссылкой на Фиг. 17a, 17b, 18a и 18b.
Согласно способу и устройству для кодирования остаточного блока согласно одному или более примерным вариантам осуществления настоящего изобретения информация об эффективном коэффициенте преобразования может эффективно кодироваться согласно характеристикам распределения эффективного коэффициента преобразования в остаточном блоке преобразования с размером, который больше или равен 16×16, путем разделения остаточного блока преобразования на элементы полосы частот. Таким образом, остаточный блок преобразования с большим размером разделяется на элементы полосы частот, и флаг эффективного коэффициента, указывающий о наличии эффективного коэффициента преобразования, генерируется согласно элементам полосы частот. Соответственно, процесс сканирования полосы частот, в котором эффективный коэффициент преобразования не существует, может быть пропущен и количество битов, генерируемых для кодирования эффективного коэффициента преобразования, может быть сокращено.
Фиг. 21 представляет собой структурную схему устройства 2100 для кодирования остаточного блока согласно одному примерному варианту осуществления настоящего изобретения. Устройство 2100 может соответствовать статистическому декодеру 520 с Фиг. 5 или может входить в состав статистического декодера 520, но это не является ограничением.
Ссылаясь на Фиг. 21, устройство 2100 включает в себя разделитель 2110 полосы частот, определитель 2120 полосы частот и декодер 2130 эффективного коэффициента.
Разделитель 2110 полосы частот разделяет остаточный блок преобразования на предопределенные элементы полосы частот. Как описано со ссылкой на Фиг. 16a-16h, разделитель 2110 полосы частот может разделить остаточный блок преобразования так, чтобы размер элемента, полученного разделением в полосе низких частот, был меньше размера элемента, полученного разделением в полосе высоких частот, разделить остаточный блок преобразования путем разделения на четыре части остаточного блока преобразования и многократного разделения на четыре части наименьшей полосы низких частот в разделенном на четыре части остаточном блоке преобразования, разделить остаточный блок преобразования на элементы полосы частот, имеющие одинаковый размер, разделить остаточный блок преобразования путем соединения горизонтальной частоты и вертикальной частоты, имеющих одинаковую величину, или определить размер разделения согласно полосам частот, используя характеристики изображения остаточного блока преобразования, которые определяются посредством коэффициентов преобразования остаточного блока преобразования, и разделить остаточный блок преобразования согласно определенному размеру разделения в соответствии с частотными диапазонами. Форма разделения остаточного блока преобразования может быть предопределена посредством кодера и декодера, хотя очевидно, что это не является ограничением. Например, согласно еще одному примерному варианту осуществления настоящего изобретения, когда предопределенный индекс разделения устанавливается для каждой формы разделения и информация об индексе разделения, используемая для разделения текущего остаточного блока преобразования, добавляется в битовой поток во время кодирования, разделитель 2110 полосы частот может определить, которая форма разделения была использована для разделения текущего остаточного блока преобразования на основании информации об индексе разделения, входящем в состав битового потока.
Определитель 2120 эффективной полосы частот извлекает флаг эффективного коэффициента из битового потока, причем флаг эффективного коэффициента указывает, существует ли эффективный коэффициент преобразования согласно элементам полосы частот, полученным путем разделения остаточного блока преобразования. Определитель 2120 эффективной полосы частот может определить элемент полосы частот, включающий в себя эффективный коэффициент преобразования из числа элементов полосы частот, используя флаг эффективного коэффициента. Например, когда используется остаточный блок 1820 преобразования с Фиг. 18b, флаги эффективных коэффициентов элементов 1821-1823 полосы частот имеют значение 1, и флаги эффективных коэффициентов элементов 1824-1827 полосы частот имеют значение 0. Таким образом, определитель 2120 эффективной полосы частот может определить элементы полосы частот, включающие в себя эффективные коэффициенты, из извлеченных флагов эффективных коэффициентов согласно полосам частот.
Декодер 2130 эффективного коэффициента декодирует эффективные коэффициенты преобразования в элементах полосы частот, которые согласно результатам определения, выполненного определителем 2120 эффективной полосы частот, включают в себя эффективные коэффициенты преобразования. Так, декодер 2130 эффективного коэффициента извлекает из битового потока карту значимости, указывающую местоположения эффективных коэффициентов преобразования и информацию уровня эффективных коэффициентов преобразования. Кроме того, как описано со ссылкой на Фиг. 17a и 17b, декодер 2130 эффективного коэффициента определяет местоположения эффективных коэффициентов преобразования в остаточном блоке преобразования, используя карту значимости, и восстанавливает значения эффективных коэффициентов преобразования, используя информацию уровня при сканировании всего остаточного блока преобразования или каждого элемента полосы частот согласно предопределенному порядку сканирования, который независим для каждого элемента полосы частот.
Фиг. 22 представляет собой схему последовательности операций, иллюстрирующую способ декодирования остаточного блока согласно одному примерному варианту осуществления настоящего изобретения.
Ссылаясь на Фиг. 22, на этапе 2210 определитель 2120 эффективной полосы частот извлекает флаг эффективного коэффициента из кодированного битового потока, причем флаг эффективного коэффициента указывает, существует ли эффективный коэффициент преобразования согласно элементам полосы частот, полученным путем разделения остаточного блока преобразования текущего блока.
На этапе 2220, разделитель 2110 полосы частот разделяет остаточный блок преобразования на элементы полосы частот. Как описано со ссылкой на Фиг. 16a-16j, разделитель 2110 полосы частот может разделить остаточный блок преобразования так, чтобы размер элемента, полученного разделением в полосе низких частот, был меньше размера элемента, полученного разделением в полосе высоких частот, разделить остаточный блок преобразования путем разделения на четыре части остаточного блока преобразования и многократного разделения на четыре части наименьшей полосы низких частот в разделенном на четыре части остаточном блоке преобразования, разделить остаточный блок преобразования на элементы полосы частот, имеющие одинаковый размер, разделить остаточный блок преобразования путем соединения горизонтальной частоты и вертикальной частоты, имеющих одинаковую величину, или определить размер разделения согласно полосам частот, используя характеристики изображения остаточного блока преобразования, которые определяются посредством коэффициентов преобразования остаточного блока преобразования, и разделить остаточный блок преобразования согласно определенному размеру разделения в соответствии с частотными диапазонами. Такая форма разделения может быть предопределена кодером либо она может быть определена с использованием информации об индексе разделения, отдельно добавленном в кодированный битовой поток. Более того, очевидно, что очередность операции 2210 и 2220 может быть изменена либо они могут быть выполнены одновременно или, по существу, одновременно.
На этапе 2230, разделитель 2110 полосы частот определяет элемент полосы частот, включающий в себя эффективный коэффициент преобразования, из числа элементов полосы частот, используя извлеченный флаг эффективного коэффициента. Декодер 2130 эффективного коэффициента восстанавливает эффективный коэффициент, используя карту значимости об элементе полосы частот, который согласно результату определения включает в себя эффективный коэффициент преобразования, и информацию уровня эффективного коэффициента преобразования.
Согласно одному или более примерным вариантам осуществления настоящего изобретения флаг эффективного коэффициента, указывающий существование эффективного коэффициента преобразования, генерируется согласно элементам полосы частот, так что в процессе сканирования полосы частот пропускается остаточный блок преобразования, в котором не существует эффективный коэффициент преобразования, и количество битов, генерируемых для кодирования эффективного коэффициента преобразования, сокращается.
Хотя это не является ограничением, вариант осуществления настоящего изобретения может быть реализован как машиночитаемый код на машиночитаемом носителе. Машиночитаемый носитель представляет собой любое устройство хранения данных, способное хранить данные, которые впоследствии могут быть считаны компьютерной системой. Примерами машиночитаемых носителей записи являются ПЗУ, ОЗУ, диски CD-ROM, магнитные ленты, дискеты и оптические устройства хранения данных. Машиночитаемый носитель также может распространяться через сеть, соединенную с компьютерными системами так, что машиночитаемый код хранится и исполняется распределенным образом.
Хотя выше были описаны и проиллюстрированы конкретные варианты осуществления настоящего изобретения, специалистам в данной области техники будет очевидно, что различные изменения в форме и деталях могут быть выполнены в рамках сущности и объема настоящего изобретения, как определено формулой изобретения. Вышеупомянутые примеры осуществления должны рассматриваться исключительно в описательном смысле, а не для целей ограничения. Соответственно, объем изобретательской концепции определяется не подробным описанием примеров осуществления, а следующей формулой изобретения, и все различия в объеме следует рассматривать как входящие в настоящую изобретательскую концепцию.