Контекстная оптимизация для кодирования положения последнего значимого коэффициента

Иллюстрации

Показать все

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

Реферат

РОДСТВЕННЫЕ ЗАЯВКИ

Настоящая заявка испрашивает приоритет:

Предварительной заявки на патент США № 61/557,317, поданной 8 ноября 2011 года;

Предварительной заявки на патент США № 61/561,909, поданной 20 ноября 2011 года;

Предварительной заявки на патент США № 61/588,579, поданной 19 января 2012 года; и

Предварительной заявки на патент США № 61/596,049, поданной 7 февраля 2012 года, каждая из которых включена в настоящий документ во всей своей полноте посредством ссылки.

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

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

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

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

Способы сжатия видеосигнала выполняют пространственное (внутри изображения) предсказание и/или временное (между изображениями) предсказание для сокращения или устранения избыточности, присущей для последовательностей видеокадров. Для кодирования видеосигналов на основе блоков, видеослайс (то есть, видеокадр или часть видеокадра) может быть разделен на видеоблоки, которые также называют древовидными блоками, элементами (CU) кодирования и/или узлами кодирования. Видеоблоки в слайсе (I) изображения, подвергнутом интра-кодированию, кодируются с использованием пространственного предсказания по отношению к опорным выборкам в соседних блоках в том же изображении. Видеоблоки в слайсе изображения (Р или В), подвергнутом интер-кодированию, могут использовать пространственное предсказание по отношению к опорным выборкам в соседних блоках в том же изображении или временное предсказание по отношению к опорным выборкам в других опорных изображениях. Изображения называются кадрами, и опорные изображения называются опорными кадрами.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Фиг. 2A-2D изображают примеры порядков сканирования величины коэффициента.

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

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

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

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

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

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

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

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ

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

Настоящее изобретение описывает способы кодирования одного или нескольких синтаксических элементов, которые указывают положение последнего значимого коэффициента. В некоторых примерах, все или часть синтаксических элементов, которые указывают положение последнего значимого коэффициента, могут быть энтропийно кодированы в соответствии с любым из следующих способов: контекстно-зависимым адаптивным кодированием (CAVLC) с переменной длиной кодового слова, контекстно-зависимым адаптивным двоичным арифметическим кодированием (CAВАC), энтропийным кодированием (PIPE) с разделением интервала вероятности или тому подобным. В способах энтропийного кодирования, которые используют двоичные индексы (которые также называют «бинами» или «индексами бина») и назначения контекста, общее назначение контекста может быть использовано для бинов для блоков (TU) преобразования различных размеров и/или компонентов различных цветов. Таким образом, общее число контекстов может быть сокращено. При сокращении общего числа контекстов, видеокодер и/или видеодекодер могут более эффективно кодировать синтаксические элементы, которые указывают положение последнего значимого коэффициента, так как нужно хранить меньше контекстов.

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

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

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

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

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

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

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

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

Устройство 32 отображения может быть интегрировано, либо быть внешним по отношению к устройству 14 назначения. В некоторых примерах, устройство 14 назначения может включать в себя интегрированное устройство отображения и также быть выполнено с возможностью взаимодействовать с внешним устройством отображения. В других примерах, устройство 14 назначения может быть устройством отображения. В общем, устройство 32 отображения отображает декодированные видеоданные пользователю и может содержать любое из устройств отображения, как, например, жидкокристаллический дисплей (LCD), плазменный дисплей, дисплей на органических светодиодах (OLED) или другой тип устройства отображения.

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

Видеокодер 20 и видеодекодер 30 могут функционировать в соответствии со стандартом сжатия видеосигнала, как, например, стандарт высокоэффективного кодирования (HEVC) видеосигнала, находящийся в настоящее время в разработке Совместной Кооперативной Группой (JCT-VC) по Кодированию видеосигнала Экспертной группы (VCEG) по Видеокодированию ITU-T и Экспертной группы (MPEG) по движущемуся изображению ISO/IEC, и может соответствовать тестовой модели (HM) HEVC. Видеокодер 20 и видеодекодер 30 могут функционировать в соответствии с последней версией стандарта HEVC, называемой «Рабочая версия 5 HEVC» или «WD5», которая описана в документе JCTVC-G1103, Бросс и другие, «WD5: Рабочая версия 5 Высокоэффективного кодирования (HEVC) видеосигнала», Совместная группа (JCT-VC) по видеокодированию ITU-T SG16 WP3 и ISO/IEC JTC1/SC29/WG11, 7-я встреча: Женева, Швейцария, Ноябрь, 2012 год. Дополнительно, другая последняя рабочая версия HEVC, Рабочая версия 7, описана в документе HCTVC-I1003, Бросс и другие, «Текстовая версия 7 спецификации Высокоэффективного кодирования (HEVC) видеосигнала», Совместная группа (JCT-VC) по видеокодированию ITU-T SG16 WP3 и ISO/IEC JTC1/SC29/WG11, 9ая встреча: Женева, Швейцария, 27 апреля - 7 мая, 2012 год. Альтернативно, видеокодер 20 и видеодекодер 30 могут функционировать в соответствии с другими частными или промышленными стандартами, как, например, стандарт ITU-T H.264, альтернативно называемый как MPEG-4, часть 10, Продвинутое Кодирование (AVC) Видеосигнала, либо расширениями таких стандартов. Способы настоящего изобретения, однако, не ограничены любым конкретным стандартом кодирования. Другие примеры включают в себя MPEG-2 и ITU-T H.263.

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

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

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

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

Для кодирования видеосигнала в соответствии со стандартом HEVC, который находится в настоящее время в разработке, видеокадр может быть разделен на элементы кодирования. Элемент (CU) кодирования, в общем, относится к участку изображения, который служит в качестве базового элемента, к которому применяются различные инструменты кодирования для сжатия видеосигнала. CU, как правило, имеет компонент яркости, обозначаемый как Y, и два компонента цветности, обозначаемые как U и V. В зависимости от формата видеодискретизации, размер компонентов U и V, с точки зрения числа выборок, может быть тем же или отличаться от размера компонента Y. CU, как правило, квадратный, и его можно рассматривать как похожий на так называемый макроблок, например, по другим стандартам кодирования видеосигнала, как, например, ITU-T H.264. Кодирование в соответствии с некоторыми из предлагаемых аспектов развивающегося стандарта HEVC будет описано в настоящей заявке для целей иллюстрации. Однако способы, описанные в настоящем изобретении, могут быть использованы для других процессов кодирования видеосигнала, как, например, определенные в соответствии с Н.264 или другим стандартом или частными процессами кодирования видеосигнала. Усилия по стандартизации HEVC основаны на модели устройства кодирования видеосигнала, называемой тестовая модель (НМ) HEVC. НМ предполагает несколько способностей устройств кодирования видеосигнала по сравнению с другими устройствами в соответствии, например, с ITU-T H.264/AVC. Например, в то время как Н.264 обеспечивает девять режимов кодирования с интра-предсказанием, НМ обеспечивает тридцать четыре режима кодирования с интра-предсказанием.

Видеопоследовательность обычно включает в себя последовательность видеокадров или изображений. Группа (GOP) изображений, в общем, содержит последовательность одного или нескольких видеоизображений. GOP может включать в себя синтаксические данные в заголовке GOP, заголовке одного или нескольких изображений или еще где-либо, которые описывают число изображений, включенных в GOP. Каждый слайс изображения может включать в себя синтаксические данные слайса, которые описывают режим кодирования для соответствующего слайса. Видеокодер 20, как правило, функционирует на видеоблоках внутри отдельных видеослайсов, чтобы кодировать видеоданные. Видеоблок может включать в себя один или несколько TU или PU, которые соответствуют узлу кодирования внутри CU. Видеоблоки могут иметь фиксированные или изменяемые размеры и могут отличаться в размерах в соответствии с конкретным стандартом кодирования.

В соответствии с НМ, CU может включать в себя один или несколько элементов (PU) предсказания и/или один или несколько элементов (TU) преобразования. Синтаксические данные внутри двоичного потока данных могут определять наибольший элемент (LCU) кодирования, который является наибольшим CU по отношению к числу пикселов. В общем, CU предназначен для того же, что и макроблок Н.264, за исключением того, что CU не имеет отличия в размере. Таким образом, CU может быть разделен на суб-CU. В общем, ссылки в настоящем изобретении на CU могут относиться к наибольшему элементу кодирования изображения или суб-CU LCU. LCU может быть разделен на суб-CU, и каждый суб-CU может быть дополнительно разделен на суб-CU. Синтаксические данные для двоичного потока данных могут определять максимальное число раз, которое может быть разделен LCU, называемое глубиной CU. Соответственно, поток двоичных данных может также определять наименьший элемент (SCU) кодирования. Настоящее изобретение также использует термин «блок» или «часть» для ссылки на любой из CU, PU или TU. В общем, «часть» может относиться к любому из подгруппы видеокадра.

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 никогда не был разделен.

Более того, TU концевых CU также могут быть связаны с соответственными структурами данных дерева квадратов. То есть, концевой CU может включать в себя дерево квадратов, указывающее, как разделен концевой CU на TU. Настоящее изобретение ссылается на дерево квадратов, указывающее, как LCU разделен в качестве дерева квадратов CU, и дерево квадратов, указывающее, как концевой CU разделен на TU в качестве дерева квадратов TU. Корневой узел дерева квадратов TU, в общем, соответствует концевому CU, в то время как корневой узел дерева квадратов CU, в общем, соответствует LCU. TU дерева квадратов TU, которые не разделены, называются концевыми TU.

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

В качестве примера, НМ поддерживает предсказание в различных размерах PU. Предполагая, что размер конкретного CU равен 2N×2N, НМ поддерживает интра-предсказание в размерах PU 2N×2N или N×N, и интер-предсказание в симметричных размерах PU 2N×2N, 2N×N, N×2N или N×N. НМ также поддерживает асимметричное разделение для интер-предсказания в размерах PU 2N×nU, 2N×nD, nL×2N и nR×2N. В асимметричном разделении, одно направление CU не разделяется, в то время как другое направление разделяется на 25% и 75%. Часть CU, соответствующая 25% разделению, указывается «n», за которым следует указание «Вверх», «Вниз», «Влево» или «Вправо». Таким образом, например, «2N×nU» относится к 2N×2N CU, который разделен горизонтально с 2N×0,5N PU сверху и 2N×1,5N PU снизу.

В настоящем изобретении, «N×N» и «N на N» могут быть использованы взаимозаменяемо для ссылки на размеры пикселов видеоблока с учетом вертикальных и горизонтальных размеров, например, 16×16 пикселов или 16 на 16 пикселов. В общем, блок 16×16 будет иметь 16 пикселов в вертикальном направлении (у=16) и 16 пикселов в горизонтальном направлении (х=16). Подобным образом, блок N×N будет иметь N пикселов в вертикальном направлении и N пикселов в горизонтальном направлении, где N представляет собой неотрицательную целую величину. Пикселы в блоке могут быть упорядочены в строки и столбцы. Более того, блоки необязательно должны иметь одинаковое число пикселов в горизонтальном направлении и вертикальном направлении. Например, блоки могут содержать N×M пикселов, где М необязательно равно N.

Для кодирования блока (например, элемента предсказания видеоданных), сперва извлекается предиктор для блока. Предиктор, также называемый предсказательным блоком, может быть извлечен либо с помощью интра-предсказания (I) (то есть, пространственного предсказания), либо интер-предсказания (Р или В) (то есть, временного предсказания). Следовательно, некоторые элементы предсказания могут быть закодированы в интра-режиме (I) с использованием пространственного предсказания по отношению к опорным выборкам в соседних опорных блоках в том же кадре (или слайсе), и другие элементы предсказания могут быть закодированы однонаправленно во интер-режиме (Р) или закодированы двунапра