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

Иллюстрации

Показать все

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

Реферат

[0001] Эта заявка испрашивает приоритет по предварительной заявке США № 61/588454, поданной 19 января, 2012 года, предварительной заявке США № 61/593015, поданной 31 января, 2012 года, и предварительной заявке США № 61/620339, поданной 4 апреля, 2012 года, все содержимое каждой из которых включено в настоящий документ посредством ссылки.

ОБЛАСТЬ ТЕХНИКИ

[0002] Это раскрытие относится к кодированию видео и, более конкретно, к удалению блочности видеоданных.

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

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

[0004] Способы сжатия видео выполняют пространственное (внутри изображения) предсказание и/или временное (между изображениями) предсказание для снижения или удаления избыточности, свойственной видеопоследовательностям. Для блочного кодирования видео, слайс (вырезка) (т.е. видеокадр или участок видеокадра) видео может быть разбит на видеоблоки, которые могут быть также названы древовидными блоками, единицами кодирования (CU) и/или узлами кодирования. Видеоблоки в кодированном посредством внутреннего кодирования (I) слайсе изображения кодируются с использованием пространственного предсказания относительно опорных выборок в соседних блоках в том же самом изображении. Видеоблоки в кодированном посредством внешнего кодирования (P или B) слайсе изображения могут использовать пространственное предсказание относительно опорных выборок в соседних видеоблоках в том же самом изображении или временное предсказание относительно опорных выборок в других опорных изображениях. Изображения могут быть названы кадрами, и опорные изображения могут быть названы опорными кадрами.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[0024] Фиг. 8 является функциональной схемой, иллюстрирующей примерную операцию кодирования параметров фильтра удаления блочности для текущего слайса видео в наборе параметров изображения (PPS), которые могут быть переопределены посредством параметров фильтра удаления блочности в заголовке слайса.

[0025] Фиг. 9 является функциональной схемой, иллюстрирующей примерную операцию декодирования параметров фильтра удаления блочности для текущего слайса видео в наборе параметров изображения (PPS), которые могут быть переопределены посредством параметров фильтра удаления блочности в заголовке слайса.

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

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

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

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

[0029] В другом примере, линия 16 связи может соответствовать носителю информации, который может хранить кодированные видеоданные, сгенерированные устройством-источником 12, и к которому устройство-адресат 14 может осуществить доступ по мере необходимости посредством доступа к диску или доступа к карте. Носитель информации может включать в себя любое из разнообразия носителей данных с локальным доступом, такие как диски Blu-ray, DVD, CD-ROM, флэш-память или любые другие подходящие цифровые носители данных для хранения кодированных видеоданных. В дополнительном примере, линия 16 связи может соответствовать файловому серверу или другому промежуточному устройству хранения, которое может удерживать кодированное видео, сгенерированное устройством-источником 12, и к которому устройство-адресат 14 может осуществить доступ по мере необходимости посредством потоковой передачи или загрузки. Файловым сервером может быть любой тип сервера, способный хранить кодированные видеоданные и передавать эти кодированные видеоданные на устройство-адресат 14. Примерные файловые серверы включают в себя веб-серверы (например, для веб-сайта), FTP-серверы, устройства подключаемых к сети хранилищ (NAS) или локальные дисковые накопители. Устройство-адресат 14 может осуществлять доступ к кодированным видеоданным посредством любого стандартного информационного соединения, включающего в себя Интернет-соединение. Оно может включать в себя беспроводной канал (например, Wi-Fi соединение), проводное соединение (например, DSL, кабельный модем, и т.д.), или их комбинацию, которая подходит для осуществления доступа к кодированным видеоданным, хранящимся на файловом сервере. Передача кодированных видеоданных из файлового сервера может быть потоковой передачей, передачей на загрузку или их комбинацией.

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

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

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

[0033] Устройство-адресат 14 включает в себя входной интерфейс 28, видеодекодер 30 и устройство 32 отображения. В некоторых случаях, входной интерфейс 28 может включать в себя приемник и/или модем. Входной интерфейс 28 устройства-адресата 14 принимает кодированные видеоданные по линии 16 связи. Кодированные видеоданные, пересылаемые по линии 16 связи, или предоставляемые на носителе данных, могут включать в себя разнообразие синтаксических элементов, сгенерированных видеокодером 20 для использования видеодекодером, таким как видеодекодер 30, при декодировании видеоданных. В такие синтаксические элементы могут быть включены кодированные видеоданные, передаваемые по среде связи, хранящиеся на носителе информации или хранящиеся на файловом сервере.

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

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

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

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

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

[0039] В общем, рабочая модель HM описывает, что видеокадр или изображение может быть разделено на последовательность древовидных блоков или наибольших единиц кодирования (LCU), которые включают в себя как выборки яркости, так и выборки цветности. Древовидный блок имеет аналогичную цель, как и макроблок по стандарту H.264. Слайс включает в себя число последовательных древовидных блоков в порядке кодирования. Видеокадр или изображение может быть разбито на один или более слайсов. Каждый древовидный блок может быть разбит на единицы кодирования (CU) согласно дереву квадрантов. Например, древовидный блок, как корневой узел дерева квадрантов, может быть разбит на четыре дочерних узла, и каждый дочерний узел может в свою очередь быть родительским узлом и быть разбит на другие четыре дочерних узла. Последний, неразбитый дочерний узел, как концевой узел дерева квадрантов, содержит узел кодирования, т.е., кодированный видеоблок. Синтаксические данные, ассоциированные с кодированным битовым потоком, могут задать максимальное число раз, которое может быть разбит древовидный блок, и могут также задать минимальный размер узлов кодирования.

[0040] CU включает в себя узел кодирования и единицы предсказания (PU) и единицы преобразования (TU), ассоциированные с узлом кодирования. Размер CU соответствует размеру узла кодирования. Размер CU может ранжироваться от 8x8 пикселей до размера древовидного блока с максимумом из 64x64 пикселей или больше. Каждая CU может содержать одну или более PU и одну или более TU. Синтаксические данные, ассоциированные с CU, могут описывать, например, разбиение CU на одну или более PU. Режимы разбиения могут различаться между тем, кодирована ли CU в режиме пропуска или прямом режиме, кодирована в режиме внутреннего предсказания, или кодирована в режиме внешнего предсказания. PU могут быть разбиты, чтобы быть квадратной или неквадратной формы. Синтаксические данные, ассоциированные с CU, могут также описывать, например, разбиение CU на одну или более TU согласно дереву квадрантов. TU может быть разбита, чтобы быть квадратной или неквадратной формы.

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

[0042] В общем, TU используется для процессов преобразования и квантования. CU, имеющая одну или более PU, может также включать в себя одну или более TU. Вслед за предсказанием, видеокодер 20 может вычислить остаточные значения, соответствующие PU. Остаточные значения содержат значения разностей пикселей, которые могут быть преобразованы в коэффициенты преобразования, квантованы, и просканированы с использованием TU, чтобы произвести последовательные коэффициенты преобразования для энтропийного кодирования. Это раскрытие обычно использует термин ″видеоблок″ для ссылки на узел кодирования CU. В некоторых конкретных случаях, это раскрытие может также использовать термин ″видеоблок″ для ссылки на древовидный блок, т.е., LCU, или CU, которая включает в себя узел кодирования PU и TU.

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

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

[0045] В этом раскрытии, ″N×N″ и ″N на N″ могут быть использованы взаимозаменяемо для ссылки на размеры пикселей видеоблока в том, что касается вертикальных и горизонтальных размеров, например, 16×16 пикселей или 16 на 16 пикселей. В общем, блок 16×16 будет иметь 16 пикселей в вертикальном направлении (y=16) и 16 пикселей в горизонтальном направлении (x=16). Аналогично, блок N×N, в общем, имеет N пикселей вертикальном направлении и N пикселей в горизонтальном направлении, где N представляет собой неотрицательное целое зн