Зависящее от режима сканирование коэффициентов блока видеоданных



Зависящее от режима сканирование коэффициентов блока видеоданных
Зависящее от режима сканирование коэффициентов блока видеоданных
Зависящее от режима сканирование коэффициентов блока видеоданных
Зависящее от режима сканирование коэффициентов блока видеоданных
Зависящее от режима сканирование коэффициентов блока видеоданных
Зависящее от режима сканирование коэффициентов блока видеоданных
Зависящее от режима сканирование коэффициентов блока видеоданных
Зависящее от режима сканирование коэффициентов блока видеоданных
Зависящее от режима сканирование коэффициентов блока видеоданных
Зависящее от режима сканирование коэффициентов блока видеоданных
Зависящее от режима сканирование коэффициентов блока видеоданных
Зависящее от режима сканирование коэффициентов блока видеоданных
Зависящее от режима сканирование коэффициентов блока видеоданных
Зависящее от режима сканирование коэффициентов блока видеоданных
Зависящее от режима сканирование коэффициентов блока видеоданных
Зависящее от режима сканирование коэффициентов блока видеоданных
Зависящее от режима сканирование коэффициентов блока видеоданных
Зависящее от режима сканирование коэффициентов блока видеоданных

 


Владельцы патента RU 2547239:

КВЭЛКОММ ИНКОРПОРЕЙТЕД (US)

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

 

Эта заявка испрашивает преимущество по следующим предварительным заявкам США: предварительная заявка США номер 61/426372, поданная 22 декабря 2010 года, предварительная заявка США номер 61/426349, поданная 22 декабря 2010 года, и предварительная заявка США номер 61/436835, поданная 27 января 2011 года, полное содержание каждой из которых включено в материалы настоящей заявки посредством ссылки.

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

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

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

Возможности цифрового видео могут быть включены в широкий спектр видеоустройств, включая цифровые телевизоры, цифровые системы прямого вещания, устройства беспроводной связи, такие как беспроводные телефонные трубки, беспроводные системы вещания, карманные персональные компьютеры (PDA), портативные или настольные компьютеры, планшетные компьютеры, цифровые камеры, цифровые записывающие устройства, устройства видеоигр, игровые видеоприставки, персональные мультимедийные плееры и тому подобное. Такие видеоустройства могут реализовывать методы сжатия видео, такие как описанные в MPEG-2, MPEG-4 или ITU-T H.264/MPEG-4, Часть 10, Усовершенствованное Кодирование Видео (AVC), чтобы сжать видеоданные. Методы сжатия видео осуществляют пространственное и/или временное предсказание, чтобы уменьшить или удалить избыточность, свойственную видеопоследовательностям. Новые стандарты видео, такие как стандарт Высокоэффективного Кодирования Видео (HEVC), разрабатываемый "Совместной Объединенной Командой по Кодированию Видео" (JCTVC), которая представляет собой сотрудничество между MPEG и ITU-T, продолжают появляться и развиваться. Развивающийся стандарт HEVC иногда называют H.265.

Эти и другие стандарты кодирования видео и методы используют блочное кодирование видео. Методы блочного кодирования видео разделяют видеоданные видеокадра (или его части) на видеоблоки и затем кодируют видеоблоки, используя предсказывающие блочные методы сжатия. Видеоблоки могут быть дополнительно разделены на разделы видеоблоков. Видеоблоки (или их разделы) могут называться кодируемыми единицами (CU) и могут быть закодированы с использованием одного или более характерного для видео метода кодирования, а также общих методов сжатия данных.

С помощью развивающегося стандарта HEVC наибольшие кодируемые единицы (LCU) могут быть разделены на все меньшие и меньшие CU в соответствии со схемой разбиения квадродерева. CU могут быть предсказаны на основе так называемых единиц предсказания (PU), которые могут иметь размеры разделов, соответствующие размеру CU или меньше, чем размер CU, так что множество PU может быть использовано для предсказания заданной CU. CU могут быть внутрикадрово закодированы на основе предсказывающих данных внутри того же кадра или фрагмента, для того чтобы использовать пространственную избыточность в видеокадре. Альтернативно CU могут быть межкадрово закодированы на основе предсказывающих данных из другого кадра или фрагмента, для того чтобы использовать временную избыточность между кадрами видеопоследовательности. После предсказывающего кодирования (внутрикадрового или межкадрового) затем может быть выполнено преобразующее кодирование, такое как дискретное косинусное преобразование (DCT), целочисленное преобразование или тому подобное. С HEVC преобразующее кодирование может происходить по отношению к единицам (TU) преобразования, которые также могут иметь изменяющиеся размеры преобразования в стандарте HEVC. Также может быть выполнено квантование коэффициентов преобразования, сканирование квантованных коэффициентов преобразования и энтропийное кодирование. Синтаксическая информация сигнализируется вместе с кодированными видеоданными, например, в заголовке видеофрагмента или заголовке видеоблока, чтобы проинформировать декодер, как декодировать видеоданные.

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

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

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

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

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

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

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

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

Методы, описанные в настоящем раскрытии, могут быть реализованы в аппаратных средствах программных средствах, программно-аппаратных средствах или их комбинациях. В случае реализации в аппаратных средствах, устройство может быть реализовано как интегральная схема, процессор, дискретная логика или любая их комбинация. В случае реализации в программных средствах программные средства могут исполняться в одном или более процессоре, таком как микропроцессор, специализированная интегральная микросхема (ASIC), программируемая вентильная матрица (FPGA) или цифровой сигнальный процессор (DSP). Программные средства, которые исполняют методы, могут изначально храниться в материальном компьютерно-читаемом запоминающем носителе и загружаться и исполняться в процессоре.

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

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

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

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

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

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

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

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

Фиг. 5 представляет собой дерево решений, представляющее решения разбиения, которые приводят к разбиению квадродерева, показанному на фиг. 4.

Фиг. 6A-6C представляют собой концептуальные диаграммы, иллюстрирующие примерные порядки сканирования, включающие в себя зигзагообразное сканирование (фиг. 6A), горизонтальное сканирование (фиг. 6B) и вертикальное сканирование (фиг. 6C).

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

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

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

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

ПОДРОБНОЕ ОПИСАНИЕ

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

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

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

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

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

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

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

Фиг. 1 представляет собой структурную схему, иллюстрирующую примерную систему 10 кодирования и декодирования видео, которая может выполнять методы настоящего раскрытия. Как показано на фиг. 1, система 10 включает в себя устройство 12 источника, которое передает закодированное видео в устройство 16 назначения через канал 15 связи. Устройство 12 источника и устройство 16 назначения могут содержать любое из широкого спектра устройств. В некоторых случаях устройство 12 источника и устройство 16 назначения могут содержать карманные портативные устройства с беспроводной связью, как, например, так называемые сотовые или спутниковые радиотелефоны. Однако методы настоящего раскрытия, которые применяются, как правило, к методам сканирования в кодировании видео и декодировании видео, не обязательно ограничены беспроводными применениями или установками и могут быть применены к небеспроводным устройствам, включающим в себя возможности кодирования и/или декодирования. Устройство 12 источника и устройство 16 назначения представляют собой лишь примеры кодирующих устройств, которые могут поддерживать методы, описанные в материалах настоящей заявки. Другие видеоустройства, которые могут использовать методы настоящего раскрытия, могут включать в себя цифровые телевизоры, цифровые системы прямого вещания, широкий диапазон устройств беспроводной связи, беспроводные системы вещания, карманные персональные компьютеры (PDA), портативные или настольные компьютеры, планшетные компьютеры, цифровые камеры, цифровые записывающие устройства, устройства видеоигр, игровые видеоприставки, персональные мультимедийные плееры и тому подобное.

В примере на фиг. 1 устройство 12 источника может включать в себя источник 20 видео, видеокодер 22, модулятор/демодулятор (модем) 23 и передатчик 24. Устройство 16 назначения может включать в себя приемник 26, модем 27, видеодекодер 28 и устройство 30 отображения. В соответствии с настоящим раскрытием, видеодекодер 22 устройства 12 источника может быть выполнен с возможностью осуществления методов сканирования настоящего раскрытия во время процесса кодирования видео, чтобы преобразовать в последовательную форму коэффициенты блока видеоданных из двумерного формата блока в одномерный формат. Синтаксические элементы могут быть сгенерированы на стороне видеокодера 22, чтобы сигнализировать, как коэффициенты были отсканированы, так что видеодекодер 28 может осуществить противоположное (т.е. обратное) сканирование. В некоторых примерах как видеокодер 22, так и видеодекодер 28 могут быть выполнены с возможностью определения набора наилучших кандидатов порядка сканирования, например, на основе контекстной информации. В других примерах видеокодер 22 может определить порядок сканирования и просто закодировать порядок сканирования в синтаксической информации для использования видеодекодером 28.

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

Как только видеоданные закодированы видеокодером 22, закодированная видеоинформация затем может быть смодулирована модемом 23 в соответствии со стандартом связи, например, таким как множественный доступ с кодовым разделением каналов (CDMA), мультиплексирование с ортогональным частотным разделением (OFDM) или любым другим стандартом или методом связи. Закодированные и модулированные данные затем могут быть переданы в устройство 16 назначения через передатчик 24. Модем 23 может включать в себя различные преобразователи частоты, фильтры, усилители или другие компоненты, спроектированные для модуляции сигнала. Передатчик 24 может включать в себя схемы, спроектированные для передачи данных, включая усилители, фильтры и одну или более антенн. Приемник 26 устройства 16 назначения принимает информацию по каналу 15, и модем 27 демодулирует информацию. Снова процесс декодирования видео, выполняемый видеодекодером 28, может включать в себя методы сканирования, противоположные тем, которые использовались видеокодером 22.

Канал 15 связи может содержать любое беспроводное или проводное средство связи, такое как радиочастотный (RF) спектр, или одну или более физическую линию передачи, или любую комбинацию беспроводных и проводных средств. Канал 15 связи может формировать часть пакетной сети, такой как локальная сеть, региональная сеть или глобальная сеть, как, например, Интернет. Канал 15 связи обычно представляет любое подходящее средство связи или совокупность различных средств связи для передачи видеоданных из устройства 12 источника в устройство 16 назначения.

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

Хотя и не показано на фиг. 1, в некоторых случаях видеокодер 22 и видеодекодер 28 каждый может быть интегрирован с аудиокодером и аудиодекодером и может включать в себя соответствующие модули MUX-DEMUX (мультиплексирования-демультиплексирования) или другие аппаратные и программные средства, чтобы управлять кодированием как аудио, так и видео в общем потоке данных или раздельных потоках данных. Если это применимо, модули MUX-DEMUX могут соответствовать протоколу ITU H.223 мультиплексора или другим протоколам, таким как протокол пользовательских датаграмм (UDP).

Видеокодер 22 и видеодекодер 28 каждый может быть выполнен как один или более микропроцессор, цифровой сигнальный процессор (DSP), специализированная интегральная микросхема (ASIC), программируемая вентильная матрица (FPGA), дискретная логика, программные средства, аппаратные средства, программно-аппаратные средства или любая их комбинация. Каждый из видеокодера 22 и видеодекодера 28 может быть включен в один или более кодер или декодер, любой один из которых может быть интегрирован как часть объединенного кодера/декодера (CODEC) в соответствующем мобильном устройстве, абонентском устройстве, устройстве вещания, сервере или тому подобном. В настоящем раскрытии термин кодирующее устройство относится к кодеру или декодеру, а термины «кодирующее устройство», «кодер» и «декодер» - все относятся к специальным устройствам, спроектированным для кодировки (кодирования или декодирования) видеоданных в соответствии с настоящим раскрытием.

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

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

Макроблоки представляют собой один из типов видеоблоков, определенных стандартом ITU H.264 и другими стандартами. Макроблоками обычно называют блоки данных 16 на 16. Стандарт ITU-T H.264 поддерживает внутрикадровое предсказание в различных размерах блоков, таких как 16 на 16, 8 на 8 или 4 на 4 для компонентов яркости, и 8 на 8 для компонентов цветности, а также межкадровое предсказание в различных размерах блоков, таких как 16 на 16, 16 на 8, 8 на 16, 8 на 8, 8 на 4, 4 на 8 и 4 на 4 для компонентов яркости и соответствующие масштабированные размеры для компонентов цветности.

Развивающийся стандарт HEVC определяет новые термины для видеоблоков. В частности, в HEVC видеоблоки (или их части) могут называться "кодируемыми единицами" (CU). В стандарте HEVC наибольшие кодируемые единицы (LCU) могут быть разделены на все меньшие и меньшие CU в соответствии со схемой разбиения квадродерева, и различные CU, которые определены в схеме, могут быть дополнительно разделены на так называемые единицы предсказания (PU). LCU, CU и PU - все представляют собой видеоблоки по смыслу настоящего раскрытия. Другие типы видеоблоков также могут использоваться в соответствии со стандартом HEVC или другими стандартами кодирования видео. Таким образом, фраза "видеоблок" относится к любому размеру видеоблока. Кроме того, видеоблоками могут иногда называться блоки видеоданных в пиксельной области или блоки данных в области преобразования, такой как область дискретного косинусного преобразования (DCT), область, подобная DCT, вейвлетная область или тому подобное.

Кроме того, видеоблоками (или блоками видеоданных) могут также называться блоки так называемых значимых коэффициентов. Действительно, методы сканирования настоящего раскрытия могут быть особенно полезными в сканировании таких значимых коэффициентов. Значимые коэффициенты могут содержать двоичные значения или флаги (т.е. 0 или 1), которые определяют, являются ли остаточные коэффициенты преобразования (снова которые могут быть квантованными или неквантованными) значимыми (т.е. ненулевыми) или нет (т.е. нулевыми). Значения уровня также могут быть использованы наряду со значимыми коэффициентами, чтобы определить фактические значения остаточных коэффициентов преобразования. Остаточные коэффициенты преобразования могут содержать блок коэффициентов в частотной области, которая представляет распределение энергии, связанной с набором остаточных значений пикселей. Остаточные значения пикселей, в свою очередь, могут содержать блок значений, представляющих остаточные различия между блоком видеоданных, которые кодируются, и блоком предсказывающих видеоданных, используемых для предсказывающего кодирования. Блок предсказывающих данных может представлять собой внутрикадровые предсказывающие данные из того же кадра или фрагмента, что и видеоблок, который кодируется, или может представлять собой межкадровые предсказывающие данные, определенные из другого кадра или фрагмента относительно видеоблока, который кодируется. Методы сканирования настоящего раскрытия могут использоваться для выбора порядка сканирования для блоков значимых коэффициентов, которые внутрикадрово закодированы, хотя подобные методы могут также быть использованы для межкадрово закодированных блоков.

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

После генерирования предсказывающего блока различия между текущим видеоблоком, который кодируется, и предсказывающим блоком кодируются как остаточный блок, и синтаксис предсказания (такой как вектор движения в случае внутрикадрового кодирования или режим предсказания в случае межкадрового кодирования) используется для идентификации предсказывающего блока. Остаточный блок (т.е. блок остаточных значений) может быть преобразован, чтобы создать блок коэффициентов преобразования, и коэффициенты преобразования могут быть квантованы. Однако методы настоящего раскрытия могут также применяться и в случае неквантованных коэффициентов преобразования. Методы преобразования могут содержать процесс DCT или концептуально подобный процесс, целочисленные преобразования, вейвлетные преобразования или другие типы преобразований. В процессе DCT, в качестве примера, процесс преобразования конвертирует множество значений пикселей (например, остаточные значения, показывающие различия между фактическими значениями и предсказывающими значениями) в коэффициенты преобразования, которые могут представлять энергию значений пикселей в частотной области. Стандарт HEVC допускает преобразования в соответствии с единицами преобразования (TU), которые могут быть различными для различных CU. TU, как правило, имеют размеры в соответствии с размерами CU, определенными для разделенной LCU, хотя это не всегда может быть так. Квантование, как правило, применяется к коэффициентам преобразования и обычно включает в себя процесс, который ограничивает количество битов, связанных с любым заданным коэффициентом преобразования.

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

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

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

Фиг. 2 представляет собой структурную схему, иллюстрирующую видеокодер 50 в соответствии с настоящим раскрытием. Видеокодер 50 может соответствовать видеокодеру 22 устройства 20 или видеокодеру другого устройства. Как показано на фиг. 2, видеокодер 50 включает в себя модуль 32 предсказания, сумматоры 48 и 51 и память 34. Видеокодер 50 также включает в себя модуль 38 преобразования и модуль 40 квантования, а также модуль 42 обратного квантования и модуль 44 обратного преобразования. Видеокодер 50 также включает в себя модуль 46 энтропийного кодирования и модуль 47 фильтра, который может включать в себя деблокирующие фильтры и послецикловые и/или внутрицикловые фильтры. Закодированные видеоданные и синтаксическая информация, которая определяет способ кодирования, могут быть переданы в модуль 46 энтропийного кодирования. Модуль 46 энтропийного кодирования включает в себя модуль сканирования, который может выполнять методы сканирования настоящего раскрытия.

В частности, модуль 45 сканирования может выполнять способ кодирования коэффициентов, связанных с блоком видеоданных. Блок видеоданных может содержать CU в LCU, при этом LCU разделена на набор CU согласно схеме разбиения квадродерева в соответствии с развивающимся стандартом HEVC. При кодировании коэффициентов модуль 45 сканирования может выбирать порядок сканирования для коэффициентов (например, значимых коэффициентов) на основе режима внутрикадрового кодирования, используемого модулем 42 предсказания для предсказания блока видеоданных, и размера блока преобразования, используемого модулем 38 преобразования для преобразования блока видеоданных. Модуль 45 сканирования может генерировать синтаксический элемент, чтобы передать выбранный порядок сканирования для блока видеоданных. Как объяснено более подробно ниже, модуль 45 сканирования может выбирать порядок сканирования из первой таблицы поиска для блоков яркости и может выбирать порядок сканирования из второй таблицы поиска для блоков цветности. Различные таблицы поиска могут храниться в памяти 34, которая может быть доступной для модуля 45 сканирования, или могут храниться в другой памяти, доступной для модуля 45 сканирования.

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

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

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

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

Обычно во время процесса кодирования видеокодер 50 принимает видеоблок, который должен быть закодирован, а модуль 32 предсказания выполняет методы предсказывающего кодирования. Видеоблок может содержать CU, как описано выше, или обычно может содержать любой блок видеоданных в соответствии с блочным методом или стандартом кодирования видео. Для межкадрового кодирования модуль 32 предсказания сравнивает видеоблок, который должен быть закодирован, с различными блоками в одном или более опорном видеокадре или видеофрагменте (например, одном или более "списке" опорных данных), чтобы определить предсказывающий блок. Снова для внутрикадрового кодирования модуль 32 предсказания генерирует предсказывающий блок на основе соседних данных внутри той же кодируемой единицы. Модуль 32 предсказания выводит блок предсказания, а сумматор 48 вычитает блок предсказания из видеоблока, который кодируется, чтобы сгенерировать остаточный блок.

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

После того как модуль 32 предсказания выводит блок предсказания, и после того как сумматор 48 вычитает блок предсказания из видеоблока, который кодируется, чтобы сгенерировать остаточный блок, модуль 38 преобразования может применять преобразование к остаточному блоку. Преобразование может содержать дискретное косинусное преобразование (DCT) или концептуально схожее преобразование, такое как определенное стандартом ITU H.264 или стандартом HEVC. Так называемые структуры "бабочка" могут быть определены, чтобы выполнить преобразования, или могут также использоваться основанные на матрице умножения. В некоторых примерах, соответствующих стандарту HEVC, размер преобразования может отличаться для различных CU, например, в зависимости от уровня разбиения, который происходит по отношению к заданной LCU. Единицы преобразования (TU) могут быть определены, чтобы установить размер преобразования, применяемый модулем 38 преобразования. Вейвлетные преобразования, целочисленные преобразования, поддиапазонные преобразования или другие типы преобразований также могли бы использоваться. В любом случае, модуль преобразования применяет преобразование к остаточному блоку, создавая блок остаточных коэффициентов преобразования. Преобразование обычно может конвертировать остаточную информацию из пиксельной области в частотную область.

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

В частности, как отмечено выше, модуль 45 сканирования может выполнять способ кодирования коэффициентов, связанных с блоком видеоданных, который может содержать набор значимых коэффициентов, которые формируют карту значимости. При кодировании коэффициентов модуль 45 сканирования может выбирать порядок сканирования для коэффициентов (например, значимых коэффициентов) на основе режима внутрикадрового кодирования, используемого модулем 42 предсказания для предсказания блока видеоданных, и размера блока преобразования, используемого модулем 38 преобразования для преобразования блока видеоданных. Модуль 45 сканирования может генерировать синтаксический элемент, чтобы передать выбранный порядок сканирования для блока видеоданных. Модуль 38 преобразования и модуль 32 предсказания могут подавать контекстную информацию (например, режим и размер блока) в качестве синтаксической информации в модуль 46 энтропийного кодирования.

Как только карта значимости отсканирована модулем 45 сканирования, модуль 46 энтропийного кодирования кодирует квантованные коэффициенты преобразования (например, посредством кодирования различных элементов, которые определяют карту значимости и уровни, связанные с любыми ненулевыми коэффициентами) в соответствии с методологией энтропийного кодирования. Примеры методов энтропийного кодирования, которые могут использоваться модулем 46 энтропийного кодирования, включают в себя адаптивное к контенту кодирование с переменной длиной (CAVLC) и адаптивное к контенту двоичное арифметическое кодирование (CABAC). Синтаксические элементы, включенные в энтропийно закодированный битовый поток, могут включать в себя синтаксис предсказания из модуля 32 предсказания, такой как векторы движения для межкадрового кодирования или режимы предсказания для внутрикадрового кодирования. Синтаксические элементы, включенные в энтропийно закодированный битовый поток, могут также включать в себя информацию фильтра из модуля 47 фильтра и размер блока преобразования, применяемый к видеоблоку, например, из модуля 38 преобразования.

CAVLC представляет собой один из типов метода энтропийного кодирования, поддерживаемый стандартом ITU H.264 и развивающимся стандартом HEVC, который может быть применен на векторизованной основе модулем 46 энтропийного кодирования. CAVLC использует таблицы кодирования с переменной длиной (VLC) способом, который эффективно сжимает преобразованные в последовательную форму "последовательности" коэффициентов и/или синтаксических элементов. CABAC представляет собой другой тип метода энтропийного кодирования, поддерживаемый стандартом ITU H.264 или развивающимся стандартом HEVC, который может быть применен на векторизованной основе модулем 46 энтропийного кодирования. CABAC может включать в себя несколько этапов, включая преобразование в двоичную форму, выбор контекстной модели и двоичное арифметическое кодирование. В этом случае модуль 46 энтропийного кодирования кодирует коэффициенты и синтаксические элементы в соответствии с CABAC. Также существует множество других типов методов энтропийного кодирования, и новые методы энтропийного кодирования скорее всего появятся в будущем. Настоящее раскрытие не ограничено каким-либо конкретным методом энтропийного кодирования.

После энтропийного кодирования модулем 46 энтропийного кодирования закодированное видео может быть передано в другое устройство или заархивировано для последующей передачи или извлечения. Снова закодированное видео может содержать энтропийно закодированные векторы и различную синтаксическую информацию (включая синтаксическую информацию, которая информирует декодер о порядке сканирования). Такая информация может использоваться декодером, чтобы должным образом сконфигурировать процесс декодирования. Модуль 42 обратного квантования и модуль 44 обратного преобразования применяют обратное квантование и обратное преобразование, соответственно, чтобы восстановить остаточный блок в пиксельной области. Сумматор 51 добавляет восстановленный остаточный блок к блоку предсказания, созданному модулем 32 предсказания, для создания восстановленного видеоблока для хранения в памяти 34. Однако перед таким хранением модуль 47 фильтра может применить фильтрацию к видеоблоку, чтобы улучшить качество видео. Фильтрация, применяемая модулем 47 фильтра, может уменьшить артефакты и сгладить границы пикселей. Кроме того, фильтрация может улучшить сжатие путем генерирования предсказывающих видеоблоков, которые содержат близкие соответствия видеоблокам, которые кодируются.

Фиг. 3 представляет собой структурную схему, иллюстрирующую пример видеодекодера 60, который декодирует видеопоследовательность, которая закодирована способом, описанным в материалах настоящей заявки. Методы сканирования настоящего раскрытия могут быть выполнены видеодекодером 60 в некоторых примерах. Видеопоследовательность, принятая на стороне видеодекодера 60, может содержать закодированный набор кадров изображений, набор фрагментов кадров, совместно закодированную группу картинок (GOP) или широкое разнообразие единиц видеоинформации, которая включает в себя закодированные видеоблоки (такие как CU или макроблоки) и синтаксическую информацию для определения того, как декодировать такие видеоблоки. В некоторых случаях модуль 55 обратного сканирования может просто применять порядок сканирования, который сигнализирован в закодированном битовом потоке. Однако в примерах переключаемой сигнализации модулю 55 обратного сканирования, возможно, потребуется определить наилучших кандидатов порядка сканирования таким же образом, как и модуль 45 сканирования кодера 50 определил наилучших кандидатов порядка сканирования.

Видеодекодер 60 включает в себя модуль 52 энтропийного декодирования, который выполняет противоположную декодирующую функцию кодирования, выполненного модулем 46 энтропийного кодирования на фиг. 2. В частности, модуль 52 энтропийного декодирования может выполнять декодирование CAVLC или CABAC или любой другой тип энтропийного декодирования, используемого видеокодером 50. Однако перед таким энтропийным декодированием модуль 55 обратного сканирования запускается модулем 52 энтропийного декодирования, чтобы осуществить реконверсию блока видеоданных (например, карты значимости) из одномерного преобразованного в последовательную форму формата обратно в двумерных блочный формат. Значения уровня, связанные с любыми значимыми коэффициентами в карте значимости, также могут быть декодированы.

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

Видеодекодер 60 также включает в себя модуль 54 предсказания, модуль 56 обратного квантования, модуль 58 обратного преобразования, память 62 и сумматор 64. В частности, как и видеокодер 50, видеодекодер 60 включает в себя модуль 54 предсказания и модуль 57 фильтра. Модуль 54 предсказания видеодекодера 60 может включать в себя элементы компенсации движения и, возможно, один или более интерполяционный фильтр для субпиксельной интерполяции в процессе компенсации движения. Модуль 57 фильтра может фильтровать выход сумматора 64 и может принимать энтропийно закодированную информацию фильтра, для того чтобы определить коэффициенты фильтра, применяемые в циклической фильтрации.

Сигнализация порядка сканирования может происходить блок-за-блоком, например, для макроблоков в H.264 или для CU в HEVC. В соответствии с развивающимся стандартом HEVC, фрагмент видеоданных может соответствовать набору LCU, которые определяют некоторые или все из видеокадров. LCU могут относиться к кодируемым единицам в структуре HEVC, которые сами могут быть подразделены на меньшие CU в соответствии с разбиением квадродерева. При разбиении квадродерева имеющие квадратную форму LCU разбиваются на четыре имеющие квадратную форму кодируемые единицы, и кодируемые единицы могут также быть подразделены на меньшие кодируемые единицы в соответствии с разбиением квадродерева. Флаги могут быть связаны с каждой CU, чтобы показать, было ли использовано дополнительное разбиение квадродерева. LCU может быть подразделена на четыре CU, и четыре CU каждая может быть дополнительно разделена на меньшие CU. Стандарт HEVC может поддерживать до трех уровней разделения квадродерева исходной LCU или, возможно, больше. После разбиения LCU на несколько CU различные CU могут быть дополнительно разделены на PU, которые представляют собой предсказывающие размеры, используемые для предсказания CU. PU могут предполагать квадратную форму или другие прямоугольные формы.

Фиг. 4 и 5 показывают один из примеров того, как видеоблок в фрагменте (например, LCU) может быть разбит на субблоки (например, меньшие CU). Как показано на фиг. 4, субблоки квадродерева, указанные как "ВКЛ", могут быть отфильтрованы циклическими фильтрами, тогда как субблоки квадродерева, указанные как "ВЫКЛ", не могут быть отфильтрованы. Решение по поводу того, фильтровать или нет заданный блок или субблок, может быть принято на стороне кодера путем сравнения отфильтрованного результата и неотфильтрованного результата относительно исходного блока, который кодируется. Фиг. 5 представляет собой дерево решений, представляющее решения разбиения, которые приводят к разбиению квадродерева, показанному на фиг. 4. Фиг. 4 и 5 могут быть отдельно или совместно рассмотрены как карта фильтра, которая может быть сгенерирована на стороне кодера и передана в декодер по меньшей мере один раз на фрагмент кодированных видеоданных. Порядок сканирования, используемый для любой единицы преобразования, определенный для заданной CU, может быть определен на стороне видеокодера и передан в видеодекодер как часть синтаксиса уровня блока.

В развивающемся стандарте HEVC преобразования (такие как дискретные косинусные преобразования, целочисленные преобразования, преобразования Карунена-Лоэва или подобные) могут быть использованы для разбиения на составные части коэффициентов остаточного блока данных в частотную область. Затем "карта значимости", которая показывает распределение значимых (т.е. ненулевых) коэффициентов в блоке преобразования, может быть закодирована. Уровни (т.е. фактические уровни), связанные со значимыми коэффициентами, могут также быть закодированы. Модуль сканирования (такой как модуль 45 сканирования на фиг. 2), может использоваться для выполнения этих шагов кодирования.

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

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

В соответствии со стандартом HEVC, модуль 38 преобразования может поддерживать преобразования различного размера. Например, преобразования 128×128, преобразования 64×64, преобразования 32×32, преобразования 16×16, преобразования 8×8, преобразования 4×4 и преобразования 2×2 все могут поддерживаться. Настоящее раскрытие в одном из примеров описывает зависящий от режима метод кодирования с фиксированным коэффициентом преобразования, который может быть особенно желательным для внутрикадровых блоков. Зависящий от режима метод кодирования с фиксированным коэффициентом преобразования может связывать порядок сканирования с внутрикадровым режимом предсказания, что означает, что порядок сканирования для внутрикадрового режима предсказания может быть фиксированным для заданного размера преобразования. Модуль 45 сканирования может избегать всестороннего поиска среди нескольких порядков сканирования, чтобы уменьшить сложность, как будто есть только незначительное число возможных порядков сканирования, и в то же время модуль 45 сканирования может использовать некоторые из преимуществ, связанных с множеством порядков сканирования. Фиксирование порядка сканирования как для кодирования, так и для декодирования, может быть особенно желательным для легкого и параллельного исполнения.

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

Хотя пример ниже обсуждает три порядка сканирования, дополнительные порядки сканирования также могут быть определены и использованы. Три примерных порядка сканирования могут включать в себя: зигзагообразное сканирование (фиг. 6A), горизонтальное сканирование (фиг. 6B) и вертикальное сканирование (фиг. 6C). Вариации, такие как комбинации зигзагообразного сканирования и вертикального или горизонтального сканирования также могли бы использоваться, а также более сложные (и, возможно, адаптивные) порядки сканирования.

Примерные направления внутрикадрового предсказания и индекс режима в соответствии с Тестовой Моделью HEVC показаны на фиг. 7. Блок может иметь размер между 2×2 и 128×128. Функция F(*) отображения в Уравнении (1) ниже может быть построена для отображения внутрикадрового режима предсказания (predMode) блока с размером (blkSize) в порядок сканирования (scanIdx) из зигзагообразного, горизонтального и вертикального рисунков сканирования (или других порядков сканирования). Методы могут определять значения scanIdx для трех порядков сканирования, как указано в ТАБЛИЦЕ 1, представленной на фиг. 9.

Уравнение (1)

Функция отображения может содержать математическую модель или таблицу отображения, которая может храниться как в кодере 50, так и в декодере 60. В одном из примеров функция отображения может быть реализована в виде таблицы отображения, как указано в таблице 2 на фиг. 10. В этом случае индекс внутрикадрового режима с 1-33 (т.е. predMode) и размер преобразования (т.е. blkSize) могут быть индексами к таблице, которая отображает в значение порядка сканирования таблицы 1, представленной на фиг. 9. Таблица 1, представленная на фиг. 9, может быть фиксированной таблицей, хранимой в кодере и декодере, и большее количество индексов таблицы может быть выбрано на основе эмпирического тестирования всевозможных видеопоследовательностей.

Таблица 2 на фиг. 10 может содержать таблицу, примененную по отношению к "блокам яркости". Для блоков цветности подобный подход с таблицей поиска может быть использован для определения направлений сканирования, используя таблицу, приведенную ниже. Таблица поиска цветности может иметь намного меньше режимов, поскольку блоки цветности могут поддерживать только 4 внутрикадровых режима в одном из примеров в соответствии с развивающимся стандартом HEVC. Таблица 3 на фиг. 11 может содержать соответствующую таблицу поиска цветности, связанную с таблицей (таблица 2) поиска яркости на фиг. 10.

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

Таблица 4 на фиг. 12 иллюстрирует примерное отображение возможных порядков сканирования в значения индекса. Модули 45 и 55 сканирования могут идентифицировать функцию оценки для каждого порядка сканирования "Fs(*)" в соответствии с Уравнением (2), и эта функция оценки может вычислить, с какой вероятностью порядок сканирования может быть выбран в качестве кандидата блока с размером blkSize и режимом predMode предсказания.

Уравнение (2)

На основе значения s оценки, вычисленного Уравнением (2), модули 45 и 55 сканирования могут определить три наилучших кандидата для каждого режима predMode предсказания, связанного с заданным размером blkSize блока преобразования. Таблица 5 на фиг. 13 представляет один из примеров таблицы кандидатов, которая сгенерирована приведенной выше процедурой для одного заданного размера блока. Согласно этому методу, модуль 45 сканирования может сигнализировать одно из трех состояний (кандидат0, кадидат1 и кандидат2) в этой переключаемой схеме, но кандидаты могут отображаться в различные порядки сканирования, в зависимости от режима. Модуль 55 сканирования может применять ту же таблицу кандидатов, так что три состояния должным образом отображаются в правильных кандидатов.

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

Фиг. 14 представляет собой блок-схему, иллюстрирующую метод в соответствии с настоящим раскрытием. Фиг. 14 будет описана с точки зрения видеокодера 50 на фиг. 2, хотя другие устройства могут выполнять подобные методы. В частности, фиг. 14 показывает один из способов кодирования коэффициентов (например, значимых коэффициентов), связанных с внутрикадрово закодированным блоком видеоданных. Модуль 45 сканирования определяет режим внутрикадрового кодирования (1401) и определяет размер блока преобразования, который использовался в процессе кодирования (1402). В частности, модуль 38 преобразования и модуль 32 предсказания могут передавать синтаксическую информацию в модуль 45 сканирования для облегчения этих определений. Модуль 38 преобразования может передавать размер преобразования в модуль 45 сканирования, а модуль предсказания может передавать режим внутрикадрового кодирования в модуль 45 сканирования. Модуль 45 сканирования может затем выбрать порядок сканирования на основе режима внутрикадрового кодирования и размера блока преобразования (1403) и сгенерировать синтаксический элемент для передачи выбранного порядка сканирования (1404). После энтропийного кодирования модулем 46 энтропийного кодирования видеокодер 50 может вывести синтаксический элемент с закодированными видеоданными (1405). Таким образом, порядок сканирования может быть закодирован как часть закодированного битового видеопотока и выведен для передачи в другое устройство, так что другое устройство может определить, как осуществить противоположное (обратное) сканирование во время процесса декодирования.

Фиг. 15 представляет собой блок-схему, иллюстрирующую метод переключаемой сигнализации в соответствии с настоящим раскрытием. Фиг. 15 будет описана с точки зрения видеокодера 50 на фиг. 2, хотя другие устройства могут выполнять аналогичные методы. Как показано на фиг. 15, модуль 45 сканирования определяет набор наилучших кандидатов порядка сканирования (1501) и выбирает порядок сканирования из набора наилучших кандидатов порядка сканирования на основе режима внутрикадрового кодирования, размера блока преобразования или как режима внутрикадрового кодирования, так и размера блока преобразования, используемого для кодирования блока видеоданных (1502). Набор наилучших кандидатов порядка сканирования может быть запрограммирован в модуль 45 сканирования для режимов внутрикадрового кодирования, размеров блока преобразования или комбинаций режима внутрикадрового кодирования и размера блока преобразования. Путем определения набора наилучших кандидатов порядка сканирования, количество возможностей может быть ограничено, чтобы ограничить вычисления и ограничить объем сигнализации. Модуль 45 сканирования генерирует синтаксический элемент для передачи выбранного порядка сканирования (1503), и после энтропийного кодирования модулем 46 энтропийного кодирования видеокодер 50 может вывести синтаксический элемент с закодированными видеоданными (1504).

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

Фиг. 16 представляет собой блок-схему, иллюстрирующую метод переключаемой сигнализации с точки зрения видеодекодера 60 в соответствии с настоящим раскрытием. Хотя фиг. 16 описана с точки зрения видеодекодера 60 на фиг. 3, другие устройства могут выполнять аналогичные методы. Как показано на фиг. 16, модуль 52 энтропийного кодирования принимает синтаксический элемент для блока видеоданных (например, блок значимых коэффициентов). Модуль 55 обратного сканирования определяет набор наилучших кандидатов порядка сканирования на основе одного или обоих из режима внутрикадрового кодирования, использованного в кодировании видеоданных, и использованного размера блока преобразования (1602). Это позволяет модулю 55 обратного сканирования должным образом интерпретировать принятый синтаксический элемент, который может содержать значение индекса, относящегося к набору наилучших кандидатов порядка сканирования. Соответственно, модуль 55 обратного сканирования выполняет обратное сканирование на основе синтаксического элемента, относящегося к набору наилучших кандидатов порядка сканирования (1603).

Методы настоящего раскрытия могут быть реализованы в большом разнообразии устройств или аппаратов, включая беспроводные телефоны, интегральные схемы (ИС, IC) или набор ИС (т.е. чипсет). Любые компоненты, модули или блоки были описаны для того, чтобы подчеркнуть функциональные аспекты, и не обязательно требуют реализации различными единицами оборудования.

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

Компьютерно-читаемый носитель может содержать материальный компьютерно-читаемый запоминающий носитель, такой как оперативное запоминающее устройство (RAM), такой как синхронное динамическое оперативное запоминающее устройство (SDRAM), постоянное запоминающее устройство (ROM), энергонезависимое запоминающее устройство (NVRAM), электрически стираемое программируемое постоянное запоминающее устройство (EEPROM), флэш-память, магнитный или оптический носитель данных и тому подобное. Методы дополнительно или альтернативно могут быть реализованы по меньшей мере частично с помощью компьютерно-читаемого средства связи, которое переносит или передает код в форме инструкций или структур данных и к которым может быть осуществлен доступ, которые могут быть считаны и/или исполнены компьютером.

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

Были описаны различные аспекты раскрытия. Эти и другие аспекты находятся в пределах объема следующей формулы изобретения.

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

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

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

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

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

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

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

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

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

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

11. Устройство кодирования видео по п. 8, в котором модуль сканирования:
выбирает порядок сканирования из первой таблицы поиска для блоков яркости; и
выбирает порядок сканирования из второй таблицы поиска для блоков цветности.

12. Устройство кодирования видео по п. 8, в котором блок видеоданных содержит кодируемую единицу (CU) в наибольшей кодируемой единице (LCU), при этом LCU разбивается на набор CU в соответствии со схемой разбиения квадродерева.

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

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

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

16. Устройство декодирования видео по п. 14, дополнительно содержащее:
модуль предсказания, который осуществляет внутрикадровое декодирование с предсказанием блока видеоданных на основе режима внутрикадрового кодирования; и
модуль обратного преобразования, который осуществляет обратное преобразование по отношению к блоку видеоданных на основе размера блока преобразования.

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

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

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

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

21. Устройство по п. 18, дополнительно содержащее:
средство для выбора порядка сканирования из первой таблицы поиска для блоков яркости; и
средство для выбора порядка сканирования из второй таблицы поиска для блоков цветности.

22. Устройство по п. 18, в котором блок видеоданных содержит кодируемую единицу (CU) в наибольшей кодируемой единице (LCU), при этом LCU разбивается на набор CU в соответствии со схемой разбиения квадродерева.

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

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

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

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

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

28. Компьютерно-читаемый носитель по п. 25, дополнительно содержащий инструкции, которые предписывают процессору:
выбирать порядок сканирования из первой таблицы поиска для блоков яркости; и
выбирать порядок сканирования из второй таблицы поиска для блоков цветности.

29. Компьютерно-читаемый носитель по п. 25, в котором блок видеоданных содержит кодируемую единицу (CU) в наибольшей кодируемой единице (LCU), при этом LCU разбивается на набор CU в соответствии со схемой разбиения квадродерева.

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

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

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

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

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

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

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

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

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

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



 

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

Изобретение относится к области управления доступом для предоставления платных программ мультимедиа. Технический результат - обеспечение защиты от автоматической работы хакерских серверов за счет выполнения теста КАПЧА.

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

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

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

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

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

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

Изобретение относится к визуализации контента устройством визуализации, например телевизором, подключенным к сети DLNA (Альянс домашних цифровых сетей). Техническим результатом является уменьшение прерываний контента, который визуализируется на устройствах визуализации, подключенных к сети, в случае «направления» к ним файлов от других устройств сети.

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

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

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

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

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

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

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

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

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

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

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

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

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