Повышение пропускной способности для кодирования уровня коэффициентов cabac

Иллюстрации

Показать все

Изобретение относится к вычислительной технике. Технический результат заключается в повышении пропускной способности CABAC. Способ кодирования коэффициентов преобразования в процессе кодирования видео, в котором: кодируют флаг карты значимости для коэффициентов преобразования во фрагменте коэффициентов преобразования, причем флаг карты значимости указывает, имеет ли или нет конкретный коэффициент преобразования абсолютное значение, большее нуля; кодируют флаг превышения единицы для первых M1 коэффициентов преобразования в фрагменте, указанных флагом карты значимости как имеющие абсолютное значение, большее нуля, причем флаг превышения единицы указывает, имеет ли или нет конкретный коэффициент преобразования абсолютное значение, большее единицы, причем M1 меньше максимального количества коэффициентов преобразования в фрагменте; кодируют флаг превышения двойки для коэффициентов преобразования в фрагменте, указанных флагом превышения единицы как имеющие абсолютное значение, большее единицы, причем флаг превышения двойки указывает, имеют ли или нет конкретные коэффициенты преобразования абсолютное значение, большее двух; и кодируют оставшееся значение уровня для коэффициентов преобразования в фрагменте. 6 н. и 44 з.п. ф-лы, 13 ил., 7 табл.

Реферат

[0001] Данная заявка испрашивает приоритет по предварительной патентной заявке США № 61/587,624, поданной 17 января 2012 г., предварительной патентной заявке США № 61/589,290, поданной 20 января 2012 г., предварительной патентной заявке США № 61/591,772, поданной 27 января 2012 г., предварительной патентной заявке США № 61/606,347, поданной 2 марта 2012 г. и предварительной патентной заявке США № 61/622,785, поданной 11 апреля 2012 г., которые все, таким образом, включены в данный документ посредством ссылки в полном объеме.

Область техники

[0002] Это раскрытие относится к кодированию видео и, в частности, к методам кодирования коэффициентов преобразования.

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

[0003] Возможности цифрового видео можно внедрять в разнообразные устройства, включая цифровые телевизоры, системы прямого цифрового вещания, беспроводные широковещательные системы, карманные персональные компьютеры (КПК), портативные или настольные компьютеры, цифровые камеры, цифровые устройства записи, цифровые медиапроигрыватели, устройства для видеоигр, консоли для видеоигр, сотовые или спутниковые радиотелефоны, устройства видеоконференцсвязи и пр. Устройства цифрового видео реализуют методы сжатия видео, например, описанные в стандартах, заданных как MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, часть 10, усовершенствованное кодирование видео (AVC), стандарте высокоэффективного кодирования видео (HEVC), в настоящее время находящемся в разработке, и расширениях таких стандартов, для более эффективного осуществления передачи, приема и хранения цифровой видеоинформации.

[0004] Методы сжатия видео включают в себя пространственное предсказание и/или временное предсказание для снижения или устранения избыточности, присущей видеопоследовательностям. Для блочного кодирования видео, кадр видео или слайс (slice) можно разбивать на блоки. Кадр видео альтернативно может именоваться изображением. Каждый блок можно дополнительно делить на более мелкие части. Блоки в интра-кодированном (I) (кодированном с внутренним предсказанием) кадре или слайсе, кодируются с использованием пространственного предсказания в отношении опорных выборок в соседних блоках в одном и том же кадре или слайсе. Блоки в интер-кодированном (P или B) (кодированном с внешним предсказанием) кадре или слайсе могут использовать пространственное предсказание в отношении опорных выборок в соседних блоках в одном и том же кадре или слайсе или временное предсказание в отношении опорных выборок в других опорных кадров. Пространственное или временное предсказание дает в результате блок предсказания для блока, подлежащего кодированию. Остаточные данные представляет пиксельные разности между исходным блоком, подлежащим кодированию, т.е. кодируемым блоком, и блоком предсказания.

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

Сущность изобретения

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

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

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

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

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

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

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

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

[0013] Фиг. 1 - блок-схема, демонстрирующая пример системы кодирования и декодирования видео.

[0014] Фиг. 2 - концептуальная схема, изображающая пример обратных порядков сканирования для кодирования коэффициентов преобразования.

[0015] Фиг. 3 - концептуальная схема, изображающая пример диагонального сканирования по подблокам.

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

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

[0018] Фиг. 6 - концептуальная схема, демонстрирующая пороги кодирования на основе контекста на основании позиции подблока и позиции последнего значимого коэффициента.

[0019] Фиг. 7 - концептуальная схема, демонстрирующая пороги кодирования на основе контекста на основании позиции подблока и позиции последнего значимого коэффициента.

[0020] Фиг. 8 - концептуальная схема, демонстрирующая пример разделения блока 8×8 на 4 подблока 4×4 и контекстного соседства.

[0021] Фиг. 9 - блок-схема, демонстрирующая пример видеокодера.

[0022] Фиг. 10 - блок-схема, демонстрирующая пример видеодекодера.

[0023] Фиг. 11 - блок-схема операций, демонстрирующая пример способа согласно методам этого раскрытия.

[0024] Фиг. 12 - блок-схема операций, демонстрирующая другой пример способа согласно методам этого раскрытия.

[0025] Фиг. 13 - блок-схема операций, демонстрирующая другой пример способа согласно методам этого раскрытия.

Подробное описание

[0026] В целом, в этом раскрытии описаны методы кодирования видеоданных. В частности, в этом раскрытии описаны методы кодирования коэффициентов преобразования в процессе кодирования и/или декодирования видео.

[0027] Информация уровня (например, абсолютное значение и знак) для коэффициентов преобразования обычно энтропийно кодируется одним из двух путей. Некоторые бины информации уровня кодируются с адаптивной контекстной моделью (например, с контекстно-адаптивным двоичным арифметическим кодированием (CABAC)). Другие бины информации уровня кодируются в режиме обхода с фиксированными моделями равной вероятности (например, экспоненциальным голомбовым кодером или кодером Голомба-Райса). Было установлено, что адаптивное кодирование бинов на основе контекста, несмотря на повышение эффективности использования полосы, является одним из главных узких мест энтропийного кодирования.

[0028] Ввиду этого недостатка, это раскрытие представляет методы повышения пропускной способности CABAC. В частности, в некоторых примерах, в этом раскрытии предлагается методы повышения пропускной способности CABAC путем снижения количества адаптивно-контекстно-кодированных бинов и увеличения количества бинов, кодированных в режиме обхода.

[0029] На фиг. 1 показана блок-схема, демонстрирующая пример системы 10 кодирования и декодирования видео, которая может быть выполнена с возможностью использования методов кодирования коэффициентов преобразования в соответствии с примерами этого раскрытия. Как показано на фиг. 1, система 10 включает в себя устройство-источник 12, которое передает кодированное видео на устройство 14 назначения по каналу 16 связи. Кодированные видеоданные также могут сохраняться на запоминающем носителе 34 или файловом сервере 36, и, при желании, устройство 14 назначения может обращаться к ним. При осуществлении сохранения на запоминающий носитель или файловый сервер, видеокодер 20 может передавать кодированные видеоданные на другое устройство, например, сетевой интерфейс, компакт-диск (CD), устройство записи или штамповки дисков Blu-ray или цифровых видеодисков (DVD), или другие устройства, для сохранения кодированных видеоданных на запоминающий носитель. Аналогично, устройство, отдельное от видеодекодера 30, например, сетевой интерфейс, устройство чтения CD или DVD и т.п., может извлекать кодированные видеоданные из запоминающего носителя и направлять извлеченные данные на видеодекодер 30.

[0030] Устройство-источник 12 и устройство 14 назначения могут содержать любое из разнообразных устройств, включая настольные компьютеры, компьютеры-ноутбуки (т.е. портативные компьютеры), планшетные компьютеры, телевизионные приставки, телефонные трубки, например, так называемые “смартфоны”, телевизоры, камеры, устройства отображения, цифровые медиапроигрыватели, консоли для видеоигр, и т.п. Во многих случаях, такие устройства могут быть оборудованы для беспроводной связи. Следовательно, канал 16 связи может содержать беспроводной канал, проводной канал или комбинацию беспроводного и проводного каналов, пригодных для передачи кодированных видеоданных. Аналогично, устройство 14 назначения может обращаться к файловому серверу 36 посредством любого стандартного соединения с возможностью передачи данных, включая интернет-соединение. Оно может включать в себя беспроводной канал (например, соединение Wi-Fi), проводное соединение (например, DSL, кабельный модем, и т.д.), или их комбинацию, которая пригодна для осуществления доступа к кодированным видеоданным, хранящимся на файловом сервере.

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

[0032] В примере, показанном на фиг. 1, устройство-источник 12 включает в себя источник 18 видео, видеокодер 20, модулятор/демодулятор 22 и передатчик 24. В устройстве-источнике 12, источник 18 видео может включать в себя такой источник, как устройство захвата видео, например, видеокамеру, архив видеозаписей, содержащий ранее отснятое видео, интерфейс видеоподачи для приема видео от поставщика видеоконтента, и/или систему компьютерной графики для генерации данных компьютерной графики в качестве исходного видео, или комбинацию таких источников. В порядке одного примера, если источником 18 видео является видеокамера, устройство-источник 12 и устройство 14 назначения могут образовывать так называемые камерофоны или видеотелефоны. Однако методы, описанные в этом раскрытии, можно применять к кодированию видео в целом и можно применять к беспроводным и/или проводным приложениям.

[0033] Захваченное, предварительно захваченное или создаваемое на компьютере видео может кодироваться видеокодером 20. Кодированная видеоинформация может модулироваться модемом 22 согласно стандарту связи, например, протоколу проводной или беспроводной связи, и передаваться на устройство 14 назначения через передатчик 24. Модем 22 может включать в себя различные смесители, фильтры, усилители или другие компоненты, предназначенные для модуляции сигнала. Передатчик 24 может включать в себя схемы, предназначенные для передачи данных, включая усилители, фильтры и, в случае беспроводной связи, одну или более антенн.

[0034] Захваченное, предварительно захваченное или создаваемое на компьютере видео, которое кодируется видеокодером 20, также могут сохраняться на запоминающий носитель 34 или файловый сервер 36 для дальнейшего потребления. Запоминающий носитель 34 может включать в себя диски Blu-ray, DVD, CD-ROM, флэш-память или любые другие пригодные цифровые запоминающие носители для сохранения кодированного видео. Затем устройство 14 назначения может обращаться к кодированному видео, хранящемуся на запоминающем носителе 34, для декодирования и воспроизведения. Хотя это не показано на фиг. 1, в некоторых примерах, запоминающий носитель 34 и/или файловый сервер 36 может сохранять выходной сигнал передатчика 24.

[0035] Файловый сервер 36 может быть сервером любого типа, способным хранить кодированное видео и передавать этот кодированное видео на устройство 14 назначения. Пример файловых серверов включают в себя веб-сервер (например, для веб-сайта), FTP-сервер, устройства сетевого хранения (NAS), локальный дисковод, или устройство любого другого типа, способное хранить кодированные видеоданные и передавать их на устройство назначения. Передача кодированных видеоданных с файлового сервера 36 может быть потоковой передачей, загрузочной передачей или их комбинацией. Устройство 14 назначения может обращаться к файловому серверу 36 посредством любого стандартного соединения с возможностью передачи данных, включая интернет-соединение. Оно может включать в себя беспроводной канал (например, соединение Wi-Fi), проводное соединение (например, DSL, кабельный модем, Ethernet, USB, и т.д.), или их комбинацию, которая пригодна для осуществления доступа к кодированным видеоданным, хранящимся на файловом сервере.

[0036] Устройство 14 назначения, в примере, показанном на фиг. 1, включает в себя приемник 26, модем 28, видеодекодер 30, и устройство 32 отображения. Приемник 26 устройства 14 назначения принимает информацию по каналу 16, и модем 28 демодулирует информацию для формирования демодулированного битового потока для видеодекодера 30. Информация, передаваемая по каналу 16, может включать в себя различную синтаксическую информацию, генерируемую видеокодером 20, для использования видеодекодером 30 при декодировании видеоданных. Такой синтаксис также может быть включен с кодированными видеоданными, хранящимися на запоминающем носителе 34 или файловом сервере 36. Каждый из видеокодера 20 и видеодекодера 30 может входить в состав соответствующего кодера-декоодера (кодека) который способен кодировать или декодировать видеоданные.

[0037] Устройство 32 отображения может быть встроено в устройство 14 назначения или быть внешним по отношению к нему. В некоторых примерах, устройство 14 назначения может включать в себя интегрированное устройство отображения и также может быть выполнено с возможностью сопрягаться с внешним устройством отображения. В других примерах, устройство 14 назначения может быть устройством отображения. В целом, устройство 32 отображения отображает декодированные видеоданные пользователю и может содержать любое из различных устройств отображения, например, жидкокристаллический дисплей (ЖКД), плазменный дисплей, органо-светодиодный (ОСИД) дисплей или другой тип устройства отображения.

[0038] В примере, показанном на фиг. 1, канал 16 связи может содержать любую беспроводную или проводную среду связи, например радиочастотный (РЧ) спектр или одну или более физических линий передачи, или любую комбинацию беспроводных и проводных сред передачи данных. Канал 16 связи может составлять часть сети с коммутацией пакетов, например, локальной сети, широкомасштабной сети или глобальной сети, например, интернета. Канал 16 связи, в общем случае, представляет любую пригодную среду связи, или совокупность разных сред связи, для передачи видеоданных от устройства-источника 12 на устройство 14 назначения, включая любую пригодную комбинацию проводных или беспроводных сред передачи данных. Канал 16 связи может включать в себя маршрутизаторы, коммутаторы, базовые станции или любое другое оборудование, которое может быть полезно для способствования связи от устройства-источника 12 на устройство 14 назначения.

[0039] Видеокодер 20 и видеодекодер 30 могут действовать согласно стандарту сжатия видео, например, стандарту высокоэффективного кодирования видео (HEVC), в настоящее время находящемуся в разработке организациями объединенной команды по сотрудничеству в области кодирования видео (JCT-VC) группы экспертов по кодированию видео (VCEG) ITU-T и группы экспертов по движущимся изображениям (MPEG) ISO/IEC. Последний рабочий проект (WD) HEVC описан в документе JCTVC-I1003, Bross et al., “High efficiency video coding (HEVC) text specification draft 9,” Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, ниже именуемый HEVC WD7, доступен по адресу http://phenix.int-evry.fr/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I1003-v6.zip.

[0040] Альтернативно, видеокодер 20 и видеодекодер 30 могут действовать согласно другим собственным или промышленным стандартам, например, стандарту ITU-T H.264, альтернативно именуемому MPEG 4, часть 10, усовершенствованного кодирования видео (AVC), или расширениям таких стандартов. Однако методы этого раскрытия не ограничиваются никаким конкретным стандартом кодирования. Другие примеры включают в себя MPEG-2 и ITU-T H.263.

[0041] Хотя это не показано на фиг. 1, в некоторых аспектах, каждый из видеокодера 20 и видеодекодера 30 может быть объединен с аудиокодером и декодером и может включать в себя надлежащие блоки мультиплексирования/демультиплексирования, или другое оборудование и программное обеспечение, для обработки кодирования аудио и видео в общем потоке данных или отдельных потоках данных. Если применимо, в некоторых примерах, блоки мультиплексирования/демультиплексирования могут отвечать протоколу мультиплексора ITU H.223 или другим протоколам, например протоколу пользовательских дейтаграмм (UDP).

[0042] Каждый из видеокодера 20 и видеодекодера 30 можно реализовать в виде одного или более микропроцессоров, цифровых сигнальных процессоров (DSP), специализированных интегральных схем (ASIC), вентильных матриц, программируемых пользователем (FPGA), дискретной логики, программного обеспечения, аппаратного обеспечения, программно-аппаратного обеспечения или их комбинаций. Когда методы реализуются частично в программном обеспечении, устройство может хранить инструкции для программного обеспечения на пригодном, некратковременном компьютерно-читаемом носителе и выполнять инструкции аппаратными средствами с использованием одного или более процессоров для осуществления методов этого раскрытия. Каждый из видеокодера 20 и видеодекодера 30 может быть включен в один или более кодеров или декодеров, любой из которых может входить в состав комбинированного кодера/декодера (кодека) в соответствующем устройстве.

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

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

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

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

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

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

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

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

[0051] JCT-VC работает над развитием стандарта HEVC, например, описанного в рассмотренном выше HEVC WD7. Работы по стандартизации HEVC основаны на развитии модели видеокодировочного устройства, именуемой испытательной моделью HEVC (HM). HM предусматривает несколько дополнительных возможностей устройств кодирования видео относительно относительно существующих устройств согласно, например, ITU-T H.264/AVC. Например, в то время как H.264 обеспечивает девять режимов кодирования с интра-предсказанием, HM может обеспечивать целых тридцать три режима кодирования с интра-предсказанием. В следующем разделе будут более подробно рассмотрены некоторые аспекты HM.

[0052] Для кодирования видео согласно стандарту HEVC, в настоящее время находящемуся в разработке, кадр видео можно разбивать на единицы кодирования. Единица кодирования (CU), в общем случае, означает область изображения, которая служит основной единицей, к которой различные инструменты кодирования применяются для сжатия видео. CU обычно имеет компоненту яркости, обозначенную как Y, и две компоненты цветности, обозначенные как U и V. В зависимости от формата дискретизации видео, размер компонент U и V, в отношении количества выборок, может быть равен размеру компоненты Y или отличаться от него.

[0053] CU обычно является квадратной и может рассматриваться по аналогии с так называемым макроблоком, например, согласно другим стандартам кодирования видео, например ITU-T H.264. Кодирование согласно некоторым из предложенных в настоящее время аспектов развивающегося стандарта HEVC будет описано в этой заявке в целях иллюстрации. Однако методы, описанные в этом раскрытии, могут быть полезны для других процессов кодирования видео, например, заданных согласно H.264 или другому стандарту или собственным процессам кодирования видео.

[0054] Согласно HM, CU может включать в себя одну или более единиц предсказания (PU) и/или одну или более единиц преобразования (TU). Данные синтаксиса в битовом потоке могут задавать наибольшую единицу кодирования (LCU), которая является наибольшей CU в отношении количества пикселей. В целом, CU служит цели, аналогичной цели макроблока H.264, за исключением того, что CU не имеет различия в размере. Таким образом, CU можно разбивать на под-CU. В целом, ссылки в этом раскрытии на CU могут означать наибольшую единицу кодирования изображения или под-CU LCU. LCU можно разбивать на под-CU, и каждую под-CU можно дополнительно разбивать на под-CU. Данные синтаксиса для битового потока могут задавать, сколько раз максимально можно разбивать LCU, то есть глубину CU. Соответственно, битовый поток также может задавать наименьшую единицу кодирования (SCU). Это раскрытие также использует термин “блок” или “участок” для обозначения любой из CU, PU или TU. В целом, “участок” может означать любой поднабор кадра видео.

[0055] LCU может быть связана со структурой данных квадродерева. В целом, структура данных квадродерева включает в себя по одному узлу на CU, где корневой узел соответствует LCU. Если CU разбивается на четыре под-CU, узел, соответствующая CU, включает в себя четыре краевых узла, каждый из которых соответствует одной из под-CU. Каждый узел структуры данных квадродерева может обеспечивать данные синтаксиса для соответствующей CU. Например, узел в квадродереве может включать в себя флаг разбиения, указывающий, разбита ли CU, соответствующая узлу, на под-CU. Элементы синтаксиса для CU можно задавать рекурсивно, и могут зависеть от того, разбита ли CU на под-CU. Если CU не подлежит дальнейшему разбиению, она называется краевой CU. В этом раскрытии, 4 под-CU краевой CU также будут именоваться краевыми CU, несмотря на отсутствие явного разбиения исходной краевой CU. Например, если CU размером 16×16 не подлежит дальнейшему разбиению, четыре под-CU 8×8 также будут именоваться краевыми CU, хотя CU 16×16 никогда не разбивалась.

[0056] Краевая CU может включать в себя одну или более единиц предсказания (PU). В целом, PU представляет всю соответствующую CU или ее участок и может включать в себя данные для извлечения опорной выборки для PU. Например, когда PU кодируется в режиме интер-предсказания, PU может включать в себя данные, задающие вектор движения для PU. Данные, задающие вектор движения, могут описывать, например, горизонтальную компоненту вектора движения, вертикальную компоненту вектора движения, разрешение для вектора движения (например, точность в четверть пикселя или точность в одну восьмую пикселя), опорный кадр, на который указывает вектор движения, и/или опорный список (например, список 0 или список 1) для вектора движения. Данные для краевой CU, задающей PU, также могут описывать, например, разбиение CU на одну или более PU. Режимы разбиения могут отличаться в зависимости от того, является ли CU некодированной, кодированной в режиме интра-предсказания, или кодированной в режиме интер-предсказания. Для интра-кодирования, PU может обрабатываться как краевая единица преобразования, описанная ниже.

[0057] Перспективный стандарт HEVC допускает преобразования согласно единицам преобразования (TU), которые могут различаться для разных CU. Размеры TU обычно зависят от размера PU в данной CU, заданный для разбитой LCU, хотя это не всегда может быть. TU обычно имеют такой же размер, как PU или меньший. В некоторых примерах, остаточные выборки, соответствующие CU, могут подразделяться на меньшие единицы с использованием структуры квадродерева, известной как "остаточное квадродерево" (RQT). Краевые узлы RQT могут именоваться единицами преобразования (TU). Разностные значения пикселей, связанных с TU, можно преобразовывать для формирования коэффициентов преобразования, которые можно квантовать.

[0058] В целом, PU означает данные, связанные с процессом предсказания. Например, когда PU кодируется в режиме интра-предсказания, PU может включать в себя данные, описывающие режим интра-предсказания для PU. В порядке другого примера, когда PU кодируется в режиме интер-предсказания, PU может включать в себя данные, задающие вектор движения для PU.

[0059] В целом, TU используется для процессов преобразования и квантования. Данная CU, имеющая одну или более PU, также может включать в себя одну или более единиц преобразования (TU). После предсказания, видеокодер 20 может вычислять остаточные значения из видеоблока, идентифицированного узлом кодирования в соответствии с PU. Затем узел кодирования обновляется для ссылки на остаточные значения, а не на исходный видеоблок. Остаточные значения содержат разностные значения пикселей, которые можно преобразовывать в коэффициенты преобразования, квантовать и сканировать с использованием преобразований и другой информации преобразования, указанной в TU, для формирования сериализованных коэффициентов преобразования для энтропийного кодирования. Узел кодирования может вновь обновляться для обращения к этим сериализованным коэффициентам преобразования. Это раскрытие обычно использует термин “видеоблок” для обозначения узла кодирования CU. В некоторых особых случаях, это раскрытие также может использовать термин “видеоблок” для обозначения блока дерева, т.е. LCU или CU, которая включает в себя узел кодирования и PU и TU.

[0060] Видеопоследовательность обычно включает в себя последовательность кадров видео или изображений. Группа изображений (GOP), в общем случае, содержит последовательность из одного или более видеоизображений. GOP может включать в себя данные синтаксиса в заголовке GOP, заголовке одного или более изображений, или в другом месте, которые описывает несколько изображений, включенных в GOP. Каждый слайс изображения может